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

<channel>
	<title>Thibaut Van Spaandonck's blog</title>
	<atom:link href="http://thibautvs.com/blog/Index.php?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://thibautvs.com/blog</link>
	<description>Some stuff about Web and .NET development</description>
	<pubDate>Sun, 06 Nov 2011 20:08:57 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Book review : Framework design guidelines</title>
		<link>http://thibautvs.com/blog/?p=2238</link>
		<comments>http://thibautvs.com/blog/?p=2238#comments</comments>
		<pubDate>Sun, 09 Oct 2011 13:46:57 +0000</pubDate>
		<dc:creator>Thibaut</dc:creator>
		
		<category><![CDATA[Books]]></category>

		<category><![CDATA[.NET]]></category>

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

		<category><![CDATA[C#]]></category>

		<category><![CDATA[Framework design]]></category>

		<guid isPermaLink="false">http://thibautvs.com/blog/?p=2238</guid>
		<description><![CDATA[



Co-written by two Microsoft employees at the time (Brad Abrams now working at Google), this book is actually a publication of Microsoft guidelines that were produced along the way during the development of the .NET framework. Targeted to a large audience – developers from all levels will learn from this book – you&#8217;ll learn how [...]]]></description>
			<content:encoded><![CDATA[<table style="margin-bottom:1em">
<tr>
<td><a href="http://www.amazon.com/Framework-Design-Guidelines-Conventions-Libraries/dp/0321545613/ref=sr_1_1?ie=UTF8&#038;qid=1318166444&#038;sr=8-1" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.amazon.com');" target="_blank"><img src="http://thibautvs.com/blog/img/books/framework_design_guidelines.png" alt="Framework design guidelines" /></a></td>
<td>
<p style="text-align:justify">Co-written by two Microsoft employees at the time (Brad Abrams now working at Google), this book is actually a publication of Microsoft guidelines that were produced along the way during the development of the .NET framework. Targeted to a large audience – developers from all levels will learn from this book – you&#8217;ll learn how to design a high quality framework, which naming guidelines to apply, type and member design, how to design exceptions, guidelines on how/when to use common types and interfaces of the .NET framework, such as arrays, attributes, collections, serialization, etc. The book also explains the common design patterns of a framework and how to create a good API specification before coding your framework. Very clear and filled of comments of dozen of people participating in the development of the .NET framework, this book is an instant classic !</p>
</td>
</tr>
</table>
<p style="color:#22b14c"><strong>Pros</strong></p>
<ul>
<li>Very clear and instructive</li>
<li>Lots of guidelines commented by people working on the .NET framework, providing valuable information on how/when to apply those guidelines, when to break the rules, &#8230;</li>
<li>Developers of every level will benefit from this book</li>
</ul>
<p style="color:#ed1c24"><strong>Cons</strong></p>
<ul>
<li>Nothing special, very good book in overall</li>
</ul>
<p><strong>Conclusion</strong></p>
<p>Excellent book. A must-read for every .NET developer.</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Thibaut%20Van%20Spaandonck%27s%20blog&amp;siteurl=http%3A%2F%2Fthibautvs.com%2Fblog%2F&amp;linkname=Book%20review%20%3A%20Framework%20design%20guidelines&amp;linkurl=http%3A%2F%2Fthibautvs.com%2Fblog%2F%3Fp%3D2238" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.addtoany.com');"><img src="http://thibautvs.com/blog/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://thibautvs.com/blog/?feed=rss2&amp;p=2238</wfw:commentRss>
		</item>
		<item>
		<title>Book review : Smart &amp; Gets Things Done</title>
		<link>http://thibautvs.com/blog/?p=2198</link>
		<comments>http://thibautvs.com/blog/?p=2198#comments</comments>
		<pubDate>Mon, 19 Sep 2011 15:05:48 +0000</pubDate>
		<dc:creator>Thibaut</dc:creator>
		
		<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://thibautvs.com/blog/?p=2198</guid>
		<description><![CDATA[



Joël Spolsky, a former Microsoft employee, created his company Fog Creek Software based on the strong belief that hiring top software developers, treating them like rock stars and providing them the best tooling and work environment leads to a profitable business. From empirical results, this philosophy seems to be true. In this book, Joël describes [...]]]></description>
			<content:encoded><![CDATA[<table>
<tr>
<td><a href="http://www.amazon.com/Smart-Gets-Things-Done-Technical/dp/1590598385/ref=sr_1_1?ie=UTF8&#038;qid=1316440950&#038;sr=8-1" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.amazon.com');" title="Smart &amp; Gets Things Done" target="_blank"><img src="http://thibautvs.com/blog/img/books/smart_gets_things_done.png" alt="Smart &amp; Gets Things Done" /></a></td>
<td class="top">
<p align="justify"><a href="http://french.joelonsoftware.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/french.joelonsoftware.com');" title="Joël Spolsky" target="_blank">Joël Spolsky</a>, a former Microsoft employee, created his company <a href="http://www.fogcreek.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.fogcreek.com');" title="Fog Creek Software" target="_blank">Fog Creek Software</a> based on the strong belief that hiring top software developers, treating them like rock stars and providing them the best tooling and work environment leads to a profitable business. From empirical results, this philosophy seems to be true. In this book, Joël describes and justifies this philosophy in a concise and humorous book, filled with real life examples and anecdotes. In a nutshell, you&#8217;ll learn why hiring top developers is so important (depending on which business you&#8217;re in), how to attract and retain such profiles that are basically never on the market, what kind of office and tooling works best for productivity, etc. While one could think it&#8217;s intended for the IT recruiters audience, I found that this reading was very interesting for developers as well, so you know what qualities recruiters are looking for, among other things.</p>
</td>
</tr>
</table>
<p>&nbsp;</p>
<p style="color:#22b14c"><strong>Pros</strong></p>
<ul>
<li>Concise (can be read in an afternoon) and funny book</li>
<li>Lots of interesting infos and insights about recruiting top software professionals</li>
</ul>
<p style="color:#ed1c24"><strong>Cons</strong></p>
<ul>
<li>Conception given in the book is maybe a bit too elitist : while it claims that only top professionals should be hired, a lot of companies can&#8217;t afford to do that (they couldn&#8217;t attract nor retain those kind of people, unchallenging tasks is just one reason among others). A lot of projects don&#8217;t require every developer to be a rock star to succeed</li>
</ul>
<p><strong>Conclusion</strong></p>
<p>Very interesting book in overall. Just keep in mind that those principles only apply to companies who have the <em>potential</em> to attract and retain top developers. In that case, the learnings from this book prove to be very useful. Myself working for a company applying those principles (great people, great tooling, great environment such as free catering, massage, etc), I can definitely tell from experience that the results are incredible !</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Thibaut%20Van%20Spaandonck%27s%20blog&amp;siteurl=http%3A%2F%2Fthibautvs.com%2Fblog%2F&amp;linkname=Book%20review%20%3A%20Smart%20%26amp%3B%20Gets%20Things%20Done&amp;linkurl=http%3A%2F%2Fthibautvs.com%2Fblog%2F%3Fp%3D2198" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.addtoany.com');"><img src="http://thibautvs.com/blog/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://thibautvs.com/blog/?feed=rss2&amp;p=2198</wfw:commentRss>
		</item>
		<item>
		<title>Book review : WPF 4 training kit</title>
		<link>http://thibautvs.com/blog/?p=2170</link>
		<comments>http://thibautvs.com/blog/?p=2170#comments</comments>
		<pubDate>Fri, 15 Jul 2011 10:46:23 +0000</pubDate>
		<dc:creator>Thibaut</dc:creator>
		
		<category><![CDATA[Books]]></category>

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

		<category><![CDATA[WPF 4]]></category>

		<guid isPermaLink="false">http://thibautvs.com/blog/?p=2170</guid>
		<description><![CDATA[






I bought this book with the only objective to pass the WPF4 MCTS exam and I aced it ! So, this official training kit did the job. But let&#8217;s talk about the content and some remarks. The book covers the various topics that you are required to know to pass the exam. Those can be [...]]]></description>
			<content:encoded><![CDATA[<table>
<tr>
<td class="top">
<a href="http://www.amazon.com/MCTS-Self-Paced-Training-Exam-70-511/dp/0735627428/ref=sr_1_1?ie=UTF8&#038;qid=1310724014&#038;sr=8-1" title="WPF 4 training kit" target="_blank"><img src="http://thibautvs.com/blog/img/books/wpf4.jpg" alt="WPF 4 training kit" title="WPF 4 training kit" /><br />
</a>
</td>
<td class="top">
<p style="text-align:justify">I bought this book with the only objective to pass the WPF4 MCTS exam and I aced it ! So, this official training kit did the job. But let&#8217;s talk about the content and some remarks. The book covers the various topics that you are required to know to pass the exam. Those can be found on the <a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-511&#038;locale=en-us" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.microsoft.com');" title="WPF 4 exam topics" target="_blank">Microsoft website</a>. At the end of each chapter, you find exercices – exam style – to test your knowledge. There&#8217;s also a CD containing a digital copy of the book (pretty convenient if you want to search for keywords in the book) but more importantly you can practice using a program under different modes. Basically, study mode allows you to target specific topics with no limitation in time while certification mode puts you in exam situation using a timer. So that&#8217;s definitely valuable tooling to prepare you for passing the exam.</p>
</td>
</tr>
</table>
<p style="color:#22b14c">
<strong>Pros</strong></p>
<ul>
<li>Official training kit from Microsoft press, solely designed to make you pass the exam</li>
<li>Pragmatic and efficient approach, much easier to study with than the MSDN (which I used first when this book wasn&#8217;t released yet)</li>
<li>Did the job : I aced the exam scoring 90%</li>
</ul>
<p style="color:#ed1c24">
<strong>Cons</strong>
</p>
<ul>
<li>Some errors in the book (minor though)</li>
<li>Some questions on the program related to topics that are not covered in the book</li>
</ul>
<p>
<strong>Conclusion</strong>
</p>
<p>Valuable resource to help you pass the exam. Although, to make sure you pass it, don&#8217;t only rely on the book as the exam requires real experience that you cannot acquire by just reading. I also had questions during the exam about stuff that wasn&#8217;t covered in the book, so make sure you don&#8217;t limit your study to this book. I also read <a href="http://www.amazon.com/WPF-4-Unleashed-Adam-Nathan/dp/0672331195/ref=sr_1_1?ie=UTF8&#038;qid=1310727010&#038;sr=8-1" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.amazon.com');" title="WPF4 unleashed" target="_blank">WPF4 Unleashed</a> which was useful, you can find my review <a href="http://thibautvs.com/blog/?p=1946" onclick="" title="WPF4 unleashed">here</a>. Good luck <img src='http://thibautvs.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Thibaut%20Van%20Spaandonck%27s%20blog&amp;siteurl=http%3A%2F%2Fthibautvs.com%2Fblog%2F&amp;linkname=Book%20review%20%3A%20WPF%204%20training%20kit&amp;linkurl=http%3A%2F%2Fthibautvs.com%2Fblog%2F%3Fp%3D2170" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.addtoany.com');"><img src="http://thibautvs.com/blog/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://thibautvs.com/blog/?feed=rss2&amp;p=2170</wfw:commentRss>
		</item>
		<item>
		<title>Improve your project quality : ask the team</title>
		<link>http://thibautvs.com/blog/?p=2162</link>
		<comments>http://thibautvs.com/blog/?p=2162#comments</comments>
		<pubDate>Sun, 17 Apr 2011 20:13:25 +0000</pubDate>
		<dc:creator>Thibaut</dc:creator>
		
		<category><![CDATA[Quality]]></category>

		<category><![CDATA[Code quality]]></category>

		<guid isPermaLink="false">http://thibautvs.com/blog/?p=2162</guid>
		<description><![CDATA[
At work, our tech lead (architect on an agile project) recently asked every developer of the team, under the form of little 1 to 1 meetings, what in his opinion could be improved. Because every developer has his own vision of the project, knows issues that others might not be aware of, precious information shuch [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://thibautvs.com/blog/img/quality/quality_guarantee.jpg" alt="Quality" title="Quality" style="float:left" /></p>
<p>At work, our tech lead (architect on an agile project) recently asked every developer of the team, under the form of little 1 to 1 meetings, what in his opinion could be improved. Because every developer has his own vision of the project, knows issues that others might not be aware of, precious information shuch as those points below can be revealed :</p>
<ul>
<li>What are the main blocking points that we should get rid of</li>
<li>Suggestions for areas to refactor</li>
<li>Performance issues</li>
<li>Risks</li>
<li>&#8230;</li>
</ul>
<p>The tech lead basically wrote down on a sheet of paper what the developer said (at first, without showing him what other colleagues have said, to not influence his opinion). He added marks in front of every point that was mentionned several times (let&#8217;s say that your colleague said previously that the UI styles really need to be refactored and that you say the same, he&#8217;ll put a mark in front of that remark so he knows that&#8217;s a point of importance and that those having several marks should be tackled first.</p>
<p>Then, once the developer has finished, he showed him the sheet with the results so the developer could react based on what others have said, like <em>&#8220;oh yeah I forgot that point, it&#8217;s really important to address this one !&#8221;</em>.</p>
<p>Those 1 to 1 meetings didn&#8217;t take longer than 30min in total and really shed light on very important points that enabled to increase the quality of our project. Very simple to do and very useful. Actually it&#8217;s the first project where I see this practice, this should be done from time to time on every project in my opinion.</p>
<p>Make good use of it <img src='http://thibautvs.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Thibaut%20Van%20Spaandonck%27s%20blog&amp;siteurl=http%3A%2F%2Fthibautvs.com%2Fblog%2F&amp;linkname=Improve%20your%20project%20quality%20%3A%20ask%20the%20team&amp;linkurl=http%3A%2F%2Fthibautvs.com%2Fblog%2F%3Fp%3D2162" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.addtoany.com');"><img src="http://thibautvs.com/blog/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://thibautvs.com/blog/?feed=rss2&amp;p=2162</wfw:commentRss>
		</item>
		<item>
		<title>Improving your project consistency with checklists</title>
		<link>http://thibautvs.com/blog/?p=2148</link>
		<comments>http://thibautvs.com/blog/?p=2148#comments</comments>
		<pubDate>Sun, 17 Apr 2011 19:30:56 +0000</pubDate>
		<dc:creator>Thibaut</dc:creator>
		
		<category><![CDATA[Quality]]></category>

		<category><![CDATA[Code quality]]></category>

		<guid isPermaLink="false">http://thibautvs.com/blog/?p=2148</guid>
		<description><![CDATA[Almost every project has recurring operations consisting of several steps. The problem when there&#8217;s a lot of steps is that you have to know them by heart otherwise your project may become inconsistent and can lead to unexpected behaviors. Typically, developers save checklists files or screenshots of configuration settings on their local drive (like I [...]]]></description>
			<content:encoded><![CDATA[<p>Almost every project has recurring operations consisting of several steps. The problem when there&#8217;s a lot of steps is that you have to know them by heart otherwise your project may become inconsistent and can lead to unexpected behaviors. Typically, developers save checklists files or screenshots of configuration settings on their local drive (like I did) to be sure they remain consistent and they don&#8217;t forget steps. So why not just sharing that precious knowledge with the team ?</p>
<p>
Very simple : just create a <em>Checklists.txt</em> file at the root of your project (e.g. the backend project). As it will be source-controlled, any developer can add his contribution : add new checklists, complete existing ones or correct them.
</p>
<p><img src="http://thibautvs.com/blog/img/quality/checklists.jpg" alt="Checklists" title="Checklists" /></p>
<p>Here&#8217;s an example on how to organize that file :</p>
<p><img src="http://thibautvs.com/blog/img/quality/checklists_content.jpg" alt="Checklists content" title="Checklists content" /></p>
<p>Enforcing that practice also ensures faster adoption of code base for new developers as it will act as a mini tutorial of the most important operations on your project !</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Thibaut%20Van%20Spaandonck%27s%20blog&amp;siteurl=http%3A%2F%2Fthibautvs.com%2Fblog%2F&amp;linkname=Improving%20your%20project%20consistency%20with%20checklists&amp;linkurl=http%3A%2F%2Fthibautvs.com%2Fblog%2F%3Fp%3D2148" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.addtoany.com');"><img src="http://thibautvs.com/blog/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://thibautvs.com/blog/?feed=rss2&amp;p=2148</wfw:commentRss>
		</item>
		<item>
		<title>Fibonacci numbers for agile estimates</title>
		<link>http://thibautvs.com/blog/?p=2097</link>
		<comments>http://thibautvs.com/blog/?p=2097#comments</comments>
		<pubDate>Fri, 18 Feb 2011 18:39:45 +0000</pubDate>
		<dc:creator>Thibaut</dc:creator>
		
		<category><![CDATA[Agile]]></category>

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

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

		<category><![CDATA[Planning game]]></category>

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

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

		<guid isPermaLink="false">http://thibautvs.com/blog/?p=2097</guid>
		<description><![CDATA[





During the sprint planning, team members give estimates about the tasks they&#8217;re going work on in the coming sprint. Maybe some of you have already experienced that endless discussion about &#8220;is this a 10h or a 11h task ?&#8221;. This is where the planning poker, based on the Fibonacci numbers comes to the rescue.



Fibonacci numbers [...]]]></description>
			<content:encoded><![CDATA[<table>
<tr>
<td>
<img src="http://thibautvs.com/blog/img/agile/sprint_planning.jpg" title="Sprint Planning" alt="Sprint Planning" style="width:170px" />
</td>
<td>
<p style="text-align:justify">During the <em>sprint planning</em>, team members give estimates about the tasks they&#8217;re going work on in the coming sprint. Maybe some of you have already experienced that endless discussion about &#8220;is this a 10h or a 11h task ?&#8221;. This is where the <strong>planning poker</strong>, based on the <a href="http://en.wikipedia.org/wiki/Fibonacci_number" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');" title="Fibonacci Numbers" target="_blank">Fibonacci numbers</a> comes to the rescue.</p>
</td>
</tr>
</table>
<p style="clear:both; margin-top:0.5em">Fibonacci numbers are an integer sequence defined by the following recurrence relation :</p>
<p style="font-size:1.3em; text-align:center"><strong>F<sub>n</sub> = F<sub>n-1</sub> + F<sub>n-2</sub></strong></p>
<p style="margin-top:-0.5em">Which produces the following sequence :</p>
<p style="font-size:1.3em; text-align:center"><strong>0, 1, 1, 2, 3, 5, 8, 13, &#8230;</strong></p>
<table style="margin:-10px">
<tr>
<td>
<p style="text-align:justify">See the point ? Fibonacci numbers are particularly relevant for giving estimates. While one can easily estimate a 1h or 2h task, I don&#8217;t think a lot of people (if any) can tell for sure that a task will take 11h and not 12h. But with this technique, deciding between 8 and 13 is much easier. Some pokers also contain the 1/2 value, but the most useful addition is surely the &#8220;?&#8221; card, meaning that an accurate estimate isn&#8217;t possible because of the lack of visibility and more information should be given by the product owner.</p>
</td>
<td><img src="http://thibautvs.com/blog/img/agile/planning_poker.png" title="Planning poker" alt="Planning poker" /></td>
</tr>
</table>
<p></p>
<p>When hesitating too much about two consecutive values, consider the time dedicated to testing (manual testing, unit tests, &#8230;) and don&#8217;t forget that velocity isn&#8217;t really compatible with quality <img src='http://thibautvs.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Thibaut%20Van%20Spaandonck%27s%20blog&amp;siteurl=http%3A%2F%2Fthibautvs.com%2Fblog%2F&amp;linkname=Fibonacci%20numbers%20for%20agile%20estimates&amp;linkurl=http%3A%2F%2Fthibautvs.com%2Fblog%2F%3Fp%3D2097" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.addtoany.com');"><img src="http://thibautvs.com/blog/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://thibautvs.com/blog/?feed=rss2&amp;p=2097</wfw:commentRss>
		</item>
		<item>
		<title>Using Google Docs to translate your projects</title>
		<link>http://thibautvs.com/blog/?p=2058</link>
		<comments>http://thibautvs.com/blog/?p=2058#comments</comments>
		<pubDate>Sun, 30 Jan 2011 20:01:01 +0000</pubDate>
		<dc:creator>Thibaut</dc:creator>
		
		<category><![CDATA[Tools]]></category>

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

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

		<guid isPermaLink="false">http://thibautvs.com/blog/?p=2058</guid>
		<description><![CDATA[At work, we&#8217;re currently building a business application using Silverlight 4. One of the requirements is the support of multiple languages. Google Docs proves to be very useful in this context. Just create a spreadsheet, and using GoogleTranslate formulas, you&#8217;ll get your translations.
First step : create a new spreadsheet

Second step : create GoogleTranslate formulas

Use the [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify">At work, we&#8217;re currently building a business application using Silverlight 4. One of the requirements is the support of multiple languages. <a href="http://docs.google.com" onclick="javascript:pageTracker._trackPageview('/outbound/article/docs.google.com');" title="Google docs" target="_blank">Google Docs</a> proves to be very useful in this context. Just create a spreadsheet, and using <em>GoogleTranslate</em> formulas, you&#8217;ll get your translations.</p>
<h3>First step : create a new spreadsheet</h3>
<p><img style="margin:10px 0 10px 0" src="http://thibautvs.com/blog/img/tools/google_spreadsheet.jpg" alt="Google docs" title="Google docs" /></p>
<h3>Second step : create GoogleTranslate formulas</h3>
<p><img style="margin-top:10px" src="http://thibautvs.com/blog/img/tools/google_translate.jpg" title="Google translate" alt="Google translate" /></p>
<p>Use the formula below to obtain your translations. More info on the official <a href="http://docs.google.com/support/bin/answer.py?hl=en&#038;answer=162725" onclick="javascript:pageTracker._trackPageview('/outbound/article/docs.google.com');" title="Google translate" target="_blank">documentation page</a>.</p>
<div class="code">
=GoogleTranslate(&#8221;text&#8221;, &#8220;source language&#8221;,&#8221;target language&#8221;)
</div>
<h3>Conclusion</h3>
<p>While you shouldn&#8217;t rely at 100% on these translations when putting your application into production (to have correct translations, you need a context and the best way is still to get your translations from a person or company specializing into that), Google Docs is a very useful tool for the development stage. This way, you can test that your multilanguage support works correctly without having to wait for translations to be completed by third parties.</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Thibaut%20Van%20Spaandonck%27s%20blog&amp;siteurl=http%3A%2F%2Fthibautvs.com%2Fblog%2F&amp;linkname=Using%20Google%20Docs%20to%20translate%20your%20projects&amp;linkurl=http%3A%2F%2Fthibautvs.com%2Fblog%2F%3Fp%3D2058" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.addtoany.com');"><img src="http://thibautvs.com/blog/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://thibautvs.com/blog/?feed=rss2&amp;p=2058</wfw:commentRss>
		</item>
		<item>
		<title>Microsoft WebCamps Brussels - Summary</title>
		<link>http://thibautvs.com/blog/?p=2017</link>
		<comments>http://thibautvs.com/blog/?p=2017#comments</comments>
		<pubDate>Sun, 30 Jan 2011 16:23:11 +0000</pubDate>
		<dc:creator>Thibaut</dc:creator>
		
		<category><![CDATA[Training]]></category>

		<category><![CDATA[ASP.NET MVC 3]]></category>

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

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

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

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

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

		<guid isPermaLink="false">http://thibautvs.com/blog/?p=2017</guid>
		<description><![CDATA[
Last Monday was organized the Microsoft WebCamps event in Brussels. Dedicated to Web developers and UX designers, this one day event enables you to stay up-to-date with the latest stuff. Topics covered included HTML5, jQuery, ASP.NET MVC 3, &#8230; And I&#8217;m going to share some of my notes here.
Opening keynote
By Scott Hanselman

Presentation of WebMatrix and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.webcamps.ms/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.webcamps.ms');" title="Microsoft WebCamps" target="_blank"><img src="http://thibautvs.com/blog/img/training/webcamps.jpg" alt="WebCamps" title="WebCamps" /></a></p>
<p>Last Monday was organized the <a href="http://www.webcamps.ms/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.webcamps.ms');" title="Microsoft WebCamps" target="_blank">Microsoft WebCamps</a> event in Brussels. Dedicated to Web developers and UX designers, this one day event enables you to stay up-to-date with the latest stuff. Topics covered included HTML5, jQuery, ASP.NET MVC 3, &#8230; And I&#8217;m going to share some of my notes here.</p>
<h3>Opening keynote</h3>
<p><em>By Scott Hanselman</em></p>
<ul>
<li>Presentation of <em>WebMatrix</em> and the <em>Razor</em> syntax. For &#8220;get it done&#8221; developers who want, for example, to install and configure a website powered by a CMS for some customer in only a few minutes</li>
<li><em>jQuery</em> adoption is so big that Microsoft continues to invest into this library : <em>jQuery UI</em> will also be part of the .NET framework</li>
<li>Presentation of the new features of ASP.NET MVC 3. ScottGu has written some very interesting <a href="http://weblogs.asp.net/scottgu/archive/2010/07/27/introducing-asp-net-mvc-3-preview-1.aspx" onclick="javascript:pageTracker._trackPageview('/outbound/article/weblogs.asp.net');" title="ASP.NET MVC 3" target="_blank">articles</a> on the subject, be sure to check them out if you&#8217;re interested in MVC 3</li>
<li><a href="http://nuget.codeplex.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/nuget.codeplex.com');" title="NuGet" target="_blank">NuGet</a> is a very powerful package installer. With just a few commands, install <em>nInject</em>, <em>Entity Framework</em>, &#8230; Time to learn PowerShell has come <img src='http://thibautvs.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
</ul>
<h3>How about HTML5 today ?</h3>
<p><em>By Katrien De Graeve</em></p>
<ul>
<li><a href="http://blogs.msdn.com/b/katriend/archive/2011/01/26/slides-and-links-from-my-html5-today-talk-at-web-camp-belgium.aspx" onclick="javascript:pageTracker._trackPageview('/outbound/article/blogs.msdn.com');" title="Slides" target="_blank">Slides of the presentation</a>
<li>Use shims to use HTML5 today (the JS script to make IE recognize the new HTML5 tags)
<div class="code" style="font-family: Consolas; font-size: 10pt; color: black; background: white;">
<p style="margin: 0px;"><span style="color: blue;">&lt;!</span>&#8211;[if lt IE 9]<span style="color: blue;">&gt;</span></p>
<p style="margin: 0px;"><span style="color: blue;">&lt;</span><span style="color: maroon;">script</span> <span style="color: red;">src</span><span style="color: blue;">=&#8221;http://html5shim.googlecode.com/svn/trunk/html5.js&#8221;&gt;&lt;/</span><span style="color: maroon;">script</span><span style="color: blue;">&gt;</span></p>
<p style="margin: 0px;"><span style="color: blue;">&lt;!</span>[endif]&#8211;<span style="color: blue;">&gt;</span> </p>
</div>
</li>
<li>Use a reset CSS (typically to make some of the new elements display as <em>blocks</em></li>
<li>Download HTML5 instellisense for Visual Studio</li>
<li>Use <a href="http://blog.reybango.com/2010/09/21/how-to-create-html5-website-and-page-templates-for-visual-studio-2010/" onclick="javascript:pageTracker._trackPageview('/outbound/article/blog.reybango.com');" title="HTML5 Visual Studio templates" target="_blank">Ray Bango&#8217;s templates for Visual Studio</a></li>
<li>CSS3 : more control over color (RGBA, &#8230;), borders and shadows, fonts (use <a href="http://www.fontsquirrel.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.fontsquirrel.com');" title="FontSquirrel" target="_blank">FontSquirrel</a> to integrate custom fonts on your website)</li>
<li>Use IE9 developer tools (F12) to change the document mode (to IE8, IE7) to test against previous versions of browsers</li>
<li><a href="http://www.modernizr.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.modernizr.com');" ttile="Modernizr" target="_blank">Modernizr</a> : great JS library enabling you to target specific browser functionality in your stylesheet, so you can take advantage of HTML5 and CSS3 while having a compatible site for older browsers</li>
<li>&lt;video&gt; tag : different codecs supported by browsers. Be sure to create multiple encodings of the same video (by using VLC Media Player for example) or provide a fallback in Flash or Silverlight.
<div class="code" style="font-family: Consolas; font-size: 10pt; color: black; background: white;">
<p style="margin: 0px;"><span style="color: blue;">&lt;</span><span style="color: maroon;">video</span> <span style="color: red;">controls</span><span style="color: blue;">&gt;</span></p>
<p style="margin: 0px;">&nbsp;&nbsp;&nbsp; <span style="color: blue;">&lt;</span><span style="color: maroon;">source</span> <span style="color: red;">src</span><span style="color: blue;">=&quot;foo.ogg&quot;</span> <span style="color: red;">type</span><span style="color: blue;">=&quot;video/ogg&quot;&gt;</span></p>
<p style="margin: 0px;">&nbsp;&nbsp;&nbsp; <span style="color: blue;">&lt;</span><span style="color: maroon;">source</span> <span style="color: red;">src</span><span style="color: blue;">=&quot;foo.mp4&quot;&gt;</span></p>
<p style="margin: 0px;">&nbsp;&nbsp;&nbsp; <span style="color: blue;">&lt;</span><span style="color: maroon;">object</span> &#8230; <span style="color: blue;">/&gt;</span> <span style="color: #006400;">&lt;!&#8211; Silverlight or Flash &#8211;&gt;</span></p>
<p style="margin: 0px;"><span style="color: blue;">&lt;/</span><span style="color: maroon;">video</span><span style="color: blue;">&gt;</span></p>
</div>
</li>
<li>Canvas : drawing using JS. Example of application : <em>Pirates love Daisies</em>, a game written using Canvas.<br />
<a href="http://www.pirateslovedaisies.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.pirateslovedaisies.com');" title="Pirates love daisies" target="_blank"><img src="http://thibautvs.com/blog/img/training/pirateslovedaisies.jpg" alt="Pirates love daisies" title="Pirates love daisies" width="630" /></a>
</li>
<li>Use <a href="http://visitmix.com/labs/ai2canvas/" onclick="javascript:pageTracker._trackPageview('/outbound/article/visitmix.com');" title="Ai to Canvas" target="_blank">Ai to Canvas</a> to convert <em>Adobe Illustrator</em> files to a canvas compliant format</li>
<li>Canvas (bitmap) != SVG (vector)</li>
<li>General guidelines :
<ul>
<li>Use <em>feature detection</em> VS <em>browser detection</em>. For each new version, browsers implement more and more the HTML5 spec. So browser detection isn&#8217;t a good approach at all</li>
<li>Start using HTML5 now ! Don&#8217;t wait for the spec to be complete (you would still be waiting for the CSS2 spec to be complete then&#8230;)</li>
</ul>
</li>
<li></li>
</ul>
<h3>Come in as a jQuery zero, go out as a jQuery hero</h3>
<p><em>By Gill Cleeren</em></p>
<ul>
<li>Intro of jQuery (selectors, plugins, &#8230;) : I&#8217;m not going to rewrite the complete course here, just google, the web contains loads of tutorials about that hot subject</li>
</ul>
<h3>OData : open data for the web</h3>
<p><em>By Scott Hanselman</em></p>
<ul>
<li>Web protocol for querying and updating data</li>
<li>Way to unlock your data and free it from silos that exist in applications today</li>
<li>Built upon Web technologies such as <em>HTTP</em>, <em>Atom Publishing Protocol (AtomPub)</em> and <em>JSON</em></li>
<li>Popular sites such as <a href="http://www.netflix.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.netflix.com');" title="Netflix" target="_blank">Netflix</a> and <a href="http://twitpic.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/twitpic.com');" title="Twitpic" target="_blank">Twitpic</a> use OData :
<ul>
<li><a href="http://odata.netflix.com" onclick="javascript:pageTracker._trackPageview('/outbound/article/odata.netflix.com');" target="_blank" title="Netflix OData">http://odata.netflix.com</a></li>
<li><a href="http://odata.twitpic.com" onclick="javascript:pageTracker._trackPageview('/outbound/article/odata.twitpic.com');" target="_blank" title="Twitpic OData">http://odata.twitpic.com</a></li>
</ul>
</li>
<li style="margin-top:-1em">Take a look at the <a href="http://odata.org" onclick="javascript:pageTracker._trackPageview('/outbound/article/odata.org');" title="OData official website" target="_blank">official OData website</a> for more info</li>
</ul>
<p>And that&#8217;s it ! Have fun playing with that exciting stuff <img src='http://thibautvs.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Thibaut%20Van%20Spaandonck%27s%20blog&amp;siteurl=http%3A%2F%2Fthibautvs.com%2Fblog%2F&amp;linkname=Microsoft%20WebCamps%20Brussels%20-%20Summary&amp;linkurl=http%3A%2F%2Fthibautvs.com%2Fblog%2F%3Fp%3D2017" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.addtoany.com');"><img src="http://thibautvs.com/blog/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://thibautvs.com/blog/?feed=rss2&amp;p=2017</wfw:commentRss>
		</item>
		<item>
		<title>Book review : CSS3 for web designers</title>
		<link>http://thibautvs.com/blog/?p=2000</link>
		<comments>http://thibautvs.com/blog/?p=2000#comments</comments>
		<pubDate>Thu, 13 Jan 2011 21:48:15 +0000</pubDate>
		<dc:creator>Thibaut</dc:creator>
		
		<category><![CDATA[Books]]></category>

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

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

		<guid isPermaLink="false">http://thibautvs.com/blog/?p=2000</guid>
		<description><![CDATA[


CSS3 for web designers is the second book from A Book Apart, a new publishing company specializing in writing brief books on various web topics. All those books are about 100 pages long, laser focused, covering only essential topics. This book, written by CSS expert Dan Cederholm will teach you the essential topics of CSS3 [...]]]></description>
			<content:encoded><![CDATA[<table>
<tr>
<td><a href="http://books.alistapart.com/products/css3-for-web-designers" onclick="javascript:pageTracker._trackPageview('/outbound/article/books.alistapart.com');" target="_blank" title="CSS3 for webdesigners"><img src="http://thibautvs.com/blog/img/books/css3forwebdesigners.png" title="CSS3 for web designers" alt="CSS3 for web designers" /></a></td>
<td><a href="http://books.alistapart.com/products/css3-for-web-designers" onclick="javascript:pageTracker._trackPageview('/outbound/article/books.alistapart.com');" target="_blank" title="CSS3 for webdesigners">CSS3 for web designers</a> is the second book from <a href="http://books.alistapart.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/books.alistapart.com');" title="A Book Apart" target="_blank">A Book Apart</a>, a new publishing company specializing in writing brief books on various web topics. All those books are about 100 pages long, laser focused, covering only essential topics. This book, written by CSS expert <a href="http://simplebits.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/simplebits.com');" title="Simple bits" target="_blank">Dan Cederholm</a> will teach you the essential topics of CSS3 that can already be used today. Covered topics include a presentation of CSS3 and the core properties already implemented by the majority of web browsers (border-radius, text-shadow, opacity, RGBA, &#8230;), transitions, hover-effects crafting based on the development of a mini-website, transforms (rotate, skew and translate), multiple backgrounds (including techniques such as <a href="http://en.wikipedia.org/wiki/Parallax_scrolling" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');" title="Parallax scrolling" target="_blank">parallax scrolling</a>), forms enrichment (kickass buttons in pure CSS, pulsating glow effects on field inputs, CSS gradients and keyframe animations) and finally links to some of the best CSS3 resources on the web are provided.</td>
</tr>
</table>
<p><strong>
<p style="color:#22b14c">Pros</p>
<p></strong></p>
<ul>
<li>Very brief book, making effective use of our time</li>
<li>Relevant decision to cover only a portion of CSS3, but in depth because it&#8217;s widely implemented by web browsers and thus usable today, instead of covering more topics that might even not be ratified by the W3C</li>
<li>Full color book</li>
</ul>
<p><strong>
<p style="color:#ed1c24">Cons</p>
<p></strong></p>
<ul>
<li>Quality of the book itself (cover paper) is pretty poor. The thinness of the paper makes it a book that gets easily damaged</li>
<li>Currently available only from <em>A Book Apart</em>. Took me 3 weeks to get it from NYC to Belgium</li>
</ul>
<p><strong>
<p>Conclusion</p>
<p></strong></p>
<p>Very interesting introduction to CSS3. Gives you what&#8217;s needed to know to improve the experience of your websites or web applications starting from today.</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Thibaut%20Van%20Spaandonck%27s%20blog&amp;siteurl=http%3A%2F%2Fthibautvs.com%2Fblog%2F&amp;linkname=Book%20review%20%3A%20CSS3%20for%20web%20designers&amp;linkurl=http%3A%2F%2Fthibautvs.com%2Fblog%2F%3Fp%3D2000" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.addtoany.com');"><img src="http://thibautvs.com/blog/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://thibautvs.com/blog/?feed=rss2&amp;p=2000</wfw:commentRss>
		</item>
		<item>
		<title>Book review : HTML5 for web designers</title>
		<link>http://thibautvs.com/blog/?p=1967</link>
		<comments>http://thibautvs.com/blog/?p=1967#comments</comments>
		<pubDate>Tue, 11 Jan 2011 10:38:33 +0000</pubDate>
		<dc:creator>Thibaut</dc:creator>
		
		<category><![CDATA[Books]]></category>

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

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

		<guid isPermaLink="false">http://thibautvs.com/blog/?p=1967</guid>
		<description><![CDATA[






HTML5 for web designers is the first book from A Book Apart, a new publishing company specializing in writing brief books on various web topics. All those books are about 100 pages long, laser focused, covering only essential topics. This book, written by Jeremy Keith (author of DOM Scripting, that I reviewed here), will guide [...]]]></description>
			<content:encoded><![CDATA[<table>
<tr>
<td class="top"><a href="http://books.alistapart.com/products/html5-for-web-designers" title="HTML5 for web designers" target="_blank"><br />
<img src="http://thibautvs.com/blog/img/books/html5forwebdesigners.png" title="HTML5 for web designers" alt="HTML5 for web designers" /><br />
</a>
</td>
<td class="top">
<p style="margin-top:2em"><a href="http://books.alistapart.com/products/html5-for-web-designers" onclick="javascript:pageTracker._trackPageview('/outbound/article/books.alistapart.com');" title="HTML5 for web designers" target="_blank">HTML5 for web designers</a> is the first book from <a href="http://books.alistapart.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/books.alistapart.com');" title="A Book Apart" target="_blank">A Book Apart</a>, a new publishing company specializing in writing brief books on various web topics. All those books are about 100 pages long, laser focused, covering only essential topics. This book, written by Jeremy Keith (author of <em>DOM Scripting</em>, that I reviewed <a href="http://thibautvs.com/blog/?p=1275" onclick="" title="DOM Scripting book review">here</a>), will guide you through the hot new stuff that HTML5 offers and how to harness its power from now on. Covered topics include a brief history on HTML markup, the design of HTML5, rich media (canvas, audio &amp; video tags and the different options, &#8230;), the new features of web forms (new types of inputs such as calendar, sliders, &#8230;), semantics (microformats, new HTML5 tags such as header, footer and nav, content models, outlining, scoped styles, &#8230;) and finally how to use HTML5 today with an introduction of the different tools and libraries to help you out in this task.</p>
</td>
</tr>
</table>
<p><strong>
<p style="color:#22b14c">Pros</p>
<p></strong></p>
<ul>
<li>Great idea to write brief and laser focused books. This is a change from the traditional bibles of hundreds (thousands sometimes) of pages taking decades to digest</li>
<li>Very interesting introduction to HTML5, covering essential topics and explaining how to use them already based on current browser support</li>
<li>Full color book</li>
</ul>
<p><strong>
<p style="color:#ed1c24">Cons</p>
<p></strong></p>
<ul>
<li>Quality of the book itself (cover paper) is pretty poor. The thinness of the paper makes it a book that gets easily damaged</li>
<li>Currently available only from <em>A Book Apart</em>. Took me 3 weeks to get it from NYC to Belgium</li>
</ul>
<p><strong>
<p>Conclusion</p>
<p></strong></p>
<p>Very interesting book for web developers and designers planning to learn HTML5. Be aware that, due to its very small size, this book is rather an introduction than a course. A good starting point before digging further into HTML5. Would be great if the quality of the paper and distribution channels could be improved.</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Thibaut%20Van%20Spaandonck%27s%20blog&amp;siteurl=http%3A%2F%2Fthibautvs.com%2Fblog%2F&amp;linkname=Book%20review%20%3A%20HTML5%20for%20web%20designers&amp;linkurl=http%3A%2F%2Fthibautvs.com%2Fblog%2F%3Fp%3D1967" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.addtoany.com');"><img src="http://thibautvs.com/blog/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://thibautvs.com/blog/?feed=rss2&amp;p=1967</wfw:commentRss>
		</item>
	</channel>
</rss>

