<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;C04GRHg9fip7ImA9WhBbGEQ.&quot;"><id>tag:blogger.com,1999:blog-5797187</id><updated>2013-05-18T17:45:25.666+02:00</updated><category term="cooking" /><category term="splendia" /><category term="mediawiki" /><category term="bicing" /><category term="podcast" /><category term="4star" /><category term="news" /><category term="C" /><category term="apple" /><category term="softonic" /><category term="development" /><category term="jenkins" /><category term="sphinx" /><category term="perl" /><category term="github" /><category term="fedora" /><category term="conference" /><category term="eeepc" /><category term="mtb" /><category term="C++" /><category term="barcelona" /><category term="travel" /><category term="osm" /><category term="python" /><category term="bikesoup" /><category term="1star" /><category term="thai" /><category term="work" /><category term="hardware" /><category term="restaurants" /><category term="t510" /><category term="linux" /><category term="motorcycle" /><category term="techno" /><category term="theinternet" /><category term="andorra" /><category term="java" /><category term="3star" /><category term="php" /><category term="nyr" /><category term="n79" /><category term="holiday" /><category term="2star" /><category term="music" /><category term="django" /><category term="recipe" /><category term="wikicalendar" /><category term="tape" /><category term="food" /><category term="hobby" /><category term="krass" /><category term="snowboarding" /><category term="symfony" /><category term="open-source" /><title>Christof Damian</title><subtitle type="html">My blog</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://christof.damian.net/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://christof.damian.net/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Christof Damian</name><uri>https://plus.google.com/110460361414656749360</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-cZTbsLHGAZQ/AAAAAAAAAAI/AAAAAAAANmM/iXaCm8k0N7E/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>69</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/cdamian" /><feedburner:info uri="cdamian" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;D0cBSX4zeyp7ImA9WhBbGEU.&quot;"><id>tag:blogger.com,1999:blog-5797187.post-6789663987337949627</id><published>2013-05-18T15:43:00.000+02:00</published><updated>2013-05-18T15:50:58.083+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-18T15:50:58.083+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="open-source" /><category scheme="http://www.blogger.com/atom/ns#" term="development" /><category scheme="http://www.blogger.com/atom/ns#" term="splendia" /><category scheme="http://www.blogger.com/atom/ns#" term="jenkins" /><category scheme="http://www.blogger.com/atom/ns#" term="github" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>A Code Review and Continuous Integration Workflow </title><content type="html">&lt;a href="http://3.bp.blogspot.com/-HCs3RypGfK8/UZeEgE16bTI/AAAAAAAAPyg/G5t2bHovEzU/s1600/PR-screengrab2.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="400" src="http://3.bp.blogspot.com/-HCs3RypGfK8/UZeEgE16bTI/AAAAAAAAPyg/G5t2bHovEzU/s400/PR-screengrab2.png" width="246" /&gt;&lt;/a&gt;As hopefully most people working on software projects nowadays we are writing unit tests and do code reviews.&lt;br /&gt;
&lt;h4&gt;
Work-flow at Splendia&lt;/h4&gt;
As our project is a large PHP site we are using PHPUnit for unit testing and various static code checking tools (checkstyle, phpmd, pdepend, phpcpd) to verify the quality of our code.&lt;br /&gt;
&lt;br /&gt;
All of these are run on our integration branch, whenever a new feature is integrated.&lt;br /&gt;
&lt;br /&gt;
Before this can happen the code will be reviewed by other people in the team and only if there is a consensus it will be merged into the integration branch.&lt;br /&gt;
&lt;br /&gt;
For the code reviews we are using the &lt;a href="https://help.github.com/articles/using-pull-requests"&gt;pull request system of github&lt;/a&gt;. It works very similar to other code review tools, you see a diff view of the changes and are able to add comments to discuss the code.&lt;br /&gt;
&lt;br /&gt;
In these comments we are using a convention of "+1", "-1" and "[B]" to give the pull request a thumbs up, down or mark it as blocked because a critical bug was found. Anyone in the team has a vote and is allowed to discuss any request.&lt;br /&gt;
&lt;br /&gt;
In addition to this the unit tests and some smoke tests will be run on the code of the pull request to avoid merging broken builds. &lt;br /&gt;
&lt;a href="https://wiki.jenkins-ci.org/display/JENKINS/GitHub+pull+request+builder+plugin"&gt;&lt;/a&gt;&lt;br /&gt;
Only if the tests are successful, there are three positive votes in total and no blocker the request will be merged.&lt;br /&gt;
&lt;br /&gt;
In the beginning all of this was done manually. Developers had to run the tests before the created the pull request and only senior developers had the right to merge a pull request. Every couple of hours they would check the list of pull requests and verify that they had enough votes. It was a distraction and also prone to mistakes. &lt;br /&gt;
&lt;br /&gt;
What gave us a big push in productivity was the introduction of two tools to the work-flow.&lt;br /&gt;
&lt;h4&gt;
ghprb&lt;/h4&gt;
First the &lt;a href="https://wiki.jenkins-ci.org/display/JENKINS/GitHub+pull+request+builder+plugin"&gt;GitHub pull request builder plugin&lt;/a&gt;,
 which enables Jenkins to automatically start a job for each pull 
request. It has additional features, like starting another build if more
 commits are added or recognising comments that instruct it to retest or
 white-list people who are allowed to create builds. It is similar to 
