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

<channel>
	<title>Sadek Drobi's Blog &#187; D90</title>
	<atom:link href="http://sadekdrobi.com/category/d90/feed/" rel="self" type="application/rss+xml" />
	<link>http://sadekdrobi.com</link>
	<description>Sadek Drobi</description>
	<lastBuildDate>Wed, 06 Jan 2010 23:11:59 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>RefX :: Innovation is often not at your expectations or knowledge level !</title>
		<link>http://sadekdrobi.com/2008/12/15/refx-innovation-is-often-not-at-your-expectations-or-knowledge-level/</link>
		<comments>http://sadekdrobi.com/2008/12/15/refx-innovation-is-often-not-at-your-expectations-or-knowledge-level/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 00:08:24 +0000</pubDate>
		<dc:creator>Sadache</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[D90]]></category>
		<category><![CDATA[LinQ]]></category>
		<category><![CDATA[QCon]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Volta]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[gwt]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://sadekdrobi.com/2008/12/15/refx-innovation-is-often-not-at-your-expectations-or-knowledge-level/</guid>
		<description><![CDATA[
&#160; &#160;  
@QCon SF, I attended a presentation of Erik Meijer in which he talked about research projects he is involved in, including the Volta project. He talked about an interesting problem that is ignored when we talk about Ajax application and especially when we talk about solutions like GWT that make you feel [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://sadekdrobi.com/wp-content/uploads/2008/12/dsc-2064.jpg"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="DSC_2064" src="http://sadekdrobi.com/wp-content/uploads/2008/12/dsc-2064-thumb.jpg" width="559" height="375" /></a></p>
<p>&#160;<a href="http://sadekdrobi.com/wp-content/uploads/2008/12/dsc-2073.jpg"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="DSC_2073" src="http://sadekdrobi.com/wp-content/uploads/2008/12/dsc-2073-thumb.jpg" width="133" height="93" /></a> <a href="http://sadekdrobi.com/wp-content/uploads/2008/12/dsc-2065.jpg"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="DSC_2065" src="http://sadekdrobi.com/wp-content/uploads/2008/12/dsc-2065-thumb.jpg" width="134" height="93" /></a>&#160; <a href="http://sadekdrobi.com/wp-content/uploads/2008/12/dsc-2071.jpg"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="DSC_2071" src="http://sadekdrobi.com/wp-content/uploads/2008/12/dsc-2071-thumb.jpg" width="133" height="93" /></a> <a href="http://sadekdrobi.com/wp-content/uploads/2008/12/dsc-2068.jpg"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="DSC_2068" src="http://sadekdrobi.com/wp-content/uploads/2008/12/dsc-2068-thumb.jpg" width="134" height="93" /></a></p>
<p>@QCon SF, I attended a presentation of Erik Meijer in which he talked about research projects he is involved in, including the Volta project. He talked about an interesting problem that is ignored when we talk about Ajax application and especially when we talk about solutions like GWT that make you feel home while programming for the web. In such an experience, and before splitting your application and deploying it on the web, you feel quite secured. Anyway, often, it is not so important to look for securing inner computer guts communication when there is no network involved. Evil shows up when it is time to go live, to the clouds. There you are not communicating through inner channels but rather through public Internet network.</p>
</p>
<p><span id="more-558"></span></p>
<p>Now, &quot;evil&quot; seems like exaggerating. But with rich ajaxified web applications, there is a part of the business logic that is done at the client side. If you are designing a &quot;Web 2.0&quot; application you have indeed to do some work at the client side to keep your application responsive. This gives even more chance and time for malware to play and mess around. The page is not anymore returned by the server but rather dynamically constructed using javascript after some asynchronous web calls to the server. User&#8217;s session got longer, giving more opportunities for evil (not thinking of invocation of some javascript that is supposed to be returned from the server!).</p>
<p>Erik, while talking about Volta project, seemed very concerned about this security hole that everyone ignored when talking about splitting an application into two parts or about RIA applications. During this interesting presentation, he suggested a solution to this problem: a low level channel that transmits user&#8217;s key interactions to the server in a secured way to be replayed to verify the request sent through http. This mechanism is introduced through a plugin or so. This suggestion triggered negative reaction in the audience, people seemed not to like the idea for several reasons. Some people thought that it is bad for confidentiality reasons. I guess the server anyway knows about what the user does through the http requests, so I guess there is no harm in this channel.</p>
<p>But what really drew my attention is that a lot of people thought it is a bad idea because it &quot;breaks web rules&quot;, or &quot;breaks the web&#8217;s architecture&quot;, or &quot;introduces a whole new concept that people will certainly reject&quot;. Well here, I feel to clear out some points.</p>
<p>Firstly, this is Microsoft that is in act. Back when Microsoft introduced Xml request into their browser for outlook&#8217;s web interface, everyone felt it like a bad idea and that they are breaking the rules. Later on, that became a standard and an essential part of the Web 2.0 enabler that is called AJAX. Examples like this are numerous but this one is sufficient.</p>
<p>Secondly, as the title of this post says, innovations do not come often at our knowledge or expectation level. I mean, who could ever imagine that the Web will have the shape it has today, or that it will even exist.</p>
<p>Last but not least, Erik and his team are trying to find a solution to an ignored unsolved, yet very dangerous, problem. This solution, if it works, can save us from a lot of malware, spam and other kinds of evil on the web. With Microsoft behind it, I guess people will have no problem adopting the solution when it is integrated in the next browser, the most used browser for far. And, think about it, a lot of big companies solutions became standards. Maybe that is Microsoft&#8217;s way back to the WWWeb!</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:15d53752-2382-4fa9-bd97-3df251b1c33a" class="wlWriterSmartContent">Mots cl&#233;s Technorati : <a href="http://technorati.com/tags/volta" rel="tag">volta</a>,<a href="http://technorati.com/tags/web" rel="tag">web</a>,<a href="http://technorati.com/tags/security" rel="tag">security</a>,<a href="http://technorati.com/tags/microsoft" rel="tag">microsoft</a>,<a href="http://technorati.com/tags/safety" rel="tag">safety</a>,<a href="http://technorati.com/tags/ajax" rel="tag">ajax</a>,<a href="http://technorati.com/tags/gwt" rel="tag">gwt</a>,<a href="http://technorati.com/tags/programming" rel="tag">programming</a>,<a href="http://technorati.com/tags/qcon" rel="tag">qcon</a>,<a href="http://technorati.com/tags/research" rel="tag">research</a>,<a href="http://technorati.com/tags/standards" rel="tag">standards</a>,<a href="http://technorati.com/tags/spam" rel="tag">spam</a></div>
]]></content:encoded>
			<wfw:commentRss>http://sadekdrobi.com/2008/12/15/refx-innovation-is-often-not-at-your-expectations-or-knowledge-level/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RefX:: ORMs, Relational Data, Mismatch, LinQ and DSLs</title>
		<link>http://sadekdrobi.com/2008/11/10/refx-orms-relational-data-mismatch-linq-and-dsls/</link>
		<comments>http://sadekdrobi.com/2008/11/10/refx-orms-relational-data-mismatch-linq-and-dsls/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 02:42:22 +0000</pubDate>
		<dc:creator>Sadache</dc:creator>
				<category><![CDATA[Agile in the Enterprise]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[D90]]></category>
		<category><![CDATA[DOTNET]]></category>
		<category><![CDATA[DSL]]></category>
		<category><![CDATA[Domain Driven Design]]></category>
		<category><![CDATA[Haskell]]></category>
		<category><![CDATA[LinQ]]></category>
		<category><![CDATA[Mapping]]></category>
		<category><![CDATA[Model Mismatch]]></category>
		<category><![CDATA[Multi-Paradigm Design]]></category>
		<category><![CDATA[ORM]]></category>
		<category><![CDATA[Polyglot Programming]]></category>
		<category><![CDATA[Productivity]]></category>

		<guid isPermaLink="false">http://sadekdrobi.com/2008/11/10/refx-orms-relational-data-mismatch-linq-and-dsls/</guid>
		<description><![CDATA[   
Having worked with several Object-Relational mapping frameworks in the last few years, I got to a point where I couldn&#8217;t justify their complexity in my project. We often talk about the mismatch between the database and the object worlds, and that is where ORMs are often stated and referenced for &#8220;bridging the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://sadekdrobi.com/wp-content/uploads/2008/11/raw000781.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="361" alt="Raw00078" src="http://sadekdrobi.com/wp-content/uploads/2008/11/raw00078-thumb1.jpg" width="534" border="0"></a> <a href="http://sadekdrobi.com/wp-content/uploads/2008/11/raw001701.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="379" alt="Raw00170" src="http://sadekdrobi.com/wp-content/uploads/2008/11/raw00170-thumb1.jpg" width="258" border="0"></a> <a href="http://sadekdrobi.com/wp-content/uploads/2008/11/dsc-01911.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="378" alt="DSC_0191" src="http://sadekdrobi.com/wp-content/uploads/2008/11/dsc-0191-thumb1.jpg" width="257" border="0"></a> </p>
<p>Having worked with several Object-Relational mapping frameworks in the last few years, I got to a point where I couldn&#8217;t justify their complexity in my project. We often talk about the mismatch between the database and the object worlds, and that is where ORMs are often stated and referenced for &#8220;bridging the gap&#8221;!</p>
<p>Well I prefer to call it lifting the gap, or highering the gap, to have it now between DAOs and the rest of the code than having it between database and code.But I wouldn&#8217;t call this in any way reducing the gap.</p>
<p><span id="more-538"></span></p>
<p>First thing to mention here, is that data structures are not evil. We often deal with XML data structure but we absolutely refuse to deal with relational data structures. The problem might be related to time, XML came with a whole arsenal of managed APIs that represent its model in a way that makes it more comfortable for you to manipulate these documents. All together with transformation APIs that made it a lot easier to fill your object model out of an XML. Relational data structure on the other hand did not have the luxury of standard APIs and representation models in mainstream languages, and that made dealing with a database request result so arbitrary (Datasets existed in .Net but they have been cursed heavily and has been forced out of the cool toolbox, do not know yet why!) .&nbsp; </p>
<p>In some way, I guess that the &#8220;mismatch&#8221; between Relational data structures and objects exists much similarly between XML and objects, however we didn&#8217;t think for so long of a doing a mapping between XML and object OXM? (no we are starting to do so, writing some XML to map XML to objects!).</p>
<p>With the experience I had with mapping technologies, I can say that they do not solve the problem for me. They merely add yet another useless level of abstraction where your domain types look nothing like relational data structures, but yet nothing like your target domain model! They have gone a half way, and now its your turn to poison your application with a lot of absurd ORM code trying to stretch this bridge to reduce the gap&#8230; </p>
<p>Geeks love talking about intrusivty of an ORMs and compare level of intrusivty in different terms. Intrusivty is much more than the lack of an interface or methods to implement in your domain objects. I guess I am ok to deal with that kind of intrusivity. However all ORMs I tried do not give me the opportunity to express my domain model in the way I would like to. I have to deal with notions of Lazy Loading, Attached/Detached entities, Entity sets, ids, back fields and a lot of other things that I don&#8217;t want to appear in my model and that make the resulting code so ugly and complex that I don&#8217;t wish to visit soon.</p>
<p>As Bob Martin said before, we are missing the opportunity to do oop, I would enforce and say we are missing the opportunity to model at all. And I guess we have gone too far with ORMs and it is time to go back to the basics, in the same way we have done after the EJB great abstraction.</p>
<p>It is very contradictory, while we are so excited about DSLs and the goodness they can potentially bring to enterprise development that results in a declarative semanticful style of programming, we can&#8217;t help but to engage all of our means in trying to bury SQL (and effective, semanticful, declarative powerful domain specific language) behind a dumb API to &#8220;abstract database access&#8221;! I guess we got to chose one strategy, either we keep SQL and we&nbsp; keep marketing DSLs or we hope for a new advanced GPL compiler that will hide all of this in the same way modern languages did with garbage collection, concurrency and synchronization.</p>
<p>Since I am not yet a compiler writer, and I aint got around an effective way of integrating database in mainstream languages (there is actually a very productive in memory database on Haskell that worth trying), I decide to keep the DSL, and to work with them without the need to hide them, but rather to get a better tooling to help converting between difference data structures.</p>
<p>I guess you&#8217;ve guessed it by now. For me LinQ is the mid-term solution for the data structure mismatch. No not LinQ to sql, nor Ado.Net entities (they are helpful and we might use them but lets focus on the solution). LinQ is a very productive tool that halps effectively transform anything to anything in few lines of code. I mean that I can still use powerful SQL to get data effeciently and then convert them with one line of LinQ into the destination data structure. No abstraction leak, less complexity: Use the right tool where it applies. </p>
<p>So what I would actually do is to use a framework that will execute my SQL or SQL like query on the database and get me the records in much the same way they are in the database,Much in the same way Active Record gets you records as they are in the database. No useless efforts from the framework to bend the data to make it look untruthfully like the destination model.&nbsp; I guess I know better my domain model, and with this better tooling I can get it done with no problem.</p>
<p>&nbsp;</p>
<div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f663d4e1-de43-4d9c-9f89-7b45ec5b5a86" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Mots clÃ©s Technorati : <a href="http://technorati.com/tags/mapping" rel="tag">mapping</a>,<a href="http://technorati.com/tags/orm" rel="tag">orm</a>,<a href="http://technorati.com/tags/linq" rel="tag">linq</a>,<a href="http://technorati.com/tags/mismatch" rel="tag">mismatch</a>,<a href="http://technorati.com/tags/relational.%20data%20structure" rel="tag">relational. data structure</a>,<a href="http://technorati.com/tags/abstraction" rel="tag">abstraction</a>,<a href="http://technorati.com/tags/domain%20model" rel="tag">domain model</a>,<a href="http://technorati.com/tags/deseign" rel="tag">deseign</a></div>
]]></content:encoded>
			<wfw:commentRss>http://sadekdrobi.com/2008/11/10/refx-orms-relational-data-mismatch-linq-and-dsls/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Code Safety and Correctness is a matter of Mindset Cultured by the Language</title>
		<link>http://sadekdrobi.com/2008/11/02/code-safety-and-correctness-is-a-matter-of-mindset-cultured-by-the-language/</link>
		<comments>http://sadekdrobi.com/2008/11/02/code-safety-and-correctness-is-a-matter-of-mindset-cultured-by-the-language/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 22:27:22 +0000</pubDate>
		<dc:creator>Sadache</dc:creator>
				<category><![CDATA[Agile Programming]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[D90]]></category>
		<category><![CDATA[Decipline]]></category>
		<category><![CDATA[Haskell]]></category>
		<category><![CDATA[video-portrait]]></category>

		<guid isPermaLink="false">http://sadekdrobi.com/2008/11/02/code-safety-and-correctness-is-a-matter-of-mindset-cultured-by-the-language/</guid>
		<description><![CDATA[ 
In my trip through Haskell programming I keep discovering how clean and enjoyable the language is. By the end I am someone that loves doing abstractions and I guess I&#8217;ve found my world.
I discussed with some colleagues lately how a programming language creates a whole culture around it. This culture inherits from language properties [...]]]></description>
			<content:encoded><![CDATA[<p><embed src="http://www.youtube.com/v/JAZZpi68C0g" width="425" height="350" type="application/x-shockwave-flash"> </embed>
<p>In my trip through Haskell programming I keep discovering how clean and enjoyable the language is. By the end I am someone that loves doing abstractions and I guess I&#8217;ve found my world.</p>
<p>I discussed with some colleagues lately how a programming language creates a whole culture around it. This culture inherits from language properties and shapes the language programming style.</p>
<p><span id="more-531"></span></p>
<p>Take for example Java; there are a lot of different ways to program in java. The java syntax does not force you to program OOP. It is just more convenient to do so. Same thing goes with other programming languages. However it is not only about paradigm, it is really about a whole mindset.</p>
<p>While programming a web site with Haskell, I was searching for a function that parses a string to return me an int. As I&#8217;ve been for a long time a C#/Java programmer I expected to find a simple function like what I used to use in these language. A function that simply takes a string and produces and int. After a fair search I didn&#8217;t find such a &#8220;simple&#8221; function. I&#8217;ve rather found a function with slightly more complicated/richer signature (type). This function takes a string and returns a list of int-string pairs. This got me thinking, there should be a reason for not offering the simple function I was searching for&#8230;</p>
<p>I quickly started understanding why libraries implementers chose to offer this function with this signature and I did so simply by imagining its use. Imagine that I pass a string that is not the expected type (in our case int) to this <em>reads (stands for read string) </em>function, what would happen? Well in the simple version of C# and Java, the parsing function well throw an <em>exception</em> when passed a string that can not be parsed. In some way, the signature of the function promises me to get always the expected type (in our case an int) as a return of using it but it actually lies! Throwing an unexpected <em>exception</em> comes as a surprise as the signature (the function type) looked extremely kind but behaved irresponsibly unexpectedly when I trusted it. But what about the Haskell version?</p>
<p>Well the type of the Haskell function tells me &#8220;I will try to parse the string passed, and each time I find a fit with your expected type I will return a pair with the value in the expected type and a remaining string that represents what remains&#8221;. So here the function type tells me that it will try to parse and that it will might face several possibilities. There is no lie here, no magic, no false promise, parsing strings can produce several possibilities depending on the parsing method, and that what the function tells me.</p>
<p>I like the no surprise / safe&nbsp; programming culture in Haskell. I guess there are a lot of lessons to be learnt from this style of programming.</p>
<p>PS: Some might call this safe style &#8220;defensive programming&#8221; to make it look rigid, I guess there is no point in calling it so, and I would rather call it communicative programming, no surprise programming, or intention revealing programming. I like DbC!</p>
]]></content:encoded>
			<wfw:commentRss>http://sadekdrobi.com/2008/11/02/code-safety-and-correctness-is-a-matter-of-mindset-cultured-by-the-language/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Valtech Days 2008 excerpt</title>
		<link>http://sadekdrobi.com/2008/11/02/valtech-days-2008-excerpt-2/</link>
		<comments>http://sadekdrobi.com/2008/11/02/valtech-days-2008-excerpt-2/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 15:54:50 +0000</pubDate>
		<dc:creator>Sadache</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[D90]]></category>
		<category><![CDATA[Valtech]]></category>
		<category><![CDATA[Valtech-Days-2008]]></category>

		<guid isPermaLink="false">http://sadekdrobi.com/2008/11/02/valtech-days-2008-excerpt-2/</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><embed src="http://www.youtube.com/v/jVGrYFq8f6Y&amp;hl=en&amp;fs=1" width="425" height="344" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always"></embed></p>
]]></content:encoded>
			<wfw:commentRss>http://sadekdrobi.com/2008/11/02/valtech-days-2008-excerpt-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Valtech Days 2008 excerpt</title>
		<link>http://sadekdrobi.com/2008/11/02/valtech-days-2008-excerpt/</link>
		<comments>http://sadekdrobi.com/2008/11/02/valtech-days-2008-excerpt/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 15:50:33 +0000</pubDate>
		<dc:creator>Sadache</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[D90]]></category>
		<category><![CDATA[Valtech]]></category>
		<category><![CDATA[Valtech-Days-2008]]></category>

		<guid isPermaLink="false">http://sadekdrobi.com/2008/11/02/valtech-days-2008-excerpt/</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><embed src="http://www.youtube.com/v/0NZ5kw6LvFw&amp;hl=en&amp;fs=1" width="425" height="344" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always"></embed></p>
]]></content:encoded>
			<wfw:commentRss>http://sadekdrobi.com/2008/11/02/valtech-days-2008-excerpt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Teaser: Valtech Days Paris 2008</title>
		<link>http://sadekdrobi.com/2008/11/02/teaser-valtech-days-paris-2008/</link>
		<comments>http://sadekdrobi.com/2008/11/02/teaser-valtech-days-paris-2008/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 15:32:50 +0000</pubDate>
		<dc:creator>Sadache</dc:creator>
				<category><![CDATA[D90]]></category>
		<category><![CDATA[Valtech]]></category>
		<category><![CDATA[Valtech-Days-2008]]></category>

		<guid isPermaLink="false">http://sadekdrobi.com/2008/11/02/teaser-valtech-days-paris-2008/</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><embed src="http://www.youtube.com/v/odtKUfzEZ2s&amp;hl=en&amp;fs=1" width="425" height="344" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always"></embed></p>
]]></content:encoded>
			<wfw:commentRss>http://sadekdrobi.com/2008/11/02/teaser-valtech-days-paris-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test video portrait</title>
		<link>http://sadekdrobi.com/2008/11/02/test-video-portrait/</link>
		<comments>http://sadekdrobi.com/2008/11/02/test-video-portrait/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 15:24:27 +0000</pubDate>
		<dc:creator>Sadache</dc:creator>
				<category><![CDATA[D90]]></category>
		<category><![CDATA[lensbaby]]></category>
		<category><![CDATA[video-portrait]]></category>

		<guid isPermaLink="false">http://sadekdrobi.com/2008/11/02/test-video-portrait/</guid>
		<description><![CDATA[   
]]></description>
			<content:encoded><![CDATA[<p><embed src="http://www.youtube.com/v/PGr1sMaqZIM" width="425" height="350" type="application/x-shockwave-flash"> </embed><embed src="http://www.youtube.com/v/flru2kWFZKQ" width="425" height="350" type="application/x-shockwave-flash"> </embed><embed src="http://www.youtube.com/v/PC7SEKUAH3w" width="425" height="350" type="application/x-shockwave-flash"> </embed></p>
]]></content:encoded>
			<wfw:commentRss>http://sadekdrobi.com/2008/11/02/test-video-portrait/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
