<?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; InfoQ</title>
	<atom:link href="http://sadekdrobi.com/category/infoq/feed/" rel="self" type="application/rss+xml" />
	<link>http://sadekdrobi.com</link>
	<description>Sadek Drobi</description>
	<lastBuildDate>Tue, 08 Mar 2011 22:56:51 +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>Paul Hudak on Haskell</title>
		<link>http://sadekdrobi.com/2009/05/08/paul-hudak-on-haskell/</link>
		<comments>http://sadekdrobi.com/2009/05/08/paul-hudak-on-haskell/#comments</comments>
		<pubDate>Fri, 08 May 2009 14:52:31 +0000</pubDate>
		<dc:creator>Sadache</dc:creator>
				<category><![CDATA[Functional Programming]]></category>
		<category><![CDATA[Haskell]]></category>
		<category><![CDATA[InfoQ]]></category>

		<guid isPermaLink="false">http://sadekdrobi.com/2009/05/08/paul-hudak-on-haskell/</guid>
		<description><![CDATA[An interview I did with Paul Hudak that begins with a discussion of when to introduce difficult Haskell concepts like monads, moves to a discussion of the philosophy of higher order programming, the success and influence of Haskell, its use in the mainstream, and concludes with the idea of teaching computer music and Haskell simultaneously.
&#160;
http://www.infoq.com/interviews/paul-hudak-haskell-Qcon-SF-08&#38;language=en
]]></description>
			<content:encoded><![CDATA[<p>An interview I did with Paul Hudak that begins with a discussion of when to introduce difficult Haskell concepts like monads, moves to a discussion of the philosophy of higher order programming, the success and influence of Haskell, its use in the mainstream, and concludes with the idea of teaching computer music and Haskell simultaneously.</p>
<p>&nbsp;</p>
<p><a href="http://www.infoq.com/interviews/paul-hudak-haskell-Qcon-SF-08&amp;language=en">http://www.infoq.com/interviews/paul-hudak-haskell-Qcon-SF-08&amp;language=en</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sadekdrobi.com/2009/05/08/paul-hudak-on-haskell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interview: Don Syme Answering Questions on F#, C#, Haskell and Scala</title>
		<link>http://sadekdrobi.com/2009/03/29/interview-don-syme-answering-questions-on-f-c-haskell-and-scala/</link>
		<comments>http://sadekdrobi.com/2009/03/29/interview-don-syme-answering-questions-on-f-c-haskell-and-scala/#comments</comments>
		<pubDate>Sun, 29 Mar 2009 21:14:57 +0000</pubDate>
		<dc:creator>Sadache</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[F#]]></category>
		<category><![CDATA[Functional Programming]]></category>
		<category><![CDATA[Haskell]]></category>
		<category><![CDATA[InfoQ]]></category>
		<category><![CDATA[LinQ]]></category>
		<category><![CDATA[Polyglot Programming]]></category>

		<guid isPermaLink="false">http://sadekdrobi.com/2009/03/29/interview-don-syme-answering-questions-on-f-c-haskell-and-scala/</guid>
		<description><![CDATA[A great discussion I had with Don Syme at QCon SF. Don is one of the heroes to thank for .Net generics and he is a major contributor to F# design, Thanks Don!
http://www.infoq.com/interviews/F-Sharp-Don-Syme
]]></description>
			<content:encoded><![CDATA[<p>A great discussion I had with Don Syme at QCon SF. Don is one of the heroes to thank for .Net generics and he is a major contributor to F# design, Thanks Don!</p>
<p><a href="http://www.infoq.com/interviews/F-Sharp-Don-Syme">http://www.infoq.com/interviews/F-Sharp-Don-Syme</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sadekdrobi.com/2009/03/29/interview-don-syme-answering-questions-on-f-c-haskell-and-scala/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Erik Mejier: LinQ, Beyond List Comprehensions in C# and .Net</title>
		<link>http://sadekdrobi.com/2009/03/05/erik-mejier-linq-beyond-list-comprehensions-in-c-and-net/</link>
		<comments>http://sadekdrobi.com/2009/03/05/erik-mejier-linq-beyond-list-comprehensions-in-c-and-net/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 21:55:53 +0000</pubDate>
		<dc:creator>Sadache</dc:creator>
				<category><![CDATA[DOTNET]]></category>
		<category><![CDATA[DSL]]></category>
		<category><![CDATA[Functional Programming]]></category>
		<category><![CDATA[Haskell]]></category>
		<category><![CDATA[InfoQ]]></category>
		<category><![CDATA[LinQ]]></category>

		<guid isPermaLink="false">http://sadekdrobi.com/2009/03/05/erik-mejier-linq-beyond-list-comprehensions-in-c-and-net/</guid>
		<description><![CDATA[Erik Meijer talks about less known LINQ features, like meta programming, about the differences between functional languages and OO ones, asynchronous computation, and others.

http://www.infoq.com/interviews/LINQ-Erik-Meijer
]]></description>
			<content:encoded><![CDATA[<p>Erik Meijer talks about less known LINQ features, like meta programming, about the differences between functional languages and OO ones, asynchronous computation, and others.</p>
<p><span id="more-591"></span></p>
<p><a href="http://www.infoq.com/interviews/LINQ-Erik-Meijer">http://www.infoq.com/interviews/LINQ-Erik-Meijer</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sadekdrobi.com/2009/03/05/erik-mejier-linq-beyond-list-comprehensions-in-c-and-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I am speaking at QCon</title>
		<link>http://sadekdrobi.com/2009/02/18/i-am-speaking-at-qcon/</link>
		<comments>http://sadekdrobi.com/2009/02/18/i-am-speaking-at-qcon/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 18:00:06 +0000</pubDate>
		<dc:creator>Sadache</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[F#]]></category>
		<category><![CDATA[Functional Programming]]></category>
		<category><![CDATA[Haskell]]></category>
		<category><![CDATA[InfoQ]]></category>
		<category><![CDATA[LinQ]]></category>
		<category><![CDATA[Multi-Paradigm Design]]></category>
		<category><![CDATA[QCon]]></category>

		<guid isPermaLink="false">http://sadekdrobi.com/2009/02/18/i-am-speaking-at-qcon/</guid>
		<description><![CDATA[
 
&#160;

Programming with a Mainstream Language
Track: Functional and Concurrent Programming Languages Applied
Time: Thursday 17:15 &#8211; 18:15
Location: Abbey Room
Abstract:
Using functional programming (FP) in enterprise software development is often quite a challenge. In this presentation, Sadek Drobi will talk about his experience of applying functional programming principles on a real-world project in relation with existing non-functional frameworks.
In [...]]]></description>
			<content:encoded><![CDATA[</p>
<p><a href="http://qconlondon.com/london-2009/presentation/Functional+Programming+with+a+Mainstream+Language"><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="download (1)" src="http://sadekdrobi.com/wp-content/uploads/2009/02/download-1.jpg" width="547" height="196"></a> </p>
<p>&nbsp;</p>
<p><span id="more-590"></span></p>
<p><strong><a href="http://qconlondon.com/london-2009/presentation/Functional+Programming+with+a+Mainstream+Language">Programming with a Mainstream Language</a></strong></p>
<p><strong>Track</strong>: <a href="http://qconlondon.com/london-2009/tracks/show_track.jsp?trackOID=225">Functional and Concurrent Programming Languages Applied</a>
<p><strong>Time</strong>: Thursday 17:15 &#8211; 18:15
<p><strong>Location</strong>: Abbey Room
<p><strong>Abstract</strong>:
<p>Using functional programming (FP) in enterprise software development is often quite a challenge. In this presentation, Sadek Drobi will talk about his experience of applying functional programming principles on a real-world project in relation with existing non-functional frameworks.
<p>In the year 2008 and just on the release of C# 3.0 and Linq, which is basically several FP concepts implemented on C# language, Sadek Drobi worked as a tech lead on a project where functional programming approach was used to meet performance requirements and to achieve desired response time. Facing similar issues, a mainstream architect would strive to instantiate less objects and to use mutation for optimization. Considering the big amount of data that had to be processed on each request, Sadek chose to do it otherwise: no mutation, used memorization, laziness, recursion, functions, curry, monads, list comprehensions and, then, parallelization to yield an almost purely functional core domain model.
<p>Sadek Drobi will talk more about this experience and elaborate on the good and the bad of going almost extreme through a functional programming approach from different perspectives.
<p>Participants don&#8217;t need to be functional programming experts even if having some knowledge about LinQ will spare you too much hard thinking during the session. Each new concept will be briefly introduced and the structure of the talk will be as non-sequential as possible so that its parts can be understood and analyzed separately.</p>
]]></content:encoded>
			<wfw:commentRss>http://sadekdrobi.com/2009/02/18/i-am-speaking-at-qcon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What Makes Haskell Worth Learning for Real World Applications</title>
		<link>http://sadekdrobi.com/2009/01/25/what-makes-haskell-worth-learning-for-real-world-applications/</link>
		<comments>http://sadekdrobi.com/2009/01/25/what-makes-haskell-worth-learning-for-real-world-applications/#comments</comments>
		<pubDate>Sun, 25 Jan 2009 22:23:02 +0000</pubDate>
		<dc:creator>Sadache</dc:creator>
				<category><![CDATA[Agile Programming]]></category>
		<category><![CDATA[Functional Programming]]></category>
		<category><![CDATA[Haskell]]></category>
		<category><![CDATA[InfoQ]]></category>

		<guid isPermaLink="false">http://sadekdrobi.com/2009/01/25/what-makes-haskell-worth-learning-for-real-world-applications/</guid>
		<description><![CDATA[Around 750 people commented on the online preview of the Real World Haskell book. As described by one of its co-authors, John Goerzen, in a recent interview to Oâ€™Reilly, the book introduces Haskell with real code, real examples and tips to exploit in a business environment. In his interview, Goerzen explains why, in his opinion, [...]]]></description>
			<content:encoded><![CDATA[<p>Around 750 people commented on the online preview of the Real World Haskell book. As described by one of its co-authors, John Goerzen, in a recent interview to Oâ€™Reilly, the book introduces Haskell with real code, real examples and tips to exploit in a business environment. In his interview, Goerzen explains why, in his opinion, this language is worth learning; he provides insights into its specificities and addresses some issues that may be a source of reluctance.</p>
<p><span id="more-583"></span></p>
<p><a href="http://www.infoq.com/news/2009/01/rwh-book-interview">http://www.infoq.com/news/2009/01/rwh-book-interview</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sadekdrobi.com/2009/01/25/what-makes-haskell-worth-learning-for-real-world-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programming Languages: 2008 Review and Prospects for 2009</title>
		<link>http://sadekdrobi.com/2009/01/10/programming-languages-2008-review-and-prospects-for-2009/</link>
		<comments>http://sadekdrobi.com/2009/01/10/programming-languages-2008-review-and-prospects-for-2009/#comments</comments>
		<pubDate>Sat, 10 Jan 2009 00:34:23 +0000</pubDate>
		<dc:creator>Sadache</dc:creator>
				<category><![CDATA[Functional Programming]]></category>
		<category><![CDATA[Haskell]]></category>
		<category><![CDATA[InfoQ]]></category>
		<category><![CDATA[Multi-Paradigm Design]]></category>
		<category><![CDATA[Polyglot Programming]]></category>

		<guid isPermaLink="false">http://sadekdrobi.com/?p=580</guid>
		<description><![CDATA[In the beginning of last year, Ehud Lamm launched on Lamba the Ultimate a thread about programming languages predictions for 2008. Several subjects popped up: concurrency, functional programming, future of Java, Ruby, C++, and many others&#8230; What really happened in 2008 and what are the prospects for 2009? Bloggers have addressed these questions on demand [...]]]></description>
			<content:encoded><![CDATA[<p>In the beginning of last year, Ehud Lamm launched on Lamba the Ultimate a thread about programming languages predictions for 2008. Several subjects popped up: concurrency, functional programming, future of Java, Ruby, C++, and many others&#8230; What really happened in 2008 and what are the prospects for 2009? Bloggers have addressed these questions on demand of James Iry, echoing at last year thread.</p>
<p><span id="more-580"></span></p>
<p>originally posted on <a href="http://www.infoq.com/news/2009/01/pl-predictions-2009">http://www.infoq.com/news/2009/01/pl-predictions-2009</a></p>
<p>In the beginning of the last year, Ehud Lamm launched a thread on Lamba the Ultimate inviting other bloggers to submit their <a href="http://lambda-the-ultimate.org/node/2600">predictions for 2008 in fields relative to programming languages</a> (PL).</p>
<p>Concurrency was one of the first topics to be defined as an upcoming theme of the year even though it was argued that it &#8220;won&#8217;t go anywhere because the current paradigms [&#8230;] and architectures [&#8230;] can&#8217;t deal with it very well&#8221;. Many equally ambivalent predictions concerned functional programming languages. Haskel was supposed to &#8220;rock the blogosphere&#8221; without being widely used as such, but rather becoming an inspiration for new features in more mainstream programming languages. More generally speaking, some expected that &#8220;no functional language [would] become significantly popular&#8221;, while several other bloggers had far more optimistic prognoses for F# and Scala that were to &#8220;enjoy large uptakes&#8221;, at least through the development of &quot;multi-language&quot; projects&#8220; in some combination of F#/C# or Scala/Java&#8221;.&#160; As far as other languages were concerned, Java was supposed to become &#8220;more entrenched&#8221;. And the same was to happen to Ruby that would be undermined by the downtrend of Rails. On the contrary, C++ with its new ISO standard for 2009 was expected to &#8220;become the language-of-the-year in 2008&#8221; and Javascript to gain more momentum.</p>
<p>As an echo to this tread, James Iry asked bloggers at the end of 2008 to share their opinion on &#8220;<a href="http://lambda-the-ultimate.org/node/3144">what was noteworthy about 2008 as far as programming languages were concerned</a>&#8221;.</p>
<p>Trying to assess the validity of last year predictions, Key Schluehr believes that concurrency was far from being the theme of the year. And, if there were one, it was, in his opinion, &#8220;cloud computing&#8221;, even though he considers that &#8220;this had little to with computing at all&#8221;. He also asserts that, just like Morris Johns expected, no functional language became significantly popular, which many other bloggers disagree with. <b></b></p>
<p>James Iry argues indeed that even though no functional language is at Java or even Ruby level of popularity, &#8220;the fact that languages like these popped up so brightly on the mainstream radar last year is not just significant, but huge.&#8221; Eli Ford highlights that &#8220;F# got its own CTP in September, and is now slated for a supported release as part of Visual Studio 2010, alongside C# and VB&#8221;. And Sean McDirmid argues that &#8220;as far as specific languages go 2008 was a good year for Scala&#8221;. &#8220;Clojure&#8221;, that was not at all mentioned in the last year discussion, is considered to be the discovery of the year by Chris Rathman who believes that it is a good example of how &#8220;to go about integrating existing concepts into a programming language&#8221;.</p>
<p>Along with Scala, Sean McDirmid mentions Objective C &#8220;as the real hot language of 2008 thanks to the iPhone SDK&#8221; and believes that 2008 was also the year of C vengeance with various forms of it being &#8220;used to program GPU hardware (HLSL, CUDA, OpenCL&#8230;)&#8221;.</p>
<p>On the other hand, several bloggers highlight that last year was not that good for Java. Sean McDirmid asserts that &#8220;JavaFX was late and didn&#8217;t make the splash it needed to make&#8221;. If it is true that bloggers express some concerns about Java&#8217;s future, Daniel Weinreb stresses that &#8220;it&#8217;s used in so many places now that we&#8217;re very unlikely to see it disappear&#8221; and, according to James Iry, &#8220;it is still and will remain for quite awhile one of the a handful of &quot;safe&quot; choices for an IT manager&#8221;. Others question however the capacity of Sun to survive the current crisis and speculate about the future of JVM expecting IBM or Google to step in.</p>
<p>The discussion moves from 2008 to 2009 and a number of new predictions are made. In the field of functional programming, James Iry expects great things from both Clojure and Scala teams while Falcon argues that &#8220;2009 will be a year of clojure rather than scala&#8221; and expects F# to be finally brought &#8220;to the attention of mainstream .NET developers.&#8221; Ross Smith, however, reiterates the prediction of last year that functional programming will enter the mainstream rather &#8220;by being incorporated into pre-existing procedural and OO languages&#8221;. He also believes that &#8220;the new C++ standard will become official&#8221;, &#8220;concurrency, including GPGPU applications, will continue its rise in importance&#8221;, &#8220;Python will start to bleed users specifically because of [its] lack of good support for concurrency&#8221; while &#8220;JavaScript&#8217;s star will continue to rise&#8221;.</p>
<p>Xscott goes along the same lines about JavaScript predicting that it &#8220;will eventually become the popular server and application scripting language &#8211; mostly because of it&#8217;s various JIT compiling implementations&#8221;, whereas Kay Schluehr believes that it &#8220;will not expand on its niche&#8221;. On the other hand, he thinks that &#8220;one of the great-future-of-programming hopes like Perl 6, Rubinius or PyPy [will] finally [reach] a state where programmers other than core developers start to show interest.&#8221; </p>
<p>Kaveh Shahbazian believes that &#8220;one thing [that] is going to happen [in 2009] is finding new approaches to employ scripting&#8221; and names Lua as a successful example. And, last but not least, Sean McDirmid predicts that &#8220;no progress will be made on the static/dynamic debate.&#8221; :)</p>
]]></content:encoded>
			<wfw:commentRss>http://sadekdrobi.com/2009/01/10/programming-languages-2008-review-and-prospects-for-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&quot;Null References: The Billion Dollar Mistake&quot;</title>
		<link>http://sadekdrobi.com/2008/12/22/null-references-the-billion-dollar-mistake/</link>
		<comments>http://sadekdrobi.com/2008/12/22/null-references-the-billion-dollar-mistake/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 22:11:58 +0000</pubDate>
		<dc:creator>Sadache</dc:creator>
				<category><![CDATA[InfoQ]]></category>
		<category><![CDATA[QCon]]></category>

		<guid isPermaLink="false">http://sadekdrobi.com/2008/12/22/null-references-the-billion-dollar-mistake/</guid>
		<description><![CDATA[Tony Hoare, Inventor of QuickSort, Turing Award Winner
I call it my billion-dollar mistake. It was the invention of the null reference in 1965. At that time, I was designing the first comprehensive type system for references in an object oriented language (ALGOL W). My goal was to ensure that all use of references should be [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://qconlondon.com/london-2009/speaker/Tony+Hoare">Tony Hoare, Inventor of QuickSort, Turing Award Winner</a></p>
<blockquote><p>I call it my billion-dollar mistake. It was the invention of the null reference in 1965. At that time, I was designing the first comprehensive type system for references in an object oriented language (ALGOL W). My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler. But I couldn&#8217;t resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years. In recent years, a number of program analysers like PREfix and PREfast in Microsoft have been used to check references, and give warnings if there is a risk they may be non-null. More recent programming languages like Spec# have introduced declarations for non-null references. This is the solution, which I rejected in 1965.</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://sadekdrobi.com/2008/12/22/null-references-the-billion-dollar-mistake/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Yet another clueless manager</title>
		<link>http://sadekdrobi.com/2008/11/18/yet-another-clueless-manager/</link>
		<comments>http://sadekdrobi.com/2008/11/18/yet-another-clueless-manager/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 04:23:45 +0000</pubDate>
		<dc:creator>Sadache</dc:creator>
				<category><![CDATA[Agile in the Enterprise]]></category>
		<category><![CDATA[InfoQ]]></category>

		<guid isPermaLink="false">http://sadekdrobi.com/2008/11/18/yet-another-clueless-manager/</guid>
		<description><![CDATA[Yet another clueless manager
Nov 17, 2008 9:33 AM by Ilya Sterin
First, methodologies are only as good as the people that apply them. I hate the thought of process over people. Intelligent people will find a way to produce good software, agile or not. Morons will fail even with the process. Software development is more art [...]]]></description>
			<content:encoded><![CDATA[<blockquote><h6><a href="http://www.infoq.com/#view_35237" name="35237">Yet another clueless manager</a></h6>
<p>Nov 17, 2008 9:33 AM by <strong>Ilya Sterin</strong>
<p>First, methodologies are only as good as the people that apply them. I hate the thought of process over people. Intelligent people will find a way to produce good software, agile or not. Morons will fail even with the process. Software development is more art than it is science, though I wish the people that never made it as software developers would stop trying to pile process on top of process and think that engineers are code monkeys that can develop good software by following some process. Process is good, but smart people are better.<br />Also, it&#8217;s not that agile is failing, software projects are failing and have been failing before agile and will be failing after. Again, this is art and creativity is required not process.</p>
</blockquote>
<p>Thanks Ilya for the comment!</p>
]]></content:encoded>
			<wfw:commentRss>http://sadekdrobi.com/2008/11/18/yet-another-clueless-manager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>REFX :: Event Stream Processing: Scalable Alternative to Data Warehouses?</title>
		<link>http://sadekdrobi.com/2008/10/31/refx-event-stream-processing-scalable-alternative-to-data-warehouses/</link>
		<comments>http://sadekdrobi.com/2008/10/31/refx-event-stream-processing-scalable-alternative-to-data-warehouses/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 20:50:49 +0000</pubDate>
		<dc:creator>Sadache</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[InfoQ]]></category>

		<guid isPermaLink="false">http://sadekdrobi.com/?p=526</guid>
		<description><![CDATA[Dan Pritchett suggests that analyzing streams of events using Event Stream Processor could be an interesting alternative solution to data warehousing applications, which have, in his opinion, important downsides in terms of cost, scalability and reactivity. 

Originally posted on http://www.infoq.com/news/2008/10/scalable-datamining-alternative
On his blog, Dan Pritchett suggests an alternative solution to data warehousing applications. Although reluctant about [...]]]></description>
			<content:encoded><![CDATA[<p>Dan Pritchett suggests that analyzing streams of events using Event Stream Processor could be an interesting alternative solution to data warehousing applications, which have, in his opinion, important downsides in terms of cost, scalability and reactivity. </p>
<p><span id="more-526"></span></p>
<p>Originally posted on <a title="http://www.infoq.com/news/2008/10/scalable-datamining-alternative" href="http://www.infoq.com/news/2008/10/scalable-datamining-alternative">http://www.infoq.com/news/2008/10/scalable-datamining-alternative</a></p>
<p>On his blog, Dan Pritchett <a href="http://www.addsimplicity.com/adding_simplicity_an_engi/2008/09/are-data-wareho.html">suggests an alternative solution to data warehousing applications</a>. Although reluctant about &#8220;solutions that can only be implemented in a single address and storage space&#8221;, he acknowledges that sometimes data needs to be aggregated in order to be analyzed. This is precisely what data warehousing applications do offering the possibility to aggregate information along a variety of axis and to invert relationships in the data. Their usage, however, has significant downsides according to Pritchett. Not only are data warehousing applications expensive and &#8220;often out of the reach of smaller organizations&#8221;, but the way Extract, Transform and Load software (ETL) functions induces costs in terms of scalability and reactivity:</p>
<blockquote><p>First, the ETL places a significant load on your production databases. If your business has nice offline windows for the ETL, that&#8217;s great, but if not, managing the scale becomes a challenge. Second, the freshness of the warehouse is typically 24 hours behind or more. As your business grows this lag will grow as well.</p>
</blockquote>
<p>Dan Pritchett believes that there could be a solution that would be less expensive and more scalable: processing streams of events using an <a href="http://en.wikipedia.org/wiki/Event_Stream_Processing">Event Stream Processor</a> (ESP) solution.</p>
<blockquote><p>ESP analyze streams of events using a language similar to SQL. In the same manner that databases and data warehouses use SQL to perform analysis of data tables, ESP use their query language to analyze streams of events. The simplest way to understand ESP is to think of events as rows in a table and the attributes of an event as the columns. Each event type is the equivalent of a table.</p>
<p>[&#8230;]</p>
<p>[ESP analyzes] the changes to your data as it occurs. Rather than doing batch ETL&#8217;s, you stream business events as the state of your data changes. This creates a more manageable scaling model for your production system. </p>
<p>[&#8230;]</p>
<p>ESP can also be horizontally scaled, providing a more cost effective solution for your business. And since ESP is performing the analysis in real time, the business metrics can be current and remain that way as the business grows.</p>
</blockquote>
<p>Dan highlights however that this approach does not allow performing historical analysis in order to get on the business activity a perspective that is different from the one considered at real time. A solution Pritchett mentions could be a framework for capturing and replaying transactions, which would however be rather costly. Commenting on the post, Tahir Akhtar suggests another possible solution: replacing ETL by ESP but continue using data warehousing applications in order to preserve the ability to do historical analysis while taking advantage of ESP scalability and reactivity.</p>
]]></content:encoded>
			<wfw:commentRss>http://sadekdrobi.com/2008/10/31/refx-event-stream-processing-scalable-alternative-to-data-warehouses/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ted Neward on Present and Past Languages</title>
		<link>http://sadekdrobi.com/2008/10/28/ted-neward-on-present-and-past-languages/</link>
		<comments>http://sadekdrobi.com/2008/10/28/ted-neward-on-present-and-past-languages/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 13:28:58 +0000</pubDate>
		<dc:creator>Sadache</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[DOTNET]]></category>
		<category><![CDATA[DSL]]></category>
		<category><![CDATA[F#]]></category>
		<category><![CDATA[Functional Programming]]></category>
		<category><![CDATA[Haskell]]></category>
		<category><![CDATA[InfoQ]]></category>
		<category><![CDATA[JVM]]></category>
		<category><![CDATA[LinQ]]></category>
		<category><![CDATA[Polyglot Programming]]></category>

		<guid isPermaLink="false">http://sadekdrobi.com/2008/10/28/ted-neward-on-present-and-past-languages/</guid>
		<description><![CDATA[This is an interview I did at QCon with Ted Neward. Talking to Ted was very interesting even though arguing with him turned to be not easy at all :)
]]></description>
			<content:encoded><![CDATA[<p>This is <a href="http://www.infoq.com/interviews/Languages-Ted-Neward">an interview I did at QCon with Ted Neward</a>. Talking to <a href="http://blogs.tedneward.com/">Ted</a> was very interesting even though arguing with him turned to be not easy at all :)</p>
]]></content:encoded>
			<wfw:commentRss>http://sadekdrobi.com/2008/10/28/ted-neward-on-present-and-past-languages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