the pull request feature of Travis-CI only with the full possibilities 
of Jenkins to your disposal.&lt;br /&gt;
With this we are testing every pull request before it gets merged. We also run a limited set of static code analysis, because we want to keep this build fast to give quick feedback. Currently it takes around seven minutes.&lt;br /&gt;
&lt;h4&gt;
PullRequester / plus-pull&lt;/h4&gt;
The second tool is a simple script which was written by one of our developers and it was called PullRequester. It runs as a cron job and checks whether the pull requests satisfy the +1 and successful test rules. If all is OK it automatically merges it.&lt;br /&gt;
I have reimplemented this script to make it possible to publish it. You can find it under the name &lt;a href="https://github.com/christofdamian/plus-pull"&gt;plus-pull on github&lt;/a&gt;. I have added some more features to make it also useful for open source projects.&lt;br /&gt;
&lt;h4&gt;
Final Words&lt;/h4&gt;
Even though these tools are not magic the increase of our productivity was visible. I account this mostly to way it enabled asynchronous working. No developer has to wait for a senior developer or poke someone to merge his code. As long as he can find three people who agree it will be merged automatically. And as everyone is interested in reviews themselves they tend to happen quickly.&lt;br /&gt;
&lt;br /&gt;
In the screen-shot you can see how this works in practice.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/cdamian/~4/Mgs21Aaz1Fg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://christof.damian.net/feeds/6789663987337949627/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5797187&amp;postID=6789663987337949627" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/6789663987337949627?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/6789663987337949627?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cdamian/~3/Mgs21Aaz1Fg/a-code-review-and-continuous.html" title="A Code Review and Continuous Integration Workflow " /><author><name>Christof Damian</name><uri>https://plus.google.com/110460361414656749360</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-cZTbsLHGAZQ/AAAAAAAAAAI/AAAAAAAANmM/iXaCm8k0N7E/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-HCs3RypGfK8/UZeEgE16bTI/AAAAAAAAPyg/G5t2bHovEzU/s72-c/PR-screengrab2.png" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://christof.damian.net/2013/05/a-code-review-and-continuous.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0MGRXg4eip7ImA9WhBTEE0.&quot;"><id>tag:blogger.com,1999:blog-5797187.post-1711987160351756356</id><published>2013-02-04T20:17:00.000+01:00</published><updated>2013-02-04T20:17:04.632+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-02-04T20:17:04.632+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="softonic" /><category scheme="http://www.blogger.com/atom/ns#" term="splendia" /><category scheme="http://www.blogger.com/atom/ns#" term="work" /><category scheme="http://www.blogger.com/atom/ns#" term="barcelona" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>Splendia</title><content type="html">I must admit that this post comes a bit late. As &lt;a href="http://christof.damian.net/2012/04/leaving-softonic.html"&gt;I have mentioned before&lt;/a&gt;, I have left Softonic last year.&lt;br /&gt;
&lt;br /&gt;
The main reason was that it was too difficult to change anything there and nobody seemed to know what to do about it. This might have changed by know.&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/-5rKdQa4eBqI/URADry_vnJI/AAAAAAAAMrI/lRjmps1QfuA/s1600/Main_Splendia_logo_RGB.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="63" src="http://1.bp.blogspot.com/-5rKdQa4eBqI/URADry_vnJI/AAAAAAAAMrI/lRjmps1QfuA/s320/Main_Splendia_logo_RGB.jpg" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;
After Softonic I started at Splendia, where I am still at. Splendia is a hotel booking website focusing on luxury hotels. The company is much smaller than Softonic in every respect.&lt;br /&gt;
&lt;br /&gt;
What drew me in was that they replaced nearly the whole IT team and replaced it with a much more agile team using technologies and methodologies that are industry standards in most PHP companies.&lt;br /&gt;
The team is also always open for changes to improve the speed of development.&lt;br /&gt;
&lt;br /&gt;
When we arrived the state of the code was pretty bad. How bad? Well, there were zero unit tests at the beginning of 2012 for example.&lt;br /&gt;
&lt;br /&gt;
By now we have a growing test suite, continuously run through Jenkins. We use github for code reviews, vagrant for workspace virtual machines, cucumber for functional tests, puppet for configuration management and composer to pull in various dependencies including symfony components, doctrine and pear libraries.&lt;br /&gt;
&lt;br /&gt;
I will post some more about how we use these in the future.&lt;br /&gt;
&lt;br /&gt;
Other nice perks: the computers are nice with two big screens, you get to install your choice OS as long as it runs vagrant. The office is located in the centre of Barcelona, which gives a better choice of restaurants and shops. I can also park my bike in the office, which allows me to commute every day now (more about this later too).&lt;br /&gt;
&lt;br /&gt;
There are some things I miss about Softonic though (besides the people there): the pretty office, Spanish classes, free coffee, snacks and the cafeteria for my tea time.&lt;br /&gt;
Compared to Softonic the office hours at Splendia are also very rigid, which is annoying.&lt;br /&gt;
&lt;br /&gt;
Well, hopefully more soon...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src="http://feeds.feedburner.com/~r/cdamian/~4/NI2trz7yTrs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://christof.damian.net/feeds/1711987160351756356/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5797187&amp;postID=1711987160351756356" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/1711987160351756356?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/1711987160351756356?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cdamian/~3/NI2trz7yTrs/splendia.html" title="Splendia" /><author><name>Christof Damian</name><uri>https://plus.google.com/110460361414656749360</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-cZTbsLHGAZQ/AAAAAAAAAAI/AAAAAAAANmM/iXaCm8k0N7E/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-5rKdQa4eBqI/URADry_vnJI/AAAAAAAAMrI/lRjmps1QfuA/s72-c/Main_Splendia_logo_RGB.jpg" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://christof.damian.net/2013/02/splendia.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UCR3s9eSp7ImA9WhVXF0o.&quot;"><id>tag:blogger.com,1999:blog-5797187.post-8387437046287108450</id><published>2012-04-18T18:06:00.000+02:00</published><updated>2012-04-18T19:47:46.561+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-04-18T19:47:46.561+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="softonic" /><category scheme="http://www.blogger.com/atom/ns#" term="barcelona" /><title>Leaving Softonic</title><content type="html">&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-MeQiQKdHGEk/T47WoiTEM4I/AAAAAAAAJTc/XT4ns2aChZo/s1600/2012-04-18_16-57-05_299.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img alt="" border="0" height="179" src="http://4.bp.blogspot.com/-MeQiQKdHGEk/T47WoiTEM4I/AAAAAAAAJTc/XT4ns2aChZo/s320/2012-04-18_16-57-05_299.jpg" title="moving on" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;moving on&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
Pretty much exactly &lt;a href="http://christof.damian.net/2010/04/new-job-softonic.html"&gt;two years ago&lt;/a&gt; I started working for Softonic. I changed from the rather small opus5 to what has been the largest company I have worked for so far.&lt;br /&gt;
&lt;br /&gt;
Working in a company of about 250 people with a development team of around 80 people is certainly a different beast. I learned a lot of things especially regarding scrum management and web technologies. I also learned that it is very difficult to change things once something big like this is in motion.&lt;br /&gt;
&lt;br /&gt;
Size also brings nice things, Softonic offers a lot of "google-style" perks, like massages, conference trips, insurance, free fruits, sweets and soft drinks, a very nice office with chill-out room and great views. If you are interested have a look at: &lt;a href="http://careers.softonic.com/"&gt;careers.softonic.com&lt;/a&gt;. It also means that you will always find someone interesting to talk to. &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
But now it is time to move on. I am joining a smaller company with a new team, that I will write about in another post. I will stay in Barcelona though.&lt;br /&gt;
&lt;br /&gt;
I want to thank everyone I worked with at Softonic, especially the brilliant SD team, SEO, the leads, the UK content team (for tea time entertainment) and everyone I chatted to in these years. &lt;br /&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/cdamian/~4/kQ2UVT9Xaew" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://christof.damian.net/feeds/8387437046287108450/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5797187&amp;postID=8387437046287108450" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/8387437046287108450?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/8387437046287108450?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cdamian/~3/kQ2UVT9Xaew/leaving-softonic.html" title="Leaving Softonic" /><author><name>Christof Damian</name><uri>https://plus.google.com/110460361414656749360</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-cZTbsLHGAZQ/AAAAAAAAAAI/AAAAAAAANmM/iXaCm8k0N7E/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-MeQiQKdHGEk/T47WoiTEM4I/AAAAAAAAJTc/XT4ns2aChZo/s72-c/2012-04-18_16-57-05_299.jpg" height="72" width="72" /><thr:total>4</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://christof.damian.net/2012/04/leaving-softonic.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQNR309eSp7ImA9WhRWFU0.&quot;"><id>tag:blogger.com,1999:blog-5797187.post-4812636721797880480</id><published>2012-01-02T13:06:00.000+01:00</published><updated>2012-01-02T13:13:16.361+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-02T13:13:16.361+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="nyr" /><category scheme="http://www.blogger.com/atom/ns#" term="fedora" /><category scheme="http://www.blogger.com/atom/ns#" term="cooking" /><title>2012 New Year's Resolutions</title><content type="html">&lt;a href="http://www.flickr.com/photos/pierrebedat/6612341699/" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;" title="Time Flies by pierre bédat, on Flickr"&gt;&lt;img alt="Time Flies" height="170" src="http://farm8.staticflickr.com/7161/6612341699_693a71d604_m.jpg" width="240" /&gt;&lt;/a&gt;It is that time of the year again where I make up stuff to ignore for the following twelve months. Last year I didn't do it, but this year I will give it another try.&lt;br /&gt;
I has been &lt;a href="http://giorgiosironi.blogspot.com/2012/01/biweekly-roundup-waterfall-resolutions.html"&gt;pointed out&lt;/a&gt; that these kind of resolutions doesn't really fit into the agile way of making decisions that I do subscribe to in my professional life. I will again try to make follow up posts to check how I am doing during the year and possibly adjust the goals.&lt;br /&gt;
&lt;br /&gt;
So here we go.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;No Screen Day&lt;/b&gt; -- don't spend any time in front of a screen or phone for one day a week. This can't be avoided for work, but everything else is forbidden. I am going to start with a low use day, like Tuesdays and then increase it to a day with more free time like Fridays or possibly two weekdays.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sort out Fedora&lt;/b&gt; -- I am behind with my work on Fedora packages. This has to do with a lack of time, but also with the direction Fedora is taking, which has killed my motivation a bit. First I will catch up with all the work and then decide if I give up on maintaining the packages and switch to CentOS and let other people do the work. If I give up on Fedora there are other open source project where I could invest more time.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Cook new stuff&lt;/b&gt; -- I love cooking, but often I just rehash old recipes or do one of these "whatever is in the fridge" meals. So plan for this year: pick a new recipe every week and cook it on the weekend.&lt;br /&gt;
&lt;br /&gt;
Now you are probably wondering where the usual stuff is. You know, the bits about weight and sports. I see those as a given anyway. I will continue to do more mountain biking and running and eat well enough to not end on the very lardy side.&lt;br /&gt;
I will hopefully also progress on my career without having to do major changes. &lt;br /&gt;
&lt;br /&gt;
As these are pretty easy goals I might add harder ones or follow &lt;a href="http://www.ted.com/talks/matt_cutts_try_something_new_for_30_days.html"&gt;Cutts&lt;/a&gt; example in his quest to do a new thing every month and stay with it if it turns out to be nice.&lt;br /&gt;
&lt;br /&gt;
btw: &lt;a href="http://www.ted.com/talks/derek_sivers_keep_your_goals_to_yourself.html"&gt;I shouldn't have told you this&lt;/a&gt;.&amp;nbsp;&lt;img src="http://feeds.feedburner.com/~r/cdamian/~4/0Vfcl53CMD0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://christof.damian.net/feeds/4812636721797880480/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5797187&amp;postID=4812636721797880480" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/4812636721797880480?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/4812636721797880480?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cdamian/~3/0Vfcl53CMD0/2012-new-years-resolutions.html" title="2012 New Year's Resolutions" /><author><name>Christof Damian</name><uri>https://plus.google.com/110460361414656749360</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-cZTbsLHGAZQ/AAAAAAAAAAI/AAAAAAAANmM/iXaCm8k0N7E/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://christof.damian.net/2012/01/2012-new-years-resolutions.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYNQXw5eyp7ImA9WhdXGEQ.&quot;"><id>tag:blogger.com,1999:blog-5797187.post-5948333053069074483</id><published>2011-09-01T17:49:00.000+02:00</published><updated>2011-09-01T17:49:50.223+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-01T17:49:50.223+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="C" /><category scheme="http://www.blogger.com/atom/ns#" term="development" /><title>Calm</title><content type="html">Before: &lt;br /&gt;
&lt;blockquote&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;int main(void)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; printf("Hello world\n");&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; return 0;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;}&lt;/span&gt;&lt;/blockquote&gt;
After:&lt;br /&gt;
&lt;blockquote&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;;;.&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;""&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;(())&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;{}&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;\&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;#&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;0&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;a&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;c&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;dddd&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;eee&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;f&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;h&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;iiiiii&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;llll&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;m&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;nnnnnn&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;oooo&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;p&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;rrrr&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;s&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;tttt&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;uu&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;v&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;w&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;H&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/cdamian/~4/nhRVA61Ro2o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://christof.damian.net/feeds/5948333053069074483/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5797187&amp;postID=5948333053069074483" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/5948333053069074483?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/5948333053069074483?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cdamian/~3/nhRVA61Ro2o/calm.html" title="Calm" /><author><name>Christof Damian</name><uri>https://plus.google.com/110460361414656749360</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-cZTbsLHGAZQ/AAAAAAAAAAI/AAAAAAAANmM/iXaCm8k0N7E/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://christof.damian.net/2011/09/calm.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU4NQH0-fyp7ImA9WhdSE0g.&quot;"><id>tag:blogger.com,1999:blog-5797187.post-3464812813526072520</id><published>2011-07-22T20:06:00.002+02:00</published><updated>2011-07-22T20:06:31.357+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-22T20:06:31.357+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="motorcycle" /><title>Test Ride Triumph Tiger 800 XC</title><content type="html">&lt;a href="http://www.flickr.com/photos/rikdom/5436411705/" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;" title="New for 2011 Triumph Tiger 800XC by rikdom, on Flickr"&gt;&lt;img alt="New for 2011 Triumph Tiger 800XC" height="229" src="http://farm6.static.flickr.com/5017/5436411705_5bb4fe9c97_m.jpg" width="240" /&gt;&lt;/a&gt;&lt;br /&gt;
I had my test ride of a 800XC today. I took it on my usual routes through Barcelona and Collserola. &lt;br /&gt;
&lt;br /&gt;
I must say it is a very nice bike. Compared to my current more agricultural Yamaha XV 1600 (&lt;a href="http://en.wikipedia.org/wiki/File:Yamaha-xv1600a-spain.jpg"&gt;picture of my bike fully packed&lt;/a&gt;) the motor feels like an electric drive and it handles like my mountain bike.&lt;br /&gt;
The motor is quite boring in a good way, but missing the kick of my current one. While the handling is really appreciated, the Yamaha really doesn't like corners. Ideally you drive up to a corner and find someone to lift it and turn it around. It also loves to follow any lines on the road and kills your behind with any bump, while the XC ignores all of this very nicely. &lt;br /&gt;
&lt;br /&gt;
The main reason why I am looking at a new bike at all is that mine is quite old, falling apart and longer trips usually result in a lot of pain and fights about luggage with my girlfriend. So far have always looked at the usual BMW options, but I never liked the brand or their prices. &lt;br /&gt;
&lt;br /&gt;
I am just not quite sure if the bike is really me, my first bike was a &lt;a href="http://en.wikipedia.org/wiki/File:Honda-cmx450rebel.jpg"&gt;Honda CMX 450 Rebel&lt;/a&gt; which lasted 10 years and the Yamaha is only my second bike. Changing to one of these fancy adventure bikes is a bit radical. &lt;br /&gt;
&lt;br /&gt;
I have to decide quick though, if I want to take it for my September holiday and have the first service before that. I would have to decide until Tuesday.&lt;br /&gt;
&lt;br /&gt;
The other thing is that they will charge me list price for bike, accessories and first service and would give me just 4000 Euro for the old one. For that amount I might just keep it. &lt;br /&gt;
&lt;br /&gt;
Well, just wanted to vent :-)&lt;img src="http://feeds.feedburner.com/~r/cdamian/~4/TsjXzDNabfQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://christof.damian.net/feeds/3464812813526072520/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5797187&amp;postID=3464812813526072520" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/3464812813526072520?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/3464812813526072520?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cdamian/~3/TsjXzDNabfQ/test-ride-triumph-tiger-800-xc.html" title="Test Ride Triumph Tiger 800 XC" /><author><name>Christof Damian</name><uri>https://plus.google.com/110460361414656749360</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-cZTbsLHGAZQ/AAAAAAAAAAI/AAAAAAAANmM/iXaCm8k0N7E/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://farm6.static.flickr.com/5017/5436411705_5bb4fe9c97_t.jpg" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://christof.damian.net/2011/07/test-ride-triumph-tiger-800-xc.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYNQXo_eip7ImA9WhdTEEg.&quot;"><id>tag:blogger.com,1999:blog-5797187.post-294120048148282425</id><published>2011-07-07T18:44:00.001+02:00</published><updated>2011-07-07T18:46:30.442+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-07T18:46:30.442+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="symfony" /><category scheme="http://www.blogger.com/atom/ns#" term="conference" /><category scheme="http://www.blogger.com/atom/ns#" term="development" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>International PHP Conference 2011 Spring Edition impressions</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-2sm9iMg6bKc/ThXi1iLZgUI/AAAAAAAABfc/a7dVIe11zRI/s1600/berlin2.JPG"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 239px;" src="http://3.bp.blogspot.com/-2sm9iMg6bKc/ThXi1iLZgUI/AAAAAAAABfc/a7dVIe11zRI/s320/berlin2.JPG" alt="" id="BLOGGER_PHOTO_ID_5626652718804861250" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I planned to post this a lot earlier, but I wanted to do the presentation at &lt;a href="http://www.softonic.com/"&gt;Softonic &lt;/a&gt;first and I am also very lazy.&lt;br /&gt;&lt;br /&gt;My employer was so nice to send a colleague and me to the &lt;a href="http://phpconference.com/"&gt;International PHP Conference 2011 Spring Edition in Berlin&lt;/a&gt; this year. It was a three day conference. There also was one day of workshops, which we skipped. We also skipped most of the keynotes, because most of them were in German and didn’t seem very useful.&lt;br /&gt;&lt;br /&gt;I concentrated on the topics that interest me most: agile, unit testing, continuous integration, continuous deployment and Symfony/Doctrine. So here goes a quick summary of the stuff I think was good.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:large;"&gt;DevOps fuer PHP by Johann-Peter Hartmann &lt;a href="http://www.slideshare.net/mayflowergmbh/devops-fr-php-und-andere"&gt;slides&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;A very good introduction on DevOps, mostly introducing lots of tools and how they are used at Mayflower GmbH. I found especially the bits about self service virtual machines and clouds for developers interesting. They are using a combination of puppet, vagrant, fog and eucalytus for this. He also emphasized how important the culture in a company is to make this possible. All of this enables faster development and deployment. I plan to have a separate post about this soonish.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:large;"&gt;3*PHPUnit by Sebastian Bergmann&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;This could have easily fitted into one talk. And if you have seen any of his talks before you could have skipped most of this too. I liked the quote about removing the release cycle and making it much more fluent, reference to the etsy blog (which is brilliant) and latent code patterns. None of this is new stuff though.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:large;"&gt;&lt;b&gt;MySQL, PHP - The current State by Johannes Schlueter&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Oracle man. Improvements in MySQL 5.5 and 5.6. memcached interface, which is currently in labs. Some examples of the asynchronous mysqli interface, which sounds really interesting for some use cases. Also information about mysqlnd plugins, especially the mysqlnd_uh one which allows writing these in PHP. All of this is not so useful if you like your ORMs though.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:large;"&gt;&lt;b&gt;Large-Scale Data Processing with Hadoop and PHP by David Zülke &lt;a href="http://www.slideshare.net/Wombert/largescale-data-processing-with-hadoop-and-php-ipcse11-20110531"&gt;slides&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Highly recommended if you can see this at any conference. Very good presentation, starting with the use cases of sites which are producing lots of data and need to use map reduce to mine it. It continued with a live demo on a laptop, first tuning it until the speed increased by using map reduce and later connecting two laptops to show how well it scales.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:large;"&gt;&lt;b&gt;Next Generation API Documentation by Arne Blankerts&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I didn’t expect much of this last talk, but it turned out to be pretty good. As PHPDocumentor seems to be pretty dead, there is a need for a new system. CI systems usually also generate the API documentation, so it is important that this is also fast. phpdox seems to solve this, but it is still in an alpha stage so we have to wait and see.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:large;"&gt;&lt;b&gt;Miscellaneous&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I also saw a lot of other talks, but most of them were either introductions to things like node.js, nginx, JavaScript QA, Doctrine NoSQL and Symfony CMF. None of these contained any new information for me. Sometimes I wonder I should stop reading blogs and twitter two months before a conference, just to make them morei nteresting.&lt;br /&gt;&lt;br /&gt;You can find more summaries and links to the slides if available here: &lt;a href="http://joind.in/event/view/681"&gt;http://joind.in/event/view/681&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/cdamian/~4/NqAcwOMDsLY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://christof.damian.net/feeds/294120048148282425/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5797187&amp;postID=294120048148282425" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/294120048148282425?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/294120048148282425?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cdamian/~3/NqAcwOMDsLY/international-php-conference-2011.html" title="International PHP Conference 2011 Spring Edition impressions" /><author><name>Christof Damian</name><uri>https://plus.google.com/110460361414656749360</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-cZTbsLHGAZQ/AAAAAAAAAAI/AAAAAAAANmM/iXaCm8k0N7E/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-2sm9iMg6bKc/ThXi1iLZgUI/AAAAAAAABfc/a7dVIe11zRI/s72-c/berlin2.JPG" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://christof.damian.net/2011/07/international-php-conference-2011.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQAR347eip7ImA9Wx9UFk0.&quot;"><id>tag:blogger.com,1999:blog-5797187.post-4241434151097405546</id><published>2011-02-13T15:45:00.000+01:00</published><updated>2011-02-13T15:45:46.002+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-13T15:45:46.002+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="symfony" /><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="bikesoup" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><category scheme="http://www.blogger.com/atom/ns#" term="sphinx" /><title>sphinx search config scripts</title><content type="html">&lt;a href="http://sphinxsearch.com/images/sphinx.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://sphinxsearch.com/images/sphinx.jpg" /&gt;&lt;/a&gt;I just finished converting the &lt;a href="http://www.bikesoup.co.uk/"&gt;bikesoup&lt;/a&gt; search to use the &lt;a href="http://sphinxsearch.com/"&gt;sphinx search engine&lt;/a&gt; instead of a simple doctrine fulltext search with filters. &lt;br /&gt;
One thing I found helpful are sphinx config scripts. Instead of hard-coding the configuration you can use any scripting language to produce the sphinx configuration. The just have to start with '#!' and sphinx will execute them and use the output as the configuration.&lt;br /&gt;
This is the simplified version of my main config file /etc/sphinx/sphinx.conf :&lt;br /&gt;
&lt;pre&gt;#!/bin/bash 
for i in /etc/sphinx.d/*.conf; do
 cat $i
done
for i in /etc/sphinx.d/*.conf.sh; do 
 $i
done
&lt;/pre&gt;Then I have a /etc/sphinx.d/searchd.conf which just contains the "searchd {}" section.&lt;br /&gt;
And various symlinks like /etc/sphinx.d/bikesoup_dev.conf.sh into the project directories of the site. &lt;br /&gt;
Those scripts then create the correct configuration, they figure out the index names from the local configuration and start symfony tasks to create the xmlpipe2 output.&lt;br /&gt;
Nice and simple.&lt;img src="http://feeds.feedburner.com/~r/cdamian/~4/G8FtiXz7lvc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://christof.damian.net/feeds/4241434151097405546/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5797187&amp;postID=4241434151097405546" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/4241434151097405546?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/4241434151097405546?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cdamian/~3/G8FtiXz7lvc/sphinx-search-config-scripts.html" title="sphinx search config scripts" /><author><name>Christof Damian</name><uri>https://plus.google.com/110460361414656749360</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-cZTbsLHGAZQ/AAAAAAAAAAI/AAAAAAAANmM/iXaCm8k0N7E/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://christof.damian.net/2011/02/sphinx-search-config-scripts.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQESHs4eSp7ImA9Wx9UEEw.&quot;"><id>tag:blogger.com,1999:blog-5797187.post-6189609724283052662</id><published>2011-02-06T17:54:00.002+01:00</published><updated>2011-02-06T18:45:09.531+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-06T18:45:09.531+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="symfony" /><category scheme="http://www.blogger.com/atom/ns#" term="fedora" /><title>Symfony RPM for Fedora and RHEL</title><content type="html">&lt;a href="http://4.bp.blogspot.com/_jUrEaqvFttU/TU7REyphjNI/AAAAAAAAA_8/UclMXXx0ivQ/s1600/symfony.gif" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img src="http://4.bp.blogspot.com/_jUrEaqvFttU/TU7REyphjNI/AAAAAAAAA_8/UclMXXx0ivQ/s200/symfony.gif" border="0" height="54" width="200" /&gt;&lt;/a&gt;I am a big fan of Fedora and the PHP Symfony framework. Quite early I decided that it would be nice to have Symfony packaged as a Fedora package. What I didn't realize was how long it would take me.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_jUrEaqvFttU/TU7RG-2FzSI/AAAAAAAABAA/e9GS08eOgDk/s1600/Logo_fedoralogo.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img src="http://2.bp.blogspot.com/_jUrEaqvFttU/TU7RG-2FzSI/AAAAAAAABAA/e9GS08eOgDk/s200/Logo_fedoralogo.png" border="0" height="60" width="200" /&gt;&lt;/a&gt;I submitted my &lt;a href="https://bugzilla.redhat.com/show_bug.cgi?id=517191"&gt;Package Review Request&lt;/a&gt; on the 12.8.2009. One of the first comments pointed to me to an &lt;a href="https://bugzilla.redhat.com/show_bug.cgi?id=351441"&gt;older request&lt;/a&gt;, which was abandoned because the packager run into some difficulties with the Fedora guidelines. But&lt;br /&gt;&lt;br /&gt;I am not a person who gives up easily, so I continued fixing the package until it got finally approved on the 19.1.2011. By now the packages for Fedora 14 and EPEL 6 are in the official repositories and you can install Symfony by installing the package &lt;a href="https://admin.fedoraproject.org/updates/php-symfony-symfony"&gt;php-symfony-symfony&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Why did it so long? The problem are the different philosophies between Fedora and Symfony. While Fedora has a strict &lt;a href="http://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries"&gt;no bundled libraries policy&lt;/a&gt;, Symfony comes with a number of bundled libraries to make it easy to install. Symfony also recommends to use a separate copy for each install, which also explains the bundling of the libraries.&lt;br /&gt;&lt;br /&gt;I agree with both opinions, but I still wanted an RPM for Symfony. I think it can be useful for a few cases:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;if you want to create a quick project without having another copy of Symfony around&lt;/li&gt;&lt;li&gt;if you have multiple websites on a machine which all run the same Symfony version and you want to save memory and manage Symfony by RPM &lt;/li&gt;&lt;li&gt;if you want to build your own RPM, which includes your own Symfony application and you need some place to start. &lt;/li&gt;&lt;li&gt;you start with the RPM version for a fast set-up and later convert it to a bundled symfony, which is rather easy&lt;/li&gt;&lt;/ul&gt;So, what libraries does Symfony bundle? These are in the vendor directories: doctrine, phing, propel, propel-generator, lime, swiftmailer. And then there is also sfYAML. I decided to do without propel support, because I didn't want to update the rather ancient propel RPM that already was available. I created new packages for doctrine and swiftmailer, while Remi already had sfYAML packaged for use with phpunit. So even if nobody likes having Symfony packaged, the doctrine and swiftmailer packages will be useful.&lt;br /&gt;&lt;br /&gt;At the end of the review another problem was pointed out to me. There are too many versions of Symfony floating around. You got the one you get through the symfony pear channel (which I am using), the one from the website and the sandbox. The last ones as tgz and zip files. There are no checksums for any of these, which makes it impossible to find out if I provide the correct version or if someone replaced them on the site.&lt;br /&gt;&lt;br /&gt;So, what can one learn from all of this?&lt;br /&gt;&lt;ul&gt;&lt;li&gt;don't bundle libraries. The Symfony guys are very careful to make their classes well encapsulated and independent (even more so in Symfony2), the same holds through for library dependencies&lt;/li&gt;&lt;li&gt;even if you don't manage to achieve you initial goal, other good things will come out of it &lt;/li&gt;&lt;li&gt;whatever happens, you learn new things. By now I package a &lt;a href="https://admin.fedoraproject.org/pkgdb/users/packages/cdamian"&gt;number of packages&lt;/a&gt; for Fedora. &lt;/li&gt;&lt;li&gt;do not give up&lt;/li&gt;&lt;/ul&gt;Will I try to package &lt;a href="http://symfony-reloaded.org/"&gt;Symfony2&lt;/a&gt; ? Unlikely. Unless Symfony makes it easier to install the core and bundles separate and stops bundling libraries it will be another two year to package it. Though they seem to be on the right track with the &lt;a href="http://components.symfony-project.org/"&gt;Symfony components&lt;/a&gt; and the bundle system.&lt;br /&gt;&lt;br /&gt;&lt;a class="FlattrButton" style="display:none;" href="http://christof.damian.net/2011/02/symfony-rpm-for-fedora-and-rhel.html"&gt;&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/cdamian/~4/5TPHGFTFqwM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://christof.damian.net/feeds/6189609724283052662/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5797187&amp;postID=6189609724283052662" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/6189609724283052662?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/6189609724283052662?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cdamian/~3/5TPHGFTFqwM/symfony-rpm-for-fedora-and-rhel.html" title="Symfony RPM for Fedora and RHEL" /><author><name>Christof Damian</name><uri>https://plus.google.com/110460361414656749360</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-cZTbsLHGAZQ/AAAAAAAAAAI/AAAAAAAANmM/iXaCm8k0N7E/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_jUrEaqvFttU/TU7REyphjNI/AAAAAAAAA_8/UclMXXx0ivQ/s72-c/symfony.gif" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://christof.damian.net/2011/02/symfony-rpm-for-fedora-and-rhel.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEMQHk_fSp7ImA9Wx9RF0o.&quot;"><id>tag:blogger.com,1999:blog-5797187.post-4991377811870893954</id><published>2010-12-19T16:48:00.000+01:00</published><updated>2010-12-19T16:48:01.745+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-19T16:48:01.745+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="travel" /><category scheme="http://www.blogger.com/atom/ns#" term="t510" /><title>Tumi Alpha International Wheeled Office Review</title><content type="html">&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_jUrEaqvFttU/TQ4n1U5tnBI/AAAAAAAAA-I/ssXAnoGtLJQ/s1600/191220101184.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="150" src="http://2.bp.blogspot.com/_jUrEaqvFttU/TQ4n1U5tnBI/AAAAAAAAA-I/ssXAnoGtLJQ/s200/191220101184.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;International Wheeled Office with &lt;br /&gt;
cable pouch&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;To go with my new &lt;a href="http://christof.damian.net/2010/11/fedora-14-on-lenovo-thinkpad-t510.html"&gt;Lenovo T510&lt;/a&gt; I now also bought a carry-on with space for the laptop. As it goes with purchases like this I spend a lot of time researching them on the net, it just seems to be the German or nerd to do. Also quite typical for a German is to choose something which is of better quality than you need, but also not the most expensive one out there. Other bags I considered where by Rimowa, Victorinox, Samsonite and Briggs &amp;amp; Riley.&lt;br /&gt;
The reason why I am writing about this at all is that the &lt;a href="http://www.tumi.com/product/index.jsp?productId=4209861"&gt;Tumi website&lt;/a&gt; doesn't include the information I needed and there seems to be a lack of information about this bag on the, so this is more about the facts as an actual review.&lt;br /&gt;
&lt;br /&gt;
Size: height: 54.6 cm, width: 37.5 cm, depth: 25 cm ( compressed ), 28 cm ( normal ), 32 cm ( expanded )&lt;br /&gt;
Weight: 5kg ( including cable pouch, lock and bits and pieces )&lt;br /&gt;
&lt;br /&gt;
The size and weight might be a problem if you want to use it as a carry-on, because some airlines are annoyingly strict with there size and weight restrictions.&amp;nbsp; Some have a 20cm depth limit or a 8kg weight limit. Easyjet and BA are probably OK, Germanwings and Ryanair maybe not so (but you shouldn't use Ryanair anyway).&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
The protected laptop compartment fits the T510, but the laptop is a bit wide which makes it a tight fit. Using the 9 cell battery is not a problem. A 15" Macbook Pro should fit without problems.&amp;nbsp; &amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
If you decide to buy it, try to get it from the US as the prices are tumi.com: $695 (528€) , tumi.de: 725€, uk.tumi.com: £695 (818€). &lt;br /&gt;
&lt;br /&gt;
Review: it is quite nice&lt;br /&gt;
&lt;br /&gt;
If you need any other details or measurements, give me a shout with a comment. &lt;br /&gt;
&lt;br /&gt;
&lt;embed flashvars="host=picasaweb.google.com&amp;amp;hl=en_GB&amp;amp;feat=flashalbum&amp;amp;RGB=0x000000&amp;amp;feed=http%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2Fcdamian%2Falbumid%2F5552410246408633649%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_GB" height="400" pluginspage="http://www.macromedia.com/go/getflashplayer" src="http://picasaweb.google.com/s/c/bin/slideshow.swf" type="application/x-shockwave-flash" width="600"&gt;&lt;/embed&gt;&lt;img src="http://feeds.feedburner.com/~r/cdamian/~4/veHgDkt456s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://christof.damian.net/feeds/4991377811870893954/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5797187&amp;postID=4991377811870893954" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/4991377811870893954?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/4991377811870893954?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cdamian/~3/veHgDkt456s/tumi-alpha-international-wheeled-office.html" title="Tumi Alpha International Wheeled Office Review" /><author><name>Christof Damian</name><uri>https://plus.google.com/110460361414656749360</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-cZTbsLHGAZQ/AAAAAAAAAAI/AAAAAAAANmM/iXaCm8k0N7E/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_jUrEaqvFttU/TQ4n1U5tnBI/AAAAAAAAA-I/ssXAnoGtLJQ/s72-c/191220101184.jpg" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://christof.damian.net/2010/12/tumi-alpha-international-wheeled-office.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEEDRX8zeSp7ImA9Wx9RFkU.&quot;"><id>tag:blogger.com,1999:blog-5797187.post-5019773300270999653</id><published>2010-12-18T14:35:00.001+01:00</published><updated>2010-12-18T15:31:14.181+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-18T15:31:14.181+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="theinternet" /><title>Why I am deactivating my facebook account</title><content type="html">I have decided to deactivate my facebook account. It isn't done yet, so this message gets through and I am also waiting for the download of my information.&lt;br /&gt;
&lt;br /&gt;
The reason is not a concern about privacy. I am sure that facebook is doing all kind of evil stuff with the information I provide them, but my guess most of this is used to present me with ads to make some money for them. &lt;br /&gt;
I think that facebook is probably the site with the best privacy settings out there. Every other site I am using from small forums over job sites to other network sites like xing or linkedin, doesn't provide anywhere near the privacy options that facebook provides. And none of them in under the scrutiny that facebook has to face all the time.&lt;br /&gt;
&lt;br /&gt;
The reason why I would like to stay is that facebook is the best way to keep in touch with people from my previous live in Germany and London, some of who are all over the world now and I will loose any contact to them without facebook. &lt;br /&gt;
And facebook is the best casual photo sharing site out there, the people tagging works very well and because a lot of people are on facebook the like/comment bit is brilliant. &lt;br /&gt;
&lt;br /&gt;
No, the reason why I leave facebook is that it is a big time waster. I spend most of the time scrolling to rubbish game notifications, switching the time line back from "magic" to "most-recent". People are starting to send me facebook messages instead of proper emails. And there are no useful RSS feeds for the news feeds, photos or anything else.&lt;br /&gt;
&lt;br /&gt;
For everything else I do on the web I use three applications: gmail, google reader and pidgin. So any information I receive has to be provided as email, RSS feed or jabber. The are additional requirements: the RSS feed has to include all (or most) of the content and there is a limit to the amount of rubbish/spam/4sq I am willing to tolerate. (this disqualifies xing too by the way). &lt;br /&gt;
&lt;br /&gt;
So: good bye&lt;br /&gt;
&lt;br /&gt;
(facebook allows to just deactivate the account, which is also a nice feature if something changes and I decide to come back)&lt;br /&gt;
&lt;br /&gt;
update: in case you want to stay in contact with me find some options here: &lt;a href="http://christof.damian.net/p/about.html"&gt;about me&lt;/a&gt; or follow this blog&lt;img src="http://feeds.feedburner.com/~r/cdamian/~4/vx6j0jw8T5c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://christof.damian.net/feeds/5019773300270999653/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5797187&amp;postID=5019773300270999653" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/5019773300270999653?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/5019773300270999653?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cdamian/~3/vx6j0jw8T5c/why-i-am-deactivating-my-facebook.html" title="Why I am deactivating my facebook account" /><author><name>Christof Damian</name><uri>https://plus.google.com/110460361414656749360</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-cZTbsLHGAZQ/AAAAAAAAAAI/AAAAAAAANmM/iXaCm8k0N7E/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://christof.damian.net/2010/12/why-i-am-deactivating-my-facebook.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UNQ3g8fSp7ImA9Wx9SEEs.&quot;"><id>tag:blogger.com,1999:blog-5797187.post-1707531717419009982</id><published>2010-11-28T21:11:00.001+01:00</published><updated>2010-11-29T23:21:32.675+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-29T23:21:32.675+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="fedora" /><category scheme="http://www.blogger.com/atom/ns#" term="t510" /><category scheme="http://www.blogger.com/atom/ns#" term="hardware" /><title>Fedora 14 on a Lenovo Thinkpad T510</title><content type="html">&lt;a class="FlattrButton" href="http://christof.damian.net/2010/11/fedora-14-on-lenovo-thinkpad-t510.html" style="display: none; float: right;"&gt;&lt;/a&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/jemimus/5122707603/" style="margin-left: auto; margin-right: auto;" title="IMAG0206 by Jemimus, on Flickr"&gt;&lt;img alt="IMAG0206" height="144" src="http://farm5.static.flickr.com/4083/5122707603_7c385a02a3_m.jpg" width="240" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;by Jemimus, on Flickr&lt;/td&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;/td&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;/td&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;/td&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;Another brand new toy. After my last trip to the UK for &lt;a href="http://christof.damian.net/2010/09/bikesoup.html"&gt;bikesoup&lt;/a&gt; I decided that it was about time to get a proper laptop.&lt;br /&gt;
So far I only have a netbook, which is very convenient when size and weight matter. But for getting work done it is just to small, the main problem is the screen size and resolution.&lt;br /&gt;
I had a look around for good full sized laptops and the only brands producing something with the quality I had in mind were Apple and Lenovo. The advantages of the Apple over Lenovo are better built quality, battery life and easy to buy locally. I choose the Lenovo, because you can order it with more gadgets, swappable batteries and mostly because it isn't an Apple as I despise where the company is going and I already had bad experiences with Linux and iPods. &lt;br /&gt;
This is the configuration I finally got.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Intel Core i7-620M&lt;/li&gt;
&lt;li&gt;15.6" FHD Display&amp;nbsp; 1920x1080&lt;/li&gt;
&lt;li&gt;4 GB&lt;/li&gt;
&lt;li&gt;UltraNav (TrackPoint and TouchPad) with Fingerprint Reader&lt;/li&gt;
&lt;li&gt;500 GB Hard Disk Drive, 7200rpm&lt;/li&gt;
&lt;li&gt;Intel Centrino Ultimate-N 6300 (3x3 AGN)&lt;/li&gt;
&lt;li&gt;Integrated Mobile Broadband (Gobi 2000 3G with GPS)&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;First thing I did was to install Fedora 14 on it. I used the install option to shrink the Windows partition to 50G and used the rest for Linux. I am probably going to replace the hard-disk with a SSD in the future, but it was a bit too expensive for now.&lt;br /&gt;
The install was amazingly boring. I was expecting all kind of problems with the hardware, but everything just worked. Even the fingerprint reader allows you to login after configuring it with a nice tool.&lt;br /&gt;
The only tweaks I needed so far, are these:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;The UMTS card needs a firmware and loader, I used&lt;a href="https://www.centos.org/modules/newbb/viewtopic.php?topic_id=27838&amp;amp;forum=39&amp;amp;post_id=114567#forumpost114627"&gt; these instructions from the CentOS list&lt;/a&gt;.&amp;nbsp; I don't really need it, because mobile broadband via bluetooth is also very easy to set up and works just as fast.&lt;/li&gt;
&lt;li&gt;I haven't tried the GPS yet, but I seem to be inside of buildings most of the time anyway &lt;/li&gt;
&lt;li&gt;if you enable VT-D (whatever that is) in the BIOS, hibernate / suspend to disk won't work&lt;/li&gt;
&lt;li&gt;for some reason some of the preferences don't work for the touchpad, but you can enable those and more with the synclient tool. For example "synclient VertTwoFingerScroll=1"&lt;/li&gt;
&lt;/ul&gt;Battery time is a bit disappointing, with either a 6 or 9 cell battery. Some of it seems to be the fault of the Linux software, but PC hardware always seems to be rubbish in that department.&lt;br /&gt;
The build quality is also not on the level of a MacBook pro, but much better than any Dell, Asus or whatever they are called. &lt;br /&gt;
&lt;br /&gt;
I will comment on this post in case I make any new discoveries.&lt;img src="http://feeds.feedburner.com/~r/cdamian/~4/n1Yq77QLpAY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://christof.damian.net/feeds/1707531717419009982/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5797187&amp;postID=1707531717419009982" title="10 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/1707531717419009982?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/1707531717419009982?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cdamian/~3/n1Yq77QLpAY/fedora-14-on-lenovo-thinkpad-t510.html" title="Fedora 14 on a Lenovo Thinkpad T510" /><author><name>Christof Damian</name><uri>https://plus.google.com/110460361414656749360</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-cZTbsLHGAZQ/AAAAAAAAAAI/AAAAAAAANmM/iXaCm8k0N7E/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://farm5.static.flickr.com/4083/5122707603_7c385a02a3_t.jpg" height="72" width="72" /><thr:total>10</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://christof.damian.net/2010/11/fedora-14-on-lenovo-thinkpad-t510.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU4BSHg6cCp7ImA9Wx5aFkU.&quot;"><id>tag:blogger.com,1999:blog-5797187.post-6487584972903594504</id><published>2010-11-13T23:37:00.001+01:00</published><updated>2010-11-13T23:39:19.618+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-13T23:39:19.618+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="hardware" /><title>Kindle and ebooks</title><content type="html">I was planning to buy an ebook reader for a while. I mean it is 2010 and if we don't have flying cars at least everyone should have a robot and not read from dead trees.&lt;br /&gt;&lt;br /&gt;It took me a while because I wasn't able to decide on a brand and when I decided on Amazon I couldn't decide on which Kindle to get. My girlfriend took the decision off me by giving me a &lt;a href="http://www.amazon.com/gp/product/B003FSUDM4?ie=UTF8&amp;amp;tag=chrisdamia-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=B003FSUDM4"&gt;Kindle 3G+Wifi&lt;/a&gt; for my birthday. So here is a quick review.&lt;br /&gt;&lt;br /&gt;Once you open the packaging you already notice the difference to any other display device you have ever used. The screen already shows something, even though the device is switched off. In this case it shows the instructions to switch it on and plug it in. Whenever the device is switched off it displays a random picture.&lt;br /&gt;&lt;br /&gt;The Kindle is about the size of a normal paperback novel, it is not too heavy and it is very easy to hold with one hand. The large "turn page"-button on both sides of the screen allow reading without moving your hands.&lt;br /&gt;&lt;br /&gt;With the the 3G or Wifi you can access the Amazon store, which allows you to buy books or directly download one of the many free books from Amazon. Once you try this you might notice one of the disadvantages: a lot of books are not available for European buyers, this even includes some of the free books. The free books seem mostly be from &lt;a href="http://www.guteberg.org/"&gt;project gutenberg&lt;/a&gt;, so I don't understand the reasoning for this. You can just download them from there. A lot of paper books, especially older ones are not available at all.&lt;br /&gt;&lt;br /&gt;So first thing I bought &lt;a href="http://www.amazon.com/gp/product/B0043M4ZH0?ie=UTF8&amp;amp;tag=chrisdamia-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=B0043M4ZH0"&gt;The Ultimate Hitchhiker's Guide to the Galaxy&lt;/a&gt; obviously. But I know that one already, so I also bought &lt;a href="http://www.amazon.com/gp/product/B003EY7IXG?ie=UTF8&amp;amp;tag=chrisdamia-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=B003EY7IXG"&gt;The Last Run: A Queen &amp;amp; Country Novel&lt;/a&gt;, which is a kind of James Bond story with a British female agent and the last art of a series which I already followed.&lt;br /&gt;The book cost me $18.74, and there is already the first  problem, I think it is too much. It does cost less for US customers and the hardcover is only $17.16. Now everyone is saying that it isn't the paper that is making the price, but something is clearly wrong here. With an Amazon ebook I am also loosing my right to lend the book to other people or to sell it again once I read it, there should be some compensation for this.&lt;br /&gt;The reading experience on the other hand was very nice. I also had the feeling that I read quicker on the reader compared to a paper book, maybe because of the smaller page size or the quicker page turns. This is was the Kindle is made for, reading novels is a very nice experience.&lt;br /&gt;&lt;br /&gt;Now the bad stuff: reading pdfs or technical books on the 6" Kindle is not nice, it is just too small. The lack of colour is also a problem for these and comics.&lt;br /&gt;The organization of books on the Kindle sucks, there should be a view with the book covers (which are also not always provided by the books), the collection system is also rubbish.&lt;br /&gt;Navigation is also clumsy, a touch screen would be the obvious solution but this adds weight, size, reduces battery live and quality of the display. But even without touch this could be a lot smoother.&lt;br /&gt;And finally: how can Amazon with one of the best, if not the best on-line shop produce a shop on the kindle that is so useless. Unless you are not near a computer it is always easier to switch on your desktop and do the shopping on amazon.com and then send it to the Kindle. Heck, even if you are not around a computer it might be faster to take a cab to the next internet cafe and do the shopping there.&lt;br /&gt;&lt;br /&gt;To summarize: I am happy with the device for the reading I use it for. I am also glad that I don't have carry around kilos of books the next time I read the Hitchhiker, Red/Green/Blue Mars or Lord of the Rings again. And the project gutenberg is finally useful to me too, with lots of classics and older books like the Origin of Species available for free.&lt;br /&gt;&lt;br /&gt;And in the future I will get another ereader for PDFs, technical books and comics. But only if available with a colour display in the same quality as the Kindle&lt;img src="http://feeds.feedburner.com/~r/cdamian/~4/MU8Esc8DX1Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://christof.damian.net/feeds/6487584972903594504/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5797187&amp;postID=6487584972903594504" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/6487584972903594504?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/6487584972903594504?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cdamian/~3/MU8Esc8DX1Q/kindle-and-ebooks.html" title="Kindle and ebooks" /><author><name>Christof Damian</name><uri>https://plus.google.com/110460361414656749360</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-cZTbsLHGAZQ/AAAAAAAAAAI/AAAAAAAANmM/iXaCm8k0N7E/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://christof.damian.net/2010/11/kindle-and-ebooks.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUEQng5fip7ImA9Wx5VEEw.&quot;"><id>tag:blogger.com,1999:blog-5797187.post-3841842842820517871</id><published>2010-10-02T12:10:00.000+02:00</published><updated>2010-10-02T12:10:03.626+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-02T12:10:03.626+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="symfony" /><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="development" /><category scheme="http://www.blogger.com/atom/ns#" term="bikesoup" /><title>git workflow for the bikesoup project</title><content type="html">I have been one of the many converts to git and try to use it whenever possible. So far this has been mostly for smaller project, open source projects, Fedora and a little bit at work.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.bikesoup.co.uk/"&gt;bikesoup&lt;/a&gt; is my first bigger project using git. I started with initial development on the master branch and created feature branches which got merged back into &lt;i&gt;master&lt;/i&gt;. Before going live for the first time I created a &lt;i&gt;live&lt;/i&gt; branch. This is pretty much what you would do in subversion too, maybe with the exception of any feature branches.&lt;br /&gt;
&lt;br /&gt;
Once the site went live I created a feature branch off &lt;i&gt;master&lt;/i&gt; for each issue in bugzilla I am currently working on. When I am happy with the fix I merge it back into it.&amp;nbsp; And when the feature goes live it the feature branch is also merged into live. The diagram below shows this process.&lt;br /&gt;
&lt;span id="goog_2055474624"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://yuml.me/diagram/scruffy;dir:LR;/class/edit/%5Bstart%5D-%3E%5Bmaster%5D,%20%5Bstart%5D-%3E%5Blive%5D,%20%5Bmaster%5D-%3E%5Bbranch1%5D,%20%5Bbranch1%5D-%3E%5Bmerge1%5D,%20%5Bmerge1%5D-%3E%5Bmaster...%5D,%20%5Bbranch1%5D-%3E%5Bfeature%5D,%20%5Blive%5D-%3E%5Bmerge2%5D,%20%5Bfeature%5D-%3E%5Bmerge2%5D,%20%5Bfeature%5D-%3E%5Bmerge1%5D,%20%5Bmerge2%5D-%3E%5Blive...%5D"&gt;&lt;img border="0" height="104" src="http://2.bp.blogspot.com/_jUrEaqvFttU/TKb66B55-cI/AAAAAAAAA8I/R8K3lOgluVI/s640/555e040c.png" style="margin-left: auto; margin-right: auto;" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;span id="goog_2055474625"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;When first working like this I had all kind of problems when I merged into &lt;i&gt;live&lt;/i&gt;. When you branch a feature and then only work on this feature before you merge it back into master git uses fast-forward merging, which messes up the feature branch. If you merge this feature then into &lt;i&gt;live &lt;/i&gt;you merge in fact &lt;i&gt;master&lt;/i&gt;, which is probably not what one wants. So now I use --no-ff on all merges.&lt;br /&gt;
The nice thing is that you can go back to feature branches. Sometimes a bug gets reopened and I don't want to create a separate branch for this. Then I can check out the original feature branch add the fixes and merge back into &lt;i&gt;master&lt;/i&gt; and then &lt;i&gt;live&lt;/i&gt;.&lt;br /&gt;
To make it a bit more interesting I have also a hot-fix branch off &lt;i&gt;live &lt;/i&gt;for things that have to fixed fast because the site is broken. This gets also gets merged back into &lt;i&gt;master&lt;/i&gt;. And some other branches which track changes to configurations in &lt;i&gt;live&lt;/i&gt; and &lt;i&gt;master&lt;/i&gt; which don't get merged between the main branches.&lt;br /&gt;
&lt;br /&gt;
So, how does this look in practice?&lt;br /&gt;
&lt;br /&gt;
&lt;script src="http://gist.github.com/607503.js?file=git-workflow.sh"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;a href="http://4.bp.blogspot.com/_jUrEaqvFttU/TKcCHi-QXHI/AAAAAAAAA8M/OY8Shjfl23s/s1600/bikesoup-history.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/_jUrEaqvFttU/TKcCHi-QXHI/AAAAAAAAA8M/OY8Shjfl23s/s320/bikesoup-history.png" width="269" /&gt;&lt;/a&gt;The git-set-file-times is necessary, because git can mess up the file times when switching branches, which messes up the rsync of the symfony deploy script. The script sets all file times to the last commit times.&lt;br /&gt;
&lt;br /&gt;
If you are coming from subversion (or worse) it isn't easy how fast the branching and merging is. One way to visualize is the diagram to the right, which just shows the branches of one day. Some of these just contain a few line changes. &lt;br /&gt;
&lt;br /&gt;
Another way to describe it is "two seconds", that is how long the script above takes (just the branch switching, branching and merging, without the time for bug fixing and upload of course).&lt;br /&gt;
&lt;br /&gt;
So, whoever is still not using git: try it on a small project and I promise you will fall in love with it soon.&lt;img src="http://feeds.feedburner.com/~r/cdamian/~4/hl3ARhMaQQQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://christof.damian.net/feeds/3841842842820517871/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5797187&amp;postID=3841842842820517871" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/3841842842820517871?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/3841842842820517871?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cdamian/~3/hl3ARhMaQQQ/git-workflow-for-bikesoup-project.html" title="git workflow for the bikesoup project" /><author><name>Christof Damian</name><uri>https://plus.google.com/110460361414656749360</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-cZTbsLHGAZQ/AAAAAAAAAAI/AAAAAAAANmM/iXaCm8k0N7E/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_jUrEaqvFttU/TKb66B55-cI/AAAAAAAAA8I/R8K3lOgluVI/s72-c/555e040c.png" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://christof.damian.net/2010/10/git-workflow-for-bikesoup-project.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8GQHczfyp7ImA9Wx5WFEQ.&quot;"><id>tag:blogger.com,1999:blog-5797187.post-6091917837589267555</id><published>2010-09-26T11:47:00.001+02:00</published><updated>2010-09-26T11:53:41.987+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-26T11:53:41.987+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="symfony" /><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="bikesoup" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>bikesoup</title><content type="html">Yesterday one of my side projects went live: &lt;a href="http://www.bikesoup.co.uk/"&gt;www.bikesoup.co.uk&lt;/a&gt; .&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_jUrEaqvFttU/TJ8VsXAk9vI/AAAAAAAAA8E/M8BIfla9VsA/s1600/logo_big.gif" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;span id="goog_1089170370"&gt;&lt;span id="goog_1089170373"&gt;&lt;/span&gt;&lt;/span&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_jUrEaqvFttU/TJ8VsXAk9vI/AAAAAAAAA8E/M8BIfla9VsA/s1600/logo_big.gif" /&gt;&lt;span id="goog_1089170374"&gt;&lt;/span&gt;&lt;span id="goog_1089170371"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;Last December Anthony approached me about doing the site and I agreed to work on it in my free time. It took a while, but this included finding a designer ( &lt;a href="http://www.d2tstudio.com/"&gt;d2tstudio&lt;/a&gt; ), going through the process of finding a feature set for the launch and the programming. And all of this while I started my new proper job at Softonic, which means I didn't really have as much time to invest in it as I would have liked.&lt;br /&gt;
&lt;br /&gt;
The site is a pretty standard e-commerce / classified ad site tailored to bicycles. But as with every project there are some special requests which makes it interesting to work on, like the payment and billing system.&lt;br /&gt;
&lt;br /&gt;
For me it was especially nice to do all the programming from beginning to end on my own and being able to choose the technologies I like to work with. Anthony pretty much lets me decide all the technical bits.&lt;br /&gt;
&lt;br /&gt;
The site is build completely on open source technologies and I might be able to give something back in the future too.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;CentOS for the server OS&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Fedora on the development machine&lt;/li&gt;
&lt;li&gt;PHP as the language&amp;nbsp;&lt;/li&gt;
&lt;li&gt;MySQL database&lt;/li&gt;
&lt;li&gt;memcached &lt;/li&gt;
&lt;li&gt;symfony 1.4 as the web framework, with some plugins&lt;/li&gt;

&lt;ul&gt;&lt;li&gt;sfImageTransformPlugin and&lt;strong&gt;&lt;/strong&gt; sfImageTransformExtraPlugin for image transformations&amp;nbsp;&lt;/li&gt;
&lt;li&gt;swCombinePlugin for JavaScript and CSS optimization&lt;/li&gt;
&lt;li&gt;ioMenuPlugin for the menus&lt;/li&gt;
&lt;li&gt;...&amp;nbsp; &lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&amp;nbsp;jQuery JavaScript framework&amp;nbsp;&lt;/li&gt;

&lt;ul&gt;&lt;li&gt;colorbox plugin for overlays&lt;/li&gt;
&lt;li&gt;dataTables for Ajax tables&lt;/li&gt;
&lt;li&gt;jcarousel for slideshows&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;git as source control&lt;/li&gt;
&lt;li&gt;Eclipse IDE&lt;/li&gt;
&lt;li&gt;bugzilla a bug tracker&lt;/li&gt;
&lt;/ul&gt;The current version is just the first milestone and there is still a lot of work to do. But first I am looking forward to see if there is any interest in a site like this and what the users want from it in the future.&lt;img src="http://feeds.feedburner.com/~r/cdamian/~4/vHWIjh1Ue_o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://christof.damian.net/feeds/6091917837589267555/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5797187&amp;postID=6091917837589267555" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/6091917837589267555?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/6091917837589267555?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cdamian/~3/vHWIjh1Ue_o/bikesoup.html" title="bikesoup" /><author><name>Christof Damian</name><uri>https://plus.google.com/110460361414656749360</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-cZTbsLHGAZQ/AAAAAAAAAAI/AAAAAAAANmM/iXaCm8k0N7E/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_jUrEaqvFttU/TJ8VsXAk9vI/AAAAAAAAA8E/M8BIfla9VsA/s72-c/logo_big.gif" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://christof.damian.net/2010/09/bikesoup.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUINQHk7cCp7ImA9Wx5XF04.&quot;"><id>tag:blogger.com,1999:blog-5797187.post-2144324376687756146</id><published>2010-09-17T16:26:00.000+02:00</published><updated>2010-09-17T16:26:31.708+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-17T16:26:31.708+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="4star" /><category scheme="http://www.blogger.com/atom/ns#" term="barcelona" /><category scheme="http://www.blogger.com/atom/ns#" term="restaurants" /><title>Can Kenji</title><content type="html">Today I tried a restaurant which has been on my list for a while. Firstly because it is just one block away from my flat and second because it seems to be one of the few authentic Japanese restaurants in Barcelona.&lt;br /&gt;
&lt;br /&gt;
Can Kenji is located in an ugly tower block near Passeig de Sant Joan in the Eixample district. If you don't know it is there it will be difficult to find. The restaurant itself is pretty small with just a handful of tables and a bar at the tiny kitchen.&lt;br /&gt;
&lt;br /&gt;
I took a seat at the bar with good view on the magic happening in the kitchen. I choose the medium tasting menu, which consisted of: a vegetable salad with soy sauce and razor clams, stir fried noodles with clams and mussels, a seared beef fillet, a selection of sushi and finally a ball of sesame ice cream. All together with a water for €17.40.&lt;br /&gt;
&lt;br /&gt;
This was the best lunch menu I had in my time in Barcelona. Every dish was fresh and I was able to watch while it was prepared. The sushi was the best bit, finally a nigiri with rice which didn't taste three days old and fish which melts in your mouth. The stir fired noodles were also amazing.&lt;br /&gt;
If I had to nitpick I would say the beef was a bit stringy and the ice too frozen, but I would take it again any time.&lt;br /&gt;
&lt;br /&gt;
You find the restaurant at C/Rossello 325, 08025 Barcelona and on-line at: &lt;a href="http://www.cankenji.com/"&gt;www.cankenji.com&lt;/a&gt; .&lt;br /&gt;
&lt;br /&gt;
&lt;embed type="application/x-shockwave-flash" src="http://picasaweb.google.com/s/c/bin/slideshow.swf" width="600" height="400" flashvars="host=picasaweb.google.com&amp;hl=en_GB&amp;feat=flashalbum&amp;RGB=0x000000&amp;feed=http%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2Fcdamian%2Falbumid%2F5517882228299474833%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_GB" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;&lt;/embed&gt;&lt;img src="http://feeds.feedburner.com/~r/cdamian/~4/OpQ8vbPs6D0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://christof.damian.net/feeds/2144324376687756146/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5797187&amp;postID=2144324376687756146" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/2144324376687756146?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/2144324376687756146?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cdamian/~3/OpQ8vbPs6D0/can-kenji.html" title="Can Kenji" /><author><name>Christof Damian</name><uri>https://plus.google.com/110460361414656749360</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-cZTbsLHGAZQ/AAAAAAAAAAI/AAAAAAAANmM/iXaCm8k0N7E/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://christof.damian.net/2010/09/can-kenji.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU8NQHw8fyp7ImA9Wx5QFkw.&quot;"><id>tag:blogger.com,1999:blog-5797187.post-5511045267276822771</id><published>2010-09-04T17:24:00.000+02:00</published><updated>2010-09-04T17:24:51.277+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-04T17:24:51.277+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="thai" /><category scheme="http://www.blogger.com/atom/ns#" term="3star" /><category scheme="http://www.blogger.com/atom/ns#" term="barcelona" /><category scheme="http://www.blogger.com/atom/ns#" term="restaurants" /><title>Batik</title><content type="html">Checked out another Asian restaurant this Friday.&lt;br /&gt;
&lt;br /&gt;
The menu contains a selection of Korean, Thai and Malaysian dishes. &lt;br /&gt;
&lt;br /&gt;
I went for the lunch menu again, which was a Laksa Lemak soup as starter and a merluza with sweet sauce. The soup was nice, the merluza rather bland. The deserts were the usual yoghurt/flan/cake selection, so I went for a coffee.&lt;br /&gt;
&lt;br /&gt;
Because they are one of my favourite dishes I also ordered Thai spring rolls. These are served cold and show their ingredients through their translucent rice skin. Very nice and I will be back to see if the other a la carte dishes are as good.&lt;br /&gt;
&lt;br /&gt;
All together ~ 12 Euro for the lunch menu and 6 Euro for the rolls.&lt;br /&gt;
&lt;br /&gt;
You can find it at C/Valencia 454 or on-line:&amp;nbsp; &lt;a href="http://restaurantbatik.com/"&gt;http://restaurantbatik.com/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; text-align: left;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_jUrEaqvFttU/TIJjB64NqzI/AAAAAAAAA6c/rcn84CrWQY0/s1600/03092010998.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="150" src="http://1.bp.blogspot.com/_jUrEaqvFttU/TIJjB64NqzI/AAAAAAAAA6c/rcn84CrWQY0/s200/03092010998.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Restaurant&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-right: auto; text-align: left;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_jUrEaqvFttU/TIJjJ46m_0I/AAAAAAAAA6k/Nf_d1MOT4AM/s1600/030920101002.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="150" src="http://3.bp.blogspot.com/_jUrEaqvFttU/TIJjJ46m_0I/AAAAAAAAA6k/Nf_d1MOT4AM/s200/030920101002.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Laksa&lt;/td&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; text-align: left;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_jUrEaqvFttU/TIJjGUoXq1I/AAAAAAAAA6g/mhp3raFGxNk/s1600/030920101001.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="150" src="http://1.bp.blogspot.com/_jUrEaqvFttU/TIJjGUoXq1I/AAAAAAAAA6g/mhp3raFGxNk/s200/030920101001.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Thai Rolls&lt;/td&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_jUrEaqvFttU/TIJjNVLkCoI/AAAAAAAAA6o/eVvbLHT0J18/s1600/030920101003.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="150" src="http://3.bp.blogspot.com/_jUrEaqvFttU/TIJjNVLkCoI/AAAAAAAAA6o/eVvbLHT0J18/s200/030920101003.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Merluza&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/cdamian/~4/U-7psLtatSg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://christof.damian.net/feeds/5511045267276822771/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5797187&amp;postID=5511045267276822771" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/5511045267276822771?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/5511045267276822771?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cdamian/~3/U-7psLtatSg/batik.html" title="Batik" /><author><name>Christof Damian</name><uri>https://plus.google.com/110460361414656749360</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-cZTbsLHGAZQ/AAAAAAAAAAI/AAAAAAAANmM/iXaCm8k0N7E/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_jUrEaqvFttU/TIJjB64NqzI/AAAAAAAAA6c/rcn84CrWQY0/s72-c/03092010998.jpg" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://christof.damian.net/2010/09/batik.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C08AQX85cCp7ImA9Wx5SGEQ.&quot;"><id>tag:blogger.com,1999:blog-5797187.post-9194373935225979586</id><published>2010-08-15T19:04:00.000+02:00</published><updated>2010-08-15T19:04:00.128+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-15T19:04:00.128+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="4star" /><category scheme="http://www.blogger.com/atom/ns#" term="barcelona" /><category scheme="http://www.blogger.com/atom/ns#" term="restaurants" /><title>Bembi</title><content type="html">&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_jUrEaqvFttU/TGgYspuSf5I/AAAAAAAAA6I/62ySw6H1rm0/s1600/06082010950.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/_jUrEaqvFttU/TGgYspuSf5I/AAAAAAAAA6I/62ySw6H1rm0/s320/06082010950.jpg" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Onion Bhaji&lt;/td&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;Last week I finally checked out Bembi. It is supposed to be one of the few good Indian restaurants in Barcelona. As with Chinese restaurants it seems to be very difficult to find a good one in the rather large selection of Indian restaurants.&lt;br /&gt;
&lt;br /&gt;
I went for the lunch menu, which probably doesn't represent the overall quality because it is rather cheap at about 14€.&lt;br /&gt;
&lt;br /&gt;
The restaurant itself is nicely decorated and non-smoking. &lt;br /&gt;
&lt;br /&gt;
For starters I had the a bit greasy Onion Bhaji, fried onion fritters with a sweet sauce. &lt;br /&gt;
&lt;br /&gt;
The mains was Chicken Assadh, a green curry style dish with a saffron flavoured rice.&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
And for desert the Gulab Jamun, a very nice cinnamon flavoured ice with milk caramel. &lt;br /&gt;
&lt;br /&gt;
Overall the lunch was a good average experience and made me want to check out the taster menu, which is a bit more expensive but probably better quality. &lt;br /&gt;
&lt;br /&gt;
Bembi&lt;br /&gt;
&lt;a class="linkification-ext" href="http://www.bembi-barcelona.com/" title="Linkification: http://www.bembi-barcelona.com/es/"&gt;www.bembi-barcelona.com&lt;/a&gt;&lt;br /&gt;
Consell de Cent 377&lt;br /&gt;
08009 Barcelona &lt;br /&gt;
&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_jUrEaqvFttU/TGgYu9TeUNI/AAAAAAAAA6M/H4OJgmvBvNk/s1600/06082010951.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="150" src="http://1.bp.blogspot.com/_jUrEaqvFttU/TGgYu9TeUNI/AAAAAAAAA6M/H4OJgmvBvNk/s200/06082010951.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Chicken Assadh&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_jUrEaqvFttU/TGgYqSznxZI/AAAAAAAAA6E/OIy8jzyGWoo/s1600/06082010953.jpg" imageanchor="1" style="margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="150" src="http://4.bp.blogspot.com/_jUrEaqvFttU/TGgYqSznxZI/AAAAAAAAA6E/OIy8jzyGWoo/s200/06082010953.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Gulab Jamun&lt;/td&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_jUrEaqvFttU/TGgYyDSGGmI/AAAAAAAAA6Q/FNYTcdi7-_s/s1600/06082010952.jpg" imageanchor="1" style="margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="150" src="http://3.bp.blogspot.com/_jUrEaqvFttU/TGgYyDSGGmI/AAAAAAAAA6Q/FNYTcdi7-_s/s200/06082010952.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Menu del Dia&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;img src="http://feeds.feedburner.com/~r/cdamian/~4/EQGJU2l789E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://christof.damian.net/feeds/9194373935225979586/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5797187&amp;postID=9194373935225979586" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/9194373935225979586?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/9194373935225979586?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cdamian/~3/EQGJU2l789E/bembi.html" title="Bembi" /><author><name>Christof Damian</name><uri>https://plus.google.com/110460361414656749360</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-cZTbsLHGAZQ/AAAAAAAAAAI/AAAAAAAANmM/iXaCm8k0N7E/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_jUrEaqvFttU/TGgYspuSf5I/AAAAAAAAA6I/62ySw6H1rm0/s72-c/06082010950.jpg" height="72" width="72" /><thr:total>1</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://christof.damian.net/2010/08/bembi.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkIER3YyfCp7ImA9WxFVF08.&quot;"><id>tag:blogger.com,1999:blog-5797187.post-4653463178048324702</id><published>2010-06-16T22:35:00.000+02:00</published><updated>2010-06-16T22:35:06.894+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-16T22:35:06.894+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="fedora" /><category scheme="http://www.blogger.com/atom/ns#" term="hardware" /><title>New Computer Toys</title><content type="html">I treated myself to some nice new toys and I am very happy with them, so here comes a short review.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href="http://www.amazon.co.uk/gp/product/B001RQAMIG?ie=UTF8&amp;amp;tag=christofdamia-21&amp;amp;linkCode=as2&amp;amp;camp=1634&amp;amp;creative=19450&amp;amp;creativeASIN=B001RQAMIG"&gt;Logitech G9x Laser Mouse&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.co.uk/e/ir?t=christofdamia-21&amp;amp;l=as2&amp;amp;o=2&amp;amp;a=B001RQAMIG" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://ecx.images-amazon.com/images/I/41MH3cRxcDL._SL160_.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://ecx.images-amazon.com/images/I/41MH3cRxcDL._SL160_.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
I already have a G9 at home, which is the best mouse I ever used. It is really a gamer mouse, but the high resolution laser, free rolling scroll wheel and the cable make it perfect for programming and desktop use. It also comes with adjustable weights, which helps to make it feel just right. I just bought a new one because I wanted to replace the G5 I had at work with this one.&lt;br /&gt;
&lt;br /&gt;
The G9x is pretty much the same with a better case and higher resolution. The new colour scheme also goes better with the Microsoft Ergonomic Keyboard 4000 (which is the only Microsoft product in my house). As the G9 and G9x are the same price, the choice is really easy. With the G9x you can also adjust the colour of the LEDs and as everyone knows: a gadget is not a gadget if it has no blue LED.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href="http://www.amazon.co.uk/gp/product/B001IH1BIE?ie=UTF8&amp;amp;tag=christofdamia-21&amp;amp;linkCode=as2&amp;amp;camp=1634&amp;amp;creative=19450&amp;amp;creativeASIN=B001IH1BIE"&gt;Nokia microSD/HD map 16GB MU-44&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.co.uk/e/ir?t=christofdamia-21&amp;amp;l=as2&amp;amp;o=2&amp;amp;a=B001IH1BIE" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
This is a memory upgrade for my Nokia N79. And when did memory get so small? The size of this is just silly, you can breath it in if you are not careful.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href="http://www.amazon.co.uk/gp/product/B001DQ54H4?ie=UTF8&amp;amp;tag=christofdamia-21&amp;amp;linkCode=as2&amp;amp;camp=1634&amp;amp;creative=19450&amp;amp;creativeASIN=B001DQ54H4"&gt;SHARKOON SATA QuickPort PRO&lt;/a&gt;&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.co.uk/e/ir?t=christofdamia-21&amp;amp;l=as2&amp;amp;o=2&amp;amp;a=B001DQ54H4" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://ecx.images-amazon.com/images/I/41DgFZv75UL._SL160_.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://ecx.images-amazon.com/images/I/41DgFZv75UL._SL160_.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;The main reason for this order. I needed another USB backup drive, because I want to make a backup before I do the Fedora 13 upgrade. I looked around for 2TB external USB drives or NAS, but they are all much too expensive. I also usually have some old hard-disks around that are leftovers from computer upgrades and needed a use for them.&lt;br /&gt;
&lt;br /&gt;
The Sharkoon is a dock where you can insert "naked" Sata drives directly. You connect it with e-sata and/or USB to your computer and that is it. It also acts as a USB hub with two ports and has a slot for SD/MMC/MS memory cards. It also has a switch to turn it off when not in use, which is a lot better than the usual external drives. It is also bloody fast over e-sata (they do a simpler version which just has USB).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And that is it already. I am backing up everything now so Fedora 13 is next.&lt;img src="http://feeds.feedburner.com/~r/cdamian/~4/1npJRKYd22Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://christof.damian.net/feeds/4653463178048324702/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5797187&amp;postID=4653463178048324702" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/4653463178048324702?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/4653463178048324702?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cdamian/~3/1npJRKYd22Y/new-computer-toys.html" title="New Computer Toys" /><author><name>Christof Damian</name><uri>https://plus.google.com/110460361414656749360</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-cZTbsLHGAZQ/AAAAAAAAAAI/AAAAAAAANmM/iXaCm8k0N7E/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://christof.damian.net/2010/06/new-computer-toys.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UBSHc4cSp7ImA9WxFQGUk.&quot;"><id>tag:blogger.com,1999:blog-5797187.post-8136561842761411423</id><published>2010-05-15T18:33:00.001+02:00</published><updated>2010-05-15T18:34:19.939+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-15T18:34:19.939+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="recipe" /><title>Pulpo and Tomatoes Salad</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_jUrEaqvFttU/S-7Mm-sPtPI/AAAAAAAAA38/mhu9LYFR8sY/s1600/15052010769-cropped.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="322" src="http://2.bp.blogspot.com/_jUrEaqvFttU/S-7Mm-sPtPI/AAAAAAAAA38/mhu9LYFR8sY/s400/15052010769-cropped.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;While my girlfriend is away on holiday I use the opportunity to eat the things she hates. Today a quick little octopus salad. The idea for this one is from my sister.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;200g pulpo (octopus), boiled and cleaned&lt;/li&gt;
&lt;li&gt;3 tomatoes&amp;nbsp;&lt;/li&gt;
&lt;li&gt;1 small onion&lt;/li&gt;
&lt;li&gt;1 lime&lt;/li&gt;
&lt;li&gt;pepper&lt;/li&gt;
&lt;li&gt;light soy sauce&amp;nbsp;&lt;/li&gt;
&lt;li&gt;sesame oil&lt;/li&gt;
&lt;li&gt;lots of fresh coriander &lt;/li&gt;
&lt;/ul&gt;Cut the octopus and tomatoes into slices and small pieces. Slice onion. Add juice of lime, coriander, a little bit of soy sauce and sesame oil.&amp;nbsp; Pepper to taste.&lt;br /&gt;
&lt;br /&gt;
The soy sauce and sesame oil is really optional, you can also use more lime and a bit of olive oil.&lt;img src="http://feeds.feedburner.com/~r/cdamian/~4/lUuDr6KTQrI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://christof.damian.net/feeds/8136561842761411423/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5797187&amp;postID=8136561842761411423" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/8136561842761411423?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/8136561842761411423?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cdamian/~3/lUuDr6KTQrI/pulpo-and-tomatoes-salad.html" title="Pulpo and Tomatoes Salad" /><author><name>Christof Damian</name><uri>https://plus.google.com/110460361414656749360</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-cZTbsLHGAZQ/AAAAAAAAAAI/AAAAAAAANmM/iXaCm8k0N7E/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_jUrEaqvFttU/S-7Mm-sPtPI/AAAAAAAAA38/mhu9LYFR8sY/s72-c/15052010769-cropped.jpg" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://christof.damian.net/2010/05/pulpo-and-tomatoes-salad.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUUMQHY6eCp7ImA9WxFRE0o.&quot;"><id>tag:blogger.com,1999:blog-5797187.post-8863375757357893554</id><published>2010-04-27T15:01:00.000+02:00</published><updated>2010-04-27T15:01:21.810+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-27T15:01:21.810+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="softonic" /><category scheme="http://www.blogger.com/atom/ns#" term="nyr" /><title>2010 Triannually New Year's resolutions update</title><content type="html">This year I am doing the updates every four months and April is nearly over, so here it goes. &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/_jUrEaqvFttU/S9bcxcI5qXI/AAAAAAAAA30/bMt81gz0lqg/s1600/Chart.ashx.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="150" src="http://1.bp.blogspot.com/_jUrEaqvFttU/S9bcxcI5qXI/AAAAAAAAA30/bMt81gz0lqg/s200/Chart.ashx.png" width="200" /&gt;&lt;/a&gt;&lt;i&gt;1. Loose weight: going very well&lt;/i&gt;. I dropped from an average weight of 79 to 74.7kg and moved from "overweight" to "normal weight" BMI category. I didn't my lifestyle too much, I just eat and snack a bit less. One big helper has been the &lt;a href="http://www.physicsdiet.com/"&gt;physics diet website&lt;/a&gt;, which keeps a nice average graph and helps me to stay motivated. I just have to go another 1.7kg to reach my goal for the year.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;2. Reduce time spend watching TV,  reading e-mails, blogs, facebook and twitter.&lt;/i&gt; I reduced the number of RSS feeds from 600 to 479 and the posts I read per day from 365 to 240 (including tweets). And I spend less time on each post, as I use &lt;a href="http://readitlaterlist.com/"&gt;readitlater &lt;/a&gt;to mark interesting posts and read them when I have time for it. I also stopped watching a few TV shows and stopped using facebook. Overall I notice that I have more time and I am sure I can do a bit more in the next eight months. Using GTD more also helped with my time management.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;3. Do something about my so called "career". This  could mean doing something more fun, working less and/or earning more  money.&lt;/i&gt; As mentioned in the &lt;a href="http://christof.damian.net/2010/04/new-job-softonic.html"&gt;previous post&lt;/a&gt;, I have decided to go for something more fun with a job at softonic. I will judge how it turned out in the coming months. For some reason I seem to have too many choices at the moment.&lt;br /&gt;
&lt;br /&gt;
Maybe I should have chosen more goals, but the success so far seems to be an indicator that it is good to concentrate on a few. Next update will be at the end of August.&lt;br /&gt;
&lt;br /&gt;
Some left overs from &lt;a href="http://christof.damian.net/2009/01/new-years-resolutions.html"&gt;last year&lt;/a&gt;, which I worked on this year too:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;I did travel to a new place: &lt;a href="http://christof.damian.net/2010/04/marrakesh.html"&gt;Marrakesh &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;I did get an ITV for my motorbike and use it more&lt;/li&gt;
&lt;li&gt;I use my mountain bike a lot more&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/cdamian/~4/seMAzLIdA4w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://christof.damian.net/feeds/8863375757357893554/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5797187&amp;postID=8863375757357893554" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/8863375757357893554?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/8863375757357893554?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cdamian/~3/seMAzLIdA4w/2010-triannually-new-years-resolutions.html" title="2010 Triannually New Year's resolutions update" /><author><name>Christof Damian</name><uri>https://plus.google.com/110460361414656749360</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-cZTbsLHGAZQ/AAAAAAAAAAI/AAAAAAAANmM/iXaCm8k0N7E/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_jUrEaqvFttU/S9bcxcI5qXI/AAAAAAAAA30/bMt81gz0lqg/s72-c/Chart.ashx.png" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://christof.damian.net/2010/04/2010-triannually-new-years-resolutions.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUGQXg4eCp7ImA9WxFREE4.&quot;"><id>tag:blogger.com,1999:blog-5797187.post-7238693743967952277</id><published>2010-04-23T17:40:00.000+02:00</published><updated>2010-04-23T17:40:20.630+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-23T17:40:20.630+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="softonic" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>New Job: Softonic</title><content type="html">This week I started my new job at &lt;a href="http://www.softonic.com/"&gt;Softonic&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
After three years at &lt;a href="http://www.opus5.info/"&gt;opus5&lt;/a&gt; I decided that it was time to move on. I learned a lot in this time and as I like to say, a lot of things I really never wanted to learn. I worked in a great team and wish them all the luck for the future (And in case you are looking for a PHP job, I am sure they are looking for more people).&lt;br /&gt;
&lt;br /&gt;
While writing my &lt;a href="http://christof.damian.net/2010/01/2010-new-years-resolutions.html"&gt;2010 New Year's Resolutions&lt;/a&gt;, I came to the conclusion that it is finally time to make a move. I was looking for a company, which is more focused on development and the possibility to learn new stuff.&lt;br /&gt;
&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; text-align: right;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_jUrEaqvFttU/S9G_Deazo3I/AAAAAAAAA3w/LQBn68B9P6k/s1600/21042010712.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="150" src="http://4.bp.blogspot.com/_jUrEaqvFttU/S9G_Deazo3I/AAAAAAAAA3w/LQBn68B9P6k/s200/21042010712.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;cafeteria and view&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;Most people reading this have probably never heard of Softonic, neither had I before the 2008 Barcelona PHP conference. It is a large download portal similar to download.com, which started in Spain and is now in many other countries. The company has 180 employees, with maybe about 50 developers. This makes it the biggest company I worked for so far. They have been voted best employer in Spain twice and provide nice perks like training, massages, free fruits, tea and the like.&lt;br /&gt;
&lt;br /&gt;
A few things made the decision to change more difficult. I now earn a lot less and I can't call myself Technical Director any more. In fact I am not even any kind of team lead, but just a low developer. But I figured I wanted to do more programming and hope there will be opportunities to grow in the future.&amp;nbsp; And I have to work on Windows again with two tiny screens, which is a bit strange.&lt;br /&gt;
&lt;br /&gt;
Technology used at Softonic is pretty standard, the usual PHP, MySQL and memcached that you see everywhere. They have their own grown framework, which is not to different from what I have worked on at Sanego or guideguide. Some of the processes are a bit strange, for example the revision control system involves Windows, remote X11, Wine and TortoiseSVN. But nothing I can't work around with a bit of Eclipse, git and shell magic.&lt;br /&gt;
&lt;br /&gt;
The first week I spend shaking everyone's hand (really), learn some of the processes, sign contracts, listen to CEO talks. I need to find some good lunch restaurants in the area, which is a bit more difficult then in the centre of Barcelona. I also have to find a way to store my bicycle to work.&lt;br /&gt;
&lt;br /&gt;
For some reason I ended up in the SEO team (opus5 guys will laugh now :-), but in the end it is all just code and I might not be interested in SEO, but neither do I use any download portal. At the moment I don't do any coding anyway, I am still in training and this probably continues for a few more weeks.&lt;br /&gt;
&lt;br /&gt;
So to summarize: all fine, I am having fun lets see where it takes me...&lt;img src="http://feeds.feedburner.com/~r/cdamian/~4/XnrBqUATeCw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://christof.damian.net/feeds/7238693743967952277/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5797187&amp;postID=7238693743967952277" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/7238693743967952277?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/7238693743967952277?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cdamian/~3/XnrBqUATeCw/new-job-softonic.html" title="New Job: Softonic" /><author><name>Christof Damian</name><uri>https://plus.google.com/110460361414656749360</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-cZTbsLHGAZQ/AAAAAAAAAAI/AAAAAAAANmM/iXaCm8k0N7E/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_jUrEaqvFttU/S9G_Deazo3I/AAAAAAAAA3w/LQBn68B9P6k/s72-c/21042010712.jpg" height="72" width="72" /><thr:total>3</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://christof.damian.net/2010/04/new-job-softonic.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUIASHgyfyp7ImA9WxFSEkg.&quot;"><id>tag:blogger.com,1999:blog-5797187.post-8890252604003933173</id><published>2010-04-14T17:05:00.000+02:00</published><updated>2010-04-14T17:05:49.697+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-14T17:05:49.697+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="travel" /><category scheme="http://www.blogger.com/atom/ns#" term="holiday" /><category scheme="http://www.blogger.com/atom/ns#" term="food" /><title>Marrakesh</title><content type="html">Katja and I spend the last few days in Marrakesh. We were looking for a cheap holiday in a not too cold country and Morocco was pretty much the only choice.&lt;br /&gt;
&lt;br /&gt;
The flight to Morocco was with Ryan Air. I already knew how much I hate them, but they confirmed it again.&lt;br /&gt;
&lt;br /&gt;
We stayed at a small hotel &lt;a href="http://www.alksar.com/eng/index.php"&gt;Riad Alksar&lt;/a&gt; in the Medina. A Riad is a house with a courtyard and the rooms build around it. It doesn't have any large windows to the outside. The area of the hotel is pretty poor with the exception of a handful of similar hotels. The hotel has eight rooms and each of these would usually house a family. Our host was very nice and the hotel clean and with a minimal design. One of the perks is the roof terrace, which we used a lot to chill and for breakfast.&lt;br /&gt;
&lt;br /&gt;
Because we didn't have too much time, we spend most of it shopping in the Souks, visiting a few of the palaces and enjoying the food market at night. The food was very good and I can only recommend it to everyone.&lt;br /&gt;
&lt;br /&gt;
The most amazing thing was how friendly everyone is in Marrakesh. You get hassled once in a while by people trying to sell you various rubbish, but they leave you alone after you said "no" twice. Everyone was helpful and I never felt like I should have to worry about pick pockets or similar. Very different from the situation in Barcelona.&lt;br /&gt;
&lt;br /&gt;
But pictures speak more than a thousand words, so have a look...&lt;br /&gt;
&lt;br /&gt;
&lt;embed flashvars="host=picasaweb.google.com&amp;amp;hl=en_GB&amp;amp;feat=flashalbum&amp;amp;RGB=0x000000&amp;amp;feed=http%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2Fcdamian%2Falbumid%2F5459982993487360305%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_GB" height="400" pluginspage="http://www.macromedia.com/go/getflashplayer" src="http://picasaweb.google.com/s/c/bin/slideshow.swf" type="application/x-shockwave-flash" width="600"&gt;&lt;/embed&gt;&lt;img src="http://feeds.feedburner.com/~r/cdamian/~4/hKBvQ0zdo1U" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://christof.damian.net/feeds/8890252604003933173/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5797187&amp;postID=8890252604003933173" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/8890252604003933173?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/8890252604003933173?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cdamian/~3/hKBvQ0zdo1U/marrakesh.html" title="Marrakesh" /><author><name>Christof Damian</name><uri>https://plus.google.com/110460361414656749360</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-cZTbsLHGAZQ/AAAAAAAAAAI/AAAAAAAANmM/iXaCm8k0N7E/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://christof.damian.net/2010/04/marrakesh.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04HSHw7fip7ImA9WxBXGEs.&quot;"><id>tag:blogger.com,1999:blog-5797187.post-2633329084120605263</id><published>2010-01-30T17:45:00.000+01:00</published><updated>2010-01-30T17:45:39.206+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-30T17:45:39.206+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="barcelona" /><category scheme="http://www.blogger.com/atom/ns#" term="motorcycle" /><title>Surprises</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_jUrEaqvFttU/S2Rb6lzyWMI/AAAAAAAAAoY/n8YQN8hzwhU/s1600-h/30012010500.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/_jUrEaqvFttU/S2Rb6lzyWMI/AAAAAAAAAoY/n8YQN8hzwhU/s320/30012010500.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Once in the while I do something I haven't done for a while and get surprised by how much fun it is.&lt;br /&gt;
&lt;br /&gt;
Today I wanted to get the ITV (Spanish motorcycle inspection), which has been overdue for a while. I didn't do it because I haven't used it for a while and can't used it because I didn't have the ITV.&lt;br /&gt;
&lt;br /&gt;
Turns out that I needed an appointment, so I run some errands. I got a new zoo membership card and cancelled my old gym. This took me with the motorbike down and along the beach. The weather was beautiful and it was reasonable warm. I saw the beach, smelled the sea and felt the Barcelona air in my face.&lt;br /&gt;
&lt;br /&gt;
Whenever I use the motorcycle I get a smile on my face. I really should use it more often. And it makes me appreciate Barcelona more.&lt;br /&gt;
&lt;br /&gt;
Now - most people would say that it shouldn't come as a surprise that living in Barcelona, enjoying the sun and taking a beautiful bike for a spin along the beach is a nice thing. In fact it is probably a dream for most people - including me.&lt;br /&gt;
&lt;br /&gt;
Sometimes you have to take a step back and take a look at your life and realize that you pretty much got everything you need instead of chasing the next dream. You tend to forget that if you are stuck in your daily routine.&lt;br /&gt;
&lt;br /&gt;
By the way: the picture is from today, but not from the motorcycle trip but a mountain bike ride I did in the afternoon.&lt;br /&gt;
&lt;br /&gt;
And now I am going to make Thai green curry and hack some code.&lt;br /&gt;
&lt;br /&gt;
Nice!&lt;img src="http://feeds.feedburner.com/~r/cdamian/~4/jWn2Khz-hxM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://christof.damian.net/feeds/2633329084120605263/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5797187&amp;postID=2633329084120605263" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/2633329084120605263?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/2633329084120605263?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cdamian/~3/jWn2Khz-hxM/surprises.html" title="Surprises" /><author><name>Christof Damian</name><uri>https://plus.google.com/110460361414656749360</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-cZTbsLHGAZQ/AAAAAAAAAAI/AAAAAAAANmM/iXaCm8k0N7E/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_jUrEaqvFttU/S2Rb6lzyWMI/AAAAAAAAAoY/n8YQN8hzwhU/s72-c/30012010500.jpg" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://christof.damian.net/2010/01/surprises.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08HQXo_fip7ImA9WxBXEks.&quot;"><id>tag:blogger.com,1999:blog-5797187.post-8940395141479880159</id><published>2010-01-23T17:14:00.004+01:00</published><updated>2010-01-23T17:57:10.446+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-23T17:57:10.446+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="fedora" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>Fedora and PHP QA</title><content type="html">After hearing again about many QA tools at the 2009 PHP Barcelona conference I decided that it would be nice if these would be available through packages on Fedora (and through EPEL on RHEL).&lt;br /&gt;&lt;br /&gt;Turns out that the most important ones were already packaged, some needed a new packager, some were waiting for review and a few still need to be packaged.&lt;br /&gt;&lt;br /&gt;Here are the once already available, with the packager name:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;php-phpunit-bytekit (llaumgui) &lt;br /&gt;&lt;/li&gt;&lt;li&gt;php-phpunit-phpcpd (llaumgui) &lt;br /&gt;&lt;/li&gt;&lt;li&gt;php-phpunit-phploc (llaumgui) &lt;br /&gt;&lt;/li&gt;&lt;li&gt;php-pear-PHP-CodeSniffer (cdamian)     &lt;br /&gt;&lt;/li&gt;&lt;li&gt;php-pear-PhpDocumentor  (cdamian)     &lt;br /&gt;&lt;/li&gt;&lt;li&gt;php-pear-PHPUnit (xulchris) (this will soon be renamed to php-phpunit-PHPUnit) &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;These are waiting for review:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;php-pdepend-PHP-Depend (cdamian)&lt;/li&gt;&lt;li&gt;php-phpmd-PHP-PMD (cdamian)&lt;/li&gt;&lt;/ul&gt;These don't seem to have packages at all:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;php-phpunit-phpdcd         &lt;/li&gt;&lt;li&gt;php-phpunit-phpUnderControl&lt;br /&gt;&lt;/li&gt;&lt;li&gt;php-phpunit-PHP_CodeBrowser&lt;br /&gt;&lt;/li&gt;&lt;li&gt;phpanalysis         &lt;br /&gt;&lt;/li&gt;&lt;li&gt;padawan&lt;/li&gt;&lt;li&gt;arbit&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Because EPEL is limited to the rather ancient PHP version of RHEL it sometimes contains older versions of the packages available in Fedora. It might be time for a community supported repository for PHP 5.3, for people who don't want to live on the bleeding edge with Remi.&lt;br /&gt;&lt;br /&gt;Another thing missing is a package for a continuous integration software like &lt;a href="http://hudson-ci.org/"&gt;Hudson&lt;/a&gt;, &lt;a href="http://arbitracker.org/"&gt;arbit&lt;/a&gt; or &lt;a href="http://cruisecontrol.sourceforge.net/"&gt;CruiseControl&lt;/a&gt;. The reason for this is that they are either really difficult to install or package or are still very much in a alpha version. We are using hudson at work and they do provide a RPM, but it is less than perfect. Arbit looks promising, but probably needs a few more months to be at least in a beta stage.&lt;br /&gt;&lt;br /&gt;Give me a shout if there is a package I missed.&lt;br /&gt;&lt;br /&gt;Sources:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://rpms.famillecollet.com/rpmphp/rpm.php?type=pear" &gt;Pear Packages in Fedora&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://sebastian-bergmann.de/archives/856-Quality-Assurance-Tools-for-PHP.html"&gt;Sebastian Bergmann: Quality Assurance Tools for PHP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://qualityassuranceinphpprojects.com/pages/tools.html"&gt;Quality Assurance in PHP Projects: Tools&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/cdamian/~4/Og9RJ611TU4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://christof.damian.net/feeds/8940395141479880159/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5797187&amp;postID=8940395141479880159" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/8940395141479880159?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5797187/posts/default/8940395141479880159?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/cdamian/~3/Og9RJ611TU4/fedora-and-php-qa.html" title="Fedora and PHP QA" /><author><name>Christof Damian</name><uri>https://plus.google.com/110460361414656749360</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-cZTbsLHGAZQ/AAAAAAAAAAI/AAAAAAAANmM/iXaCm8k0N7E/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://christof.damian.net/2010/01/fedora-and-php-qa.html</feedburner:origLink></entry></feed>
