<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4765423678849716275</id><updated>2012-02-16T01:43:54.341-08:00</updated><title type='text'>QCon 2007 (London)</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://qcon2007.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://qcon2007.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Samuel</name><uri>http://www.blogger.com/profile/03056839039236108798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>21</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4765423678849716275.post-5468681867117571837</id><published>2007-03-21T03:49:00.002-07:00</published><updated>2007-03-21T04:57:58.777-07:00</updated><title type='text'>Last QCon post</title><content type='html'>&lt;span style="" lang="EN-US"&gt;Since I only set up this blog to report on the QCon for my company and colleagues, this will be the last post at this time.&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Part of why I do not blog, is that I think my writing stinks. If you feel otherwise or just want to send an encouraging message, leave me a comment.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Signing off for QCon 2007, yours truly: Samuel Ranzato from Sogeti&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4765423678849716275-5468681867117571837?l=qcon2007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qcon2007.blogspot.com/feeds/5468681867117571837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4765423678849716275&amp;postID=5468681867117571837' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/5468681867117571837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/5468681867117571837'/><link rel='alternate' type='text/html' href='http://qcon2007.blogspot.com/2007/03/last-qcon-post.html' title='Last QCon post'/><author><name>Samuel</name><uri>http://www.blogger.com/profile/03056839039236108798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4765423678849716275.post-1094574900823070317</id><published>2007-03-21T03:49:00.001-07:00</published><updated>2008-12-12T21:05:48.037-08:00</updated><title type='text'>Dojo (speaker Eugene Lazutkin)</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;OMG .. do you know how Russians talk in the movies? Remember Drago in Rocky (“I must break you”) .. if so, than you know what kind of a dialect we had to listen to for an hour long.&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;First the “bad” …&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;It seems to me like Dojo is years back in time since all of the API look really procedural to me. Didn’t we quit that scene like … years ago?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Second, the “good” …&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style=""&gt;&lt;span style="" lang="EN-US"&gt;Akin to Bruce Johnson with his GWT toolkit, I really got the feeling that &lt;/span&gt;&lt;st1:place&gt;&lt;st1:city&gt;&lt;span style="" lang="EN-US"&gt;Eugene&lt;/span&gt;&lt;/st1:city&gt;&lt;/st1:place&gt;&lt;span style="" lang="EN-US"&gt; loves what he is doing and what Dojo has to offer. To me, that goes a long way since I would rather do something medioce but with passion than being on the cutting edge and hating everything I do. Sounds strange? Well, I know people who develop really complex and challenging software but under such pressure and so little appreciation, losing a lot of personal time doing work in the late, late hours. I would rather have a life, nice colleagues and a company that knows how to combinate fun with productivity than doing rocket science with a whip going over my back. Makes me think back to the articles about the Electronic Arts “widows”, women that we married or somehow lived with programmers that were worked like donkeys to produce software within a high pressure environment without getting compensation be it money, vacation days or what have you.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_J1SbUvF3nBg/RgEcPr6I1xI/AAAAAAAAACM/ej4BYobF2yY/s1600-h/16032007%28002%29.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_J1SbUvF3nBg/RgEcPr6I1xI/AAAAAAAAACM/ej4BYobF2yY/s320/16032007%28002%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5044344113441855250" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;I love blogging as a therapeutic exercise, don’t you?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"&gt;&lt;st1:place&gt;&lt;st1:city&gt;&lt;span style="" lang="EN-US"&gt;Eugene&lt;/span&gt;&lt;/st1:city&gt;&lt;/st1:place&gt;&lt;span style="" lang="EN-US"&gt; enumerated three types of applications you can write with Dojo: Web 1.0 enhancers (think updatepanels for all you .Net geeks out there), Web 2.0, and the holy-grail-app to some … the one page application.&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Dojo comes with a lot – and I mean a lot lot – of Helpers for OO, functional programming, events, AOP, etc. There also is a normalized DOM to hide browser idiosyncrasies. Dojo calls custom events: Topics.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;span style="" lang="EN-US"&gt;Sorry, I don’t have more to write but my head hurt from trying to understand what the heck he was saying. Tip for next year: one of those translation services like they have at the UN building.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4765423678849716275-1094574900823070317?l=qcon2007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qcon2007.blogspot.com/feeds/1094574900823070317/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4765423678849716275&amp;postID=1094574900823070317' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/1094574900823070317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/1094574900823070317'/><link rel='alternate' type='text/html' href='http://qcon2007.blogspot.com/2007/03/dojo-speaker-eugene-lazutkin.html' title='Dojo (speaker Eugene Lazutkin)'/><author><name>Samuel</name><uri>http://www.blogger.com/profile/03056839039236108798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_J1SbUvF3nBg/RgEcPr6I1xI/AAAAAAAAACM/ej4BYobF2yY/s72-c/16032007%28002%29.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4765423678849716275.post-5710241105068689165</id><published>2007-03-21T03:48:00.000-07:00</published><updated>2007-03-21T03:49:05.962-07:00</updated><title type='text'>Rich Internet Applications for the Enterprise (speaker Christophe Coenraets)</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;All in all, this also felt like a product plug like the GWT but with the difference that this product (Flex) is not open source and will generate money for Adobe, for whom Christophe works.&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;RIA are, according to the speaker, applications that can be characterized by the following aspects: expressiveness, performance, realtime, rich media, and desktop/offline use.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;The latter is a bit difficult for normal &lt;/span&gt;&lt;st1:place&gt;&lt;st1:city&gt;&lt;span style="" lang="EN-US"&gt;Ajax&lt;/span&gt;&lt;/st1:City&gt;&lt;/st1:place&gt;&lt;span style="" lang="EN-US"&gt; applications but with Flex you can use the Flash runtime to run your Flex application offline.&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Christophe mentioned the trend we see in applications as they went from developer centric to data centric and now, with RIA, to user centric. To me, that sounds strange as the data of a company will probably be longer around than the average employee.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;He continued by showing some really cool UI demos, no denying that, and told the audience that Flex can also target a locally available JVM.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Since Flex uses Flash, it is worth noting that Flash 9 is largely rewritten to support (better) JIT compiling and binary sockets, all of which is available to application written in Flex.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Sockets is typically one of those things that are virtually impossible to do in “ordinary” &lt;/span&gt;&lt;st1:place&gt;&lt;st1:city&gt;&lt;span style="" lang="EN-US"&gt;Ajax&lt;/span&gt;&lt;/st1:City&gt;&lt;/st1:place&gt;&lt;span style="" lang="EN-US"&gt;.&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;To sum this entry up, one nice data-management-thingy is, that with Flex you can configure when changes are persisted: realtime, leaving the field or per form.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;;" lang="EN-US"&gt;My take on this session: really groovy looking demos by a guy who has been around long enough developing software to get some credit but at the end of the day, the feeling I got was that someone was pushing their product on me. Too bad that a friend of mine wasn’t here as he is very interested in buying / working with Flex. &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4765423678849716275-5710241105068689165?l=qcon2007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qcon2007.blogspot.com/feeds/5710241105068689165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4765423678849716275&amp;postID=5710241105068689165' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/5710241105068689165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/5710241105068689165'/><link rel='alternate' type='text/html' href='http://qcon2007.blogspot.com/2007/03/rich-internet-applications-for.html' title='Rich Internet Applications for the Enterprise (speaker Christophe Coenraets)'/><author><name>Samuel</name><uri>http://www.blogger.com/profile/03056839039236108798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4765423678849716275.post-4759469791003098558</id><published>2007-03-21T03:47:00.000-07:00</published><updated>2007-03-21T03:48:15.672-07:00</updated><title type='text'>Google Web Toolkit or GWT (speaker Bruce Johnson)</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Bruce works for Google on the GWT but a little research has shown that he previously worked on the AppForge MobileStudio project which I used a long, long time ago.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;But that is besides the point, back to business.&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;He started off by reiterating some of the risks that go with a &lt;/span&gt;&lt;st1:place&gt;&lt;st1:city&gt;&lt;span style="" lang="EN-US"&gt;Ajax&lt;/span&gt;&lt;/st1:City&gt;&lt;/st1:place&gt;&lt;span style="" lang="EN-US"&gt; toolkit project such as usability, portability, speed, tool support, and quality.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;The GWT is only available to Java as it cross-compiles Java to the &lt;/span&gt;&lt;st1:place&gt;&lt;st1:city&gt;&lt;span style="" lang="EN-US"&gt;Ajax&lt;/span&gt;&lt;/st1:City&gt;&lt;/st1:place&gt;&lt;span style="" lang="EN-US"&gt; platform (JavaScript) but will enable you to use a lot of the standard Java libraries, in fact all that are not virtually impossible from JavaScript.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Programming in Java enables you to use all the debugging and rich IDE (Eclipse, Sun Studio and others) to develop and GTW provides a GWT Host Browser to run / test your applications. The host will go to great lengths to ensure that it resembles the real thing as it eventually will run in the user’s browser.&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;In the usability department, something that I consider very important if you are doing &lt;/span&gt;&lt;st1:place&gt;&lt;st1:city&gt;&lt;span style="" lang="EN-US"&gt;Ajax&lt;/span&gt;&lt;/st1:City&gt;&lt;/st1:place&gt;&lt;span style="" lang="EN-US"&gt;, was the fact that GWT has very good font and color-scheme support built in. A lot of functionally inhabited people use these to get a more satisfying experience using their computer but a lot of software or webpages out there simply ignores them and has these hard-coded which to me says something about how their programmers think about their users (personal ranting finished). &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;The GWT also has the Back button problem and Browser History problem with &lt;/span&gt;&lt;st1:place&gt;&lt;st1:city&gt;&lt;span style="" lang="EN-US"&gt;Ajax&lt;/span&gt;&lt;/st1:City&gt;&lt;/st1:place&gt;&lt;span style="" lang="EN-US"&gt; applications covered but from a programmer’s perspective. No way near as elegant as what Erik Meijer suggested in his keynote yesterday but I won’t go into that. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;In fact, one thing that distinguished the GWT from other &lt;/span&gt;&lt;st1:place&gt;&lt;st1:city&gt;&lt;span style="" lang="EN-US"&gt;Ajax&lt;/span&gt;&lt;/st1:City&gt;&lt;/st1:place&gt;&lt;span style="" lang="EN-US"&gt; toolkits is, that it will support Back / History even when you leave your application and later return to it. That is a good thing to test any &lt;/span&gt;&lt;st1:place&gt;&lt;st1:city&gt;&lt;span style="" lang="EN-US"&gt;Ajax&lt;/span&gt;&lt;/st1:City&gt;&lt;/st1:place&gt;&lt;span style="" lang="EN-US"&gt; toolkit on how well they support these browser functions.&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;You can indicate whether you want to generate obfuscated JavaScript (used when you only develop in GWT/Java) up to very verbose JavaScript that can be further enhanced by other developers.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;;" lang="EN-US"&gt;I have to be honest here, it felt a bit too much like a product plug from which of course Google won’t get any money as GWT is open source but more in name-fame and thought-leadership. Fortunately this was offset by Bruce who was a very enthusiastic speaker and really wants to make the best toolkit ever. This left me with the feeling that it was one of those commercials that don’t annoy but nevertheless are meant to get you to choose “their product” if you know what I mean.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4765423678849716275-4759469791003098558?l=qcon2007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qcon2007.blogspot.com/feeds/4759469791003098558/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4765423678849716275&amp;postID=4759469791003098558' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/4759469791003098558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/4759469791003098558'/><link rel='alternate' type='text/html' href='http://qcon2007.blogspot.com/2007/03/google-web-toolkit-or-gwt-speaker-bruce.html' title='Google Web Toolkit or GWT (speaker Bruce Johnson)'/><author><name>Samuel</name><uri>http://www.blogger.com/profile/03056839039236108798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4765423678849716275.post-8154180609462448119</id><published>2007-03-21T03:43:00.000-07:00</published><updated>2008-12-12T21:05:48.193-08:00</updated><title type='text'>Ajax - Do we need a Client Tier (Dave Crane)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_J1SbUvF3nBg/RgEcGL6I1wI/AAAAAAAAACE/pHlTPBoW68A/s1600-h/16032007.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://4.bp.blogspot.com/_J1SbUvF3nBg/RgEcGL6I1wI/AAAAAAAAACE/pHlTPBoW68A/s320/16032007.jpg" alt="" id="BLOGGER_PHOTO_ID_5044343950233097986" border="0" /&gt;&lt;/a&gt;&lt;span style="" lang="EN-US"&gt;Dave started by admitting that he chose the title to provoke a response or trigger interest from the attending people. The answer to his question was Yes by the way.&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;What he did talk about was the size and importance of the client tier and his conclusion was very straight forward : it depends on how the level of &lt;/span&gt;&lt;st1:place&gt;&lt;st1:city&gt;&lt;span style="" lang="EN-US"&gt;Ajax&lt;/span&gt;&lt;/st1:city&gt;&lt;/st1:place&gt;&lt;span style="" lang="EN-US"&gt; used. Level seems a strange word to use here but let me put it in perspective. If you use only the UpdatePanels from &lt;/span&gt;&lt;st1:place&gt;&lt;st1:city&gt;&lt;span style="" lang="EN-US"&gt;Ajax&lt;/span&gt;&lt;/st1:city&gt;&lt;/st1:place&gt;&lt;span style="" lang="EN-US"&gt; for .Net than you are at a very low level but if you are going where no man has gone with Javascript, asynchrosity, and sending or receiving complex structure through XHR (XmlHttpRequest) than you are at a high level. &lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Dave also mentioned that it is a good idea to set the level at which &lt;/span&gt;&lt;st1:place&gt;&lt;st1:city&gt;&lt;span style="" lang="EN-US"&gt;Ajax&lt;/span&gt;&lt;/st1:city&gt;&lt;/st1:place&gt;&lt;span style="" lang="EN-US"&gt; is to be used in your design documents or at least bring it up as a design question.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Next on, he explained Java Literals, Closures, and more JavaScript specific stuff in a way that a relatively JavaScript noob like me could understand. I liked the fact that Dave calls Closures akin to inside-out objects. One thing that I really don’t like, but that is coming from a more structured, procedural mindset, is the fact that if you pass local variables to a callback within a Closure, those variables will be essentially global – and taking up memory – where the visibility is restricted to the callback only. In closure – pun intended – this is how Dave summarized the difference between objects and closures:&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Objects: Data encapsulating behavior&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;Closures: Behavior encapsulating data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Dave wrote a book on Ajax Design Patterns and he told the crowd that he advises to not use Java-esque ways to program the GoF patterns but to use a more JavaScript approach. This will prove to have you writing less code and use some of the typical JavaScript constructs to their full potential.&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;He ended the session by demonstrating the implementation of the MVC and Strategy Patterns in an easy to understand manner. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;span style=";font-family:&amp;quot;;font-size:12;"  lang="EN-US" &gt;Even though this turned out to be a more code-centered session, I liked it.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4765423678849716275-8154180609462448119?l=qcon2007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qcon2007.blogspot.com/feeds/8154180609462448119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4765423678849716275&amp;postID=8154180609462448119' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/8154180609462448119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/8154180609462448119'/><link rel='alternate' type='text/html' href='http://qcon2007.blogspot.com/2007/03/ajax-do-we-need-client-tier-dave-crane.html' title='Ajax - Do we need a Client Tier (Dave Crane)'/><author><name>Samuel</name><uri>http://www.blogger.com/profile/03056839039236108798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_J1SbUvF3nBg/RgEcGL6I1wI/AAAAAAAAACE/pHlTPBoW68A/s72-c/16032007.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4765423678849716275.post-7755314702701650353</id><published>2007-03-21T03:39:00.000-07:00</published><updated>2007-03-21T03:43:35.549-07:00</updated><title type='text'>Ajax and browser-based applications (speaker Scott DeLap)</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Scott gave a short introduction but I thought it good to iterate two things he mentioned:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;st1:place&gt;&lt;st1:city&gt;&lt;span style="" lang="EN-US"&gt;Ajax&lt;/span&gt;&lt;/st1:city&gt;&lt;/st1:place&gt;&lt;span style="" lang="EN-US"&gt; as a name or abbreviation (&lt;/span&gt;&lt;st1:place&gt;&lt;st1:city&gt;&lt;span style="" lang="EN-US"&gt;AJAX&lt;/span&gt;&lt;/st1:city&gt;&lt;/st1:place&gt;&lt;span style="" lang="EN-US"&gt; or really &lt;/span&gt;&lt;st1:place&gt;&lt;st1:city&gt;&lt;span style="" lang="EN-US"&gt;AJaX&lt;/span&gt;&lt;/st1:city&gt;&lt;/st1:place&gt;&lt;span style="" lang="EN-US"&gt;) is about 2 years old whereas the technology is much older. This reminds me that I was doing &lt;/span&gt;&lt;st1:place&gt;&lt;st1:city&gt;&lt;span style="" lang="EN-US"&gt;Ajax&lt;/span&gt;&lt;/st1:city&gt;&lt;/st1:place&gt;&lt;span style="" lang="EN-US"&gt; even back in the days when there was only Classic ASP, come to think of it.&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size:100%;"&gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;Ajax is almost synonymous with eye-candy and snappy user interfaces but there is also the set of improvements performance-wise since doing more stuff on the client will relieve the servers, network and other components in the communication chain. Kind of makes me think of Windows Vista about which most people only see the visual improvements but not what goes on under the hood.&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4765423678849716275-7755314702701650353?l=qcon2007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qcon2007.blogspot.com/feeds/7755314702701650353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4765423678849716275&amp;postID=7755314702701650353' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/7755314702701650353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/7755314702701650353'/><link rel='alternate' type='text/html' href='http://qcon2007.blogspot.com/2007/03/ajax-and-browser-based-applications.html' title='Ajax and browser-based applications (speaker Scott DeLap)'/><author><name>Samuel</name><uri>http://www.blogger.com/profile/03056839039236108798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4765423678849716275.post-298068235454502470</id><published>2007-03-16T01:48:00.001-07:00</published><updated>2008-12-12T21:05:48.217-08:00</updated><title type='text'>Agile architecture, fragile architecture? (speakers James Coplien and Kevlin Henney)</title><content type='html'>&lt;span style="" lang="EN-US"&gt;Man, are those two the new &lt;/span&gt;&lt;st1:city&gt;&lt;st1:place&gt;&lt;span style="" lang="EN-US"&gt;Laurel&lt;/span&gt;&lt;/st1:place&gt;&lt;/st1:city&gt;&lt;span style="" lang="EN-US"&gt; and Hardy or something? Because it was a to and fro of quick comments and jokes. Very effective in keeping everyone awake during the last session of the day. Since it was more of a variety show than a presentation, I did not write down as much as I should because they did tell a lot. I just cannot reproduce it here.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;One thing that I wrote down was this. Architects like to design their architecture using some modeling piece of software, but to some drawing out that design becomes more important than the purpose for which the exercise was meant. James called that : using the rules of drawing instead of using the rules of construction to design an architecture.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Next Kevlin made the nice point that if we want developers to write good code, management sends them off to some language course like Java or C#. But even though we ask developers to write documentation, no manager sends his developers to a course like Comprehensive Writing or Writing 101. That is strange because the developer does gets harped on that the documentation is to technical, elaborate or condensed, etc, etc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Last, they looked up Agile in the dictionary to show that designing an architecture does have a place in an Agile world. Agile in latin could mean : to be ready. How can you be ready as you decide (hard) things as you encounter them or how to be ready to handle a familiar problem in a consistent way if not with architecture.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Unfortunately, the session was really talking about software architecture and not enterprise architecture or information architecture and so on.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;And so ends another illuminating day.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_J1SbUvF3nBg/RgEb4L6I1vI/AAAAAAAAAB8/K5k-rpAR7h8/s1600-h/15032007%28007%29.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_J1SbUvF3nBg/RgEb4L6I1vI/AAAAAAAAAB8/K5k-rpAR7h8/s320/15032007%28007%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5044343709714929394" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4765423678849716275-298068235454502470?l=qcon2007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qcon2007.blogspot.com/feeds/298068235454502470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4765423678849716275&amp;postID=298068235454502470' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/298068235454502470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/298068235454502470'/><link rel='alternate' type='text/html' href='http://qcon2007.blogspot.com/2007/03/agile-architecture-fragile-architecture.html' title='Agile architecture, fragile architecture? (speakers James Coplien and Kevlin Henney)'/><author><name>Samuel</name><uri>http://www.blogger.com/profile/03056839039236108798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_J1SbUvF3nBg/RgEb4L6I1vI/AAAAAAAAAB8/K5k-rpAR7h8/s72-c/15032007%28007%29.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4765423678849716275.post-4399164230840791433</id><published>2007-03-16T01:47:00.000-07:00</published><updated>2008-12-12T21:05:48.231-08:00</updated><title type='text'>SCRUM at Google (speaker Jeff Sutherland)</title><content type='html'>&lt;span style="" lang="EN-US"&gt;SCRUM has some of its roots in the Toyota Way of doing business and building things as well as a Harvard paper by some Asian named people whose names I forgot to write down but you all know how to Google, right?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;There is a lot of overlap with the Agile Manifesto and SCRUM is regarded as an Agile methodology that is continuously motivating (“bootstrapping”) people to excel when called upon to perform great deeds. So it is also a lot about empowerment.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;SCRUM was incrementally introduced at Google, so the engineers discovered themselves what was not going as well as they thought or should I say hoped.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_J1SbUvF3nBg/RgEbdr6I1uI/AAAAAAAAAB0/QJ6ceOyosxo/s1600-h/15032007%28006%29.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://2.bp.blogspot.com/_J1SbUvF3nBg/RgEbdr6I1uI/AAAAAAAAAB0/QJ6ceOyosxo/s320/15032007%28006%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5044343254448396002" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;There are Standup Meeting periodically, sometimes daily or weekly or even monthly. Whatever suits your needs and your team is ready for. Jeff suggested that a Standup Meeting should be about 15 minutes where the team looks back on the pas 12 hours and into the next 12 hours of development as this will keep everybosy focused on feasible goals. The agenda usually contains 3 items: to do, done, and issues.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="" lang="EN-US"&gt;&lt;span style="font-size:100%;"&gt;XP is a great addition to SCRUM because it adds engineering principles and best practices that engineers can use in the SCRUM process.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Some things I want to look into, that Jeff mentioned, are: The ABCs of SCRUM, the Nokia Scrum Assessment.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;This was really a great session and if SCRUM only half as much empower people as Jeff did&lt;span style=""&gt;  &lt;/span&gt;with his audience than it is worth a try.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4765423678849716275-4399164230840791433?l=qcon2007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qcon2007.blogspot.com/feeds/4399164230840791433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4765423678849716275&amp;postID=4399164230840791433' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/4399164230840791433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/4399164230840791433'/><link rel='alternate' type='text/html' href='http://qcon2007.blogspot.com/2007/03/scrum-at-google-speaker-jeff-sutherland.html' title='SCRUM at Google (speaker Jeff Sutherland)'/><author><name>Samuel</name><uri>http://www.blogger.com/profile/03056839039236108798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_J1SbUvF3nBg/RgEbdr6I1uI/AAAAAAAAAB0/QJ6ceOyosxo/s72-c/15032007%28006%29.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4765423678849716275.post-5829767452711761255</id><published>2007-03-16T01:46:00.002-07:00</published><updated>2008-12-12T21:05:48.244-08:00</updated><title type='text'>ESB (speaker John Davies)</title><content type='html'>&lt;span lang="EN-US"&gt;I am sorry to say that all I wrote down about this session were bulletpoints, so I will just put them up here and if some annotations come to mind, I will add them.&lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span lang="EN-US"&gt;Message validation is critical, any wrong message can cost millions of money.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-US"&gt;Be future proof or in other words, use standards.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-US"&gt;Scalability is important, but only do it when it becomes necessary.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-US"&gt;Expect failure no matter what the vendors tell you.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-US"&gt;Integration within banks or outside is done on data and transport.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-US"&gt;HTTP is a unreliable transport and web services use it but why do we? We should not need something as WS-ReliableMessaging if HTTP was reliable.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-US"&gt;Using an ESB does not automatically imply the use of XML for messages.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-US"&gt;An ESB is best off to use one canonical message format internally which Biztalk fortunately does.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span lang="EN-US"&gt;In order to have the ESB do its best at performing the core services on messages, adapters should be used to offload stuff like validation, preprocessing and transformation to the clients of the ESB.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span lang="EN-US"&gt;All in all, a very good introduction into what is important for a bank when it concerns the use of an ESB.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_J1SbUvF3nBg/RgEbMr6I1tI/AAAAAAAAABs/Au7P6W5jLls/s1600-h/15032007(005).jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5044342962390619858" style="FLOAT: left; MARGIN: 0pt 10px 10px 0pt; CURSOR: pointer" alt="" src="http://2.bp.blogspot.com/_J1SbUvF3nBg/RgEbMr6I1tI/AAAAAAAAABs/Au7P6W5jLls/s320/15032007%28005%29.jpg" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4765423678849716275-5829767452711761255?l=qcon2007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qcon2007.blogspot.com/feeds/5829767452711761255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4765423678849716275&amp;postID=5829767452711761255' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/5829767452711761255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/5829767452711761255'/><link rel='alternate' type='text/html' href='http://qcon2007.blogspot.com/2007/03/esb-speaker-john-davies.html' title='ESB (speaker John Davies)'/><author><name>Samuel</name><uri>http://www.blogger.com/profile/03056839039236108798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_J1SbUvF3nBg/RgEbMr6I1tI/AAAAAAAAABs/Au7P6W5jLls/s72-c/15032007%28005%29.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4765423678849716275.post-1385387906255118237</id><published>2007-03-16T01:46:00.001-07:00</published><updated>2008-12-12T21:05:48.305-08:00</updated><title type='text'>Test Driven Development (speaker Steve Freeman)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_J1SbUvF3nBg/RgEa_L6I1sI/AAAAAAAAABk/NUa7bS_2MF4/s1600-h/15032007%28004%29.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://4.bp.blogspot.com/_J1SbUvF3nBg/RgEa_L6I1sI/AAAAAAAAABk/NUa7bS_2MF4/s320/15032007%28004%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5044342730462385858" border="0" /&gt;&lt;/a&gt;&lt;span style="" lang="EN-US"&gt;Steve started off with some pseudo-statistical evidence that TDD increases quality without hardly sacrificing development time. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;His steps for successful TDD are: write a test, make it pass, refactor. A suggestion he made was to name a test after the feature you are testing instead of the method. Here also, a good rule of thumb is: err on the side of verbosity.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;By writing tests, functionality can be described and added in small pieces.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;After that you refactor them by replacing duplicates and making stuff as expicit as possible.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;In conclusion he said that writing tests does not add enormously to development time, because research has shown that most of the time we read code more than we write it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Too bad the session ended with a negative atmosphere because James Coplien had a difference of opinion that got fought out amongst the audience which I found to be very unprofessional.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4765423678849716275-1385387906255118237?l=qcon2007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qcon2007.blogspot.com/feeds/1385387906255118237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4765423678849716275&amp;postID=1385387906255118237' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/1385387906255118237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/1385387906255118237'/><link rel='alternate' type='text/html' href='http://qcon2007.blogspot.com/2007/03/test-driven-development-speaker-steve.html' title='Test Driven Development (speaker Steve Freeman)'/><author><name>Samuel</name><uri>http://www.blogger.com/profile/03056839039236108798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_J1SbUvF3nBg/RgEa_L6I1sI/AAAAAAAAABk/NUa7bS_2MF4/s72-c/15032007%28004%29.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4765423678849716275.post-5286159170369876030</id><published>2007-03-16T01:45:00.000-07:00</published><updated>2007-03-16T01:46:17.055-07:00</updated><title type='text'>User Stories and Planning (speaker Rachel Davies)</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;First of all, I want to point everyone to &lt;a href="http://www.agilemanifesto.org/"&gt;www.agilemanifesto.org&lt;/a&gt; because if you are not familiar with what Agile is, and in relation to the topic XP or Extreme Programming, than a lot will not be completely clear.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;The purpose of Agile is to produce working software as early as possible and I should add not earlier. Methodologies like SCRUM, XP, LEAN and others help you with that.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Agile people when presented with a deadline that cannot be met, will choose to drop features. Something that is not always appreciated by the customer. So you need “special” customers or companies that are willing to have incomplete but great and bugfree working software if a deadline was a little to ambitious.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;User Stories are not meant to replace requirements, but what requirements seem to try and do but cannot succeed is pouring domain knowledge from the business analyst into the developers. User Stories are used for planning iterations and not for requirements. Period.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;A nice way to describe a User Story is the following template: As &lt;fill&gt;, I need &lt;fill&gt; so that &lt;fill&gt;”.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Every User Story should be given a descriptive name and storytelling should be used to extract variants on the User Story from the customer, like exceptions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Rachel told us that Release Planning is used for creating a roadmap to base on how you want to make progress in your project but also determine the “cost” of deployment.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;A Release Plan should be described in points (like every 250 function points) instead of moments in date and time.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;It is important to do something of a Planning Game and have Standup Meetings. A Standup Meeting is usually in 3 parts. One, the business sponsor tells his User Stories. Second, the tech people discuss the effects and complications they foresee. Third, an iteration planning is created with (!) the customer since her or she gets tot prioritize the User Stories.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;The speaker came over as a bit timid but I found the session nonetheless quite good.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4765423678849716275-5286159170369876030?l=qcon2007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qcon2007.blogspot.com/feeds/5286159170369876030/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4765423678849716275&amp;postID=5286159170369876030' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/5286159170369876030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/5286159170369876030'/><link rel='alternate' type='text/html' href='http://qcon2007.blogspot.com/2007/03/user-stories-and-planning-speaker.html' title='User Stories and Planning (speaker Rachel Davies)'/><author><name>Samuel</name><uri>http://www.blogger.com/profile/03056839039236108798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4765423678849716275.post-9159436145118855642</id><published>2007-03-16T01:44:00.002-07:00</published><updated>2008-12-12T21:05:48.322-08:00</updated><title type='text'>Introduction to banking architecture (speaker John Davies)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_J1SbUvF3nBg/RgEawb6I1rI/AAAAAAAAABc/Ub690mGe9_k/s1600-h/15032007%28003%29.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_J1SbUvF3nBg/RgEawb6I1rI/AAAAAAAAABc/Ub690mGe9_k/s320/15032007%28003%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5044342477059315378" border="0" /&gt;&lt;/a&gt;&lt;span style="" lang="EN-US"&gt;Since Eric will be going deeper into this in his blog, I will only “scatch out” what I took away from this session.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;A typical bank consists over one of the axis the LOBs or Lines of Business and the other the front, middle and back office.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;The front office can be typified by: distinct functions usually traders, very high volumes and chaotic. The middle office is where the computational stuff happens but some similarity between function usually risk management with also high volumes but not as high as the front office and more a kind of ordered chaos. Finally the back office which can be described as a SSC or Shared Service Center which implies more similar functions, low volume and an almost leisurely atmosphere.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Painfully, there is a lot more Java going on here than any of the Microsoft languages and I do not count C++ as a Microsoft language only Visual C++ because that is not ANSI compliant.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;The speaker obviously had decades of experience and that showed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4765423678849716275-9159436145118855642?l=qcon2007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qcon2007.blogspot.com/feeds/9159436145118855642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4765423678849716275&amp;postID=9159436145118855642' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/9159436145118855642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/9159436145118855642'/><link rel='alternate' type='text/html' href='http://qcon2007.blogspot.com/2007/03/introduction-to-banking-architecture.html' title='Introduction to banking architecture (speaker John Davies)'/><author><name>Samuel</name><uri>http://www.blogger.com/profile/03056839039236108798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_J1SbUvF3nBg/RgEawb6I1rI/AAAAAAAAABc/Ub690mGe9_k/s72-c/15032007%28003%29.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4765423678849716275.post-3603468231638209899</id><published>2007-03-16T01:44:00.001-07:00</published><updated>2008-12-12T21:05:48.341-08:00</updated><title type='text'>Keynote Thursday (speaker Erik Meijer)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_J1SbUvF3nBg/RgEaPb6I1pI/AAAAAAAAABM/obERuX4rF9M/s1600-h/15032007%28001%29.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://1.bp.blogspot.com/_J1SbUvF3nBg/RgEaPb6I1pI/AAAAAAAAABM/obERuX4rF9M/s320/15032007%28001%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5044341910123632274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;It was to be expected but some of the stuff in the keynote was already familiar from the LINQ session. But it was nice to see the audience appreciate Erik explaining the impedance problem. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;He went on to say that he really like the discoupling of relationships from object whereas they are implied in certain domain models. This way you can avoid relationships between another domain’s objects that are of no interest to your specific domain. The same goes for behavior.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;The title of democratizing the Cloud (or Internet) was explained in a set of principles or guidance that basically said: do not burden a developer with problems that he/she cannot easily fix or are very hard to fix without a guaranteed ROI. He gave a funny example about choosing a producttype in Visual Studio. He asked: why do I have to decide to create a console application which is then almost impossible to change to a web application?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Defering these hard decision could be done by having the runtime environment do late binding on the platform of choice. Why make the developer chose for winforms, web or mobile at designtime?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;His tip for making life easier on the developer was also : use what is in the room.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;This was kind of repeated in the last session I attended in the form of architecture of locality, but maybe more about that later.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;As a farewell, he demonstrated how LINQ queries could be used to have the runtime determine how to parallelize these and perform a distributed database action. Very interesting.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4765423678849716275-3603468231638209899?l=qcon2007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qcon2007.blogspot.com/feeds/3603468231638209899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4765423678849716275&amp;postID=3603468231638209899' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/3603468231638209899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/3603468231638209899'/><link rel='alternate' type='text/html' href='http://qcon2007.blogspot.com/2007/03/keynote-thursday-speaker-erik-meijer.html' title='Keynote Thursday (speaker Erik Meijer)'/><author><name>Samuel</name><uri>http://www.blogger.com/profile/03056839039236108798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_J1SbUvF3nBg/RgEaPb6I1pI/AAAAAAAAABM/obERuX4rF9M/s72-c/15032007%28001%29.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4765423678849716275.post-2124470641602374172</id><published>2007-03-15T00:41:00.002-07:00</published><updated>2007-03-15T01:27:30.370-07:00</updated><title type='text'>.Net / Java Interop (speaker Ted Neward)</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;The final presentation of the day was given by the track chair person and I was joined by my colleague Eric. &lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;The session did not go as I expected and did not go into the features that normally pop up whenever interoperability is discussed. But it was a very lively and funny talk.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;What was very nice, is the fact that Ted is an independent consultant who does both Java and .Net contract work. This makes him able to look at it from both platforms.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;He pointed out some really simple but no less workable approaches to getting the .Net platform and Windows technologies to work together with Java based server solutions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;But more interesting, as I am reading a book about it at the moment, was Ted’s explanation of the impedance problem. That word does not ring a bell for people whose native language is any other than English but it still is a very interesting problem. It describes how hard it is to translate a domain model to a relational or hierarchical model and other combinations.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;That concluded the first day of the conference and so far off to a good start.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4765423678849716275-2124470641602374172?l=qcon2007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qcon2007.blogspot.com/feeds/2124470641602374172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4765423678849716275&amp;postID=2124470641602374172' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/2124470641602374172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/2124470641602374172'/><link rel='alternate' type='text/html' href='http://qcon2007.blogspot.com/2007/03/net-java-interop-speaker-ted-neward.html' title='.Net / Java Interop (speaker Ted Neward)'/><author><name>Samuel</name><uri>http://www.blogger.com/profile/03056839039236108798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4765423678849716275.post-2865880074058237690</id><published>2007-03-15T00:41:00.001-07:00</published><updated>2007-03-15T01:29:28.068-07:00</updated><title type='text'>VSTS (speaker Kevin Jones)</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;I had my doubts about attending this one as it was an introductory presentation and I like to think that I am beyond that stage. Even though it turned out that I know most of what was presented, I must admit that Kevin knows a lot more about VSTS than what was presented today.&lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;He, essentially, walked us through the different parts of VSTS, both client and server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;Along the way, he gave us some hints and tips like there is a tool from the Build team that provides continuous integration features (of course there is CruiseControl.Net) and that the Windows scheduler is good enough to schedule your daily or nightly build. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;That VSTS is a V1.0 was made clear by the fact that Kevin also mentioned stuff that does not (or not completely) work well at the moment like for instance, deploying policies and the inconsistencies between how things are stored in Source Control, MS Project, and SharePoint,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;Finishing his presentation, he also told us about the nice features that VSTS for Database Professionals has to offer and that finally DBA’s are a full partner in the Software Development Lifecycle or SDLC.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;Sure, I knew a lot beforehand but the talk was informative and nice anyway.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;And I must applaud the dignity with which Kevin handled his laptop failing to provide a picture through the beamer and the hassle of copying his PowerPoint presentation over and not being able to demo some of the things he highlighted in his talk.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4765423678849716275-2865880074058237690?l=qcon2007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qcon2007.blogspot.com/feeds/2865880074058237690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4765423678849716275&amp;postID=2865880074058237690' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/2865880074058237690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/2865880074058237690'/><link rel='alternate' type='text/html' href='http://qcon2007.blogspot.com/2007/03/vsts-speaker-kevin-jones.html' title='VSTS (speaker Kevin Jones)'/><author><name>Samuel</name><uri>http://www.blogger.com/profile/03056839039236108798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4765423678849716275.post-7832456686637680977</id><published>2007-03-15T00:40:00.002-07:00</published><updated>2008-12-12T21:05:48.418-08:00</updated><title type='text'>WPF (speaker Ian Griffith)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_J1SbUvF3nBg/RgEadL6I1qI/AAAAAAAAABU/KQR-5Ceg6BA/s1600-h/15032007%28002%29.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://4.bp.blogspot.com/_J1SbUvF3nBg/RgEadL6I1qI/AAAAAAAAABU/KQR-5Ceg6BA/s320/15032007%28002%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5044342146346833570" border="0" /&gt;&lt;/a&gt;&lt;span style="" lang="EN-US"&gt;Ian told us upfront that he was not going to show cool 3D rotating buttons that displayed movies and a marquee text. He wanted to get the point across that WPF had more to offer than some kind of Flash-type GUI stuff and really had business value.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Ever since Windows 1.0 or Windows 16 bit, not a whole lot has changed in the way Windows interacts with the user and how it uses the hardware it is running on. Now that 3D accelerated hardware is ubiquitous, the age of the API really becomes evident.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Also, as display density increases (DPI) the bitmap based GDI does not scale well. Just imagine the Start button on a &lt;/span&gt;&lt;st1:metricconverter productid="30”"&gt;&lt;span style="" lang="EN-US"&gt;30”&lt;/span&gt;&lt;/st1:metricconverter&gt;&lt;span style="" lang="EN-US"&gt;, 2560 x 1600 pixels XHD monitor and you know what Ian was referring to.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;WPF adopts a popular pattern namely Separation of Concerns by splitting up markup and behavior. This is not something new as it is also done by ASP.NET where you have HTML and code-behind.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Integration is one of the most importing aspects that WPF has to offer. Now you don’t have to choose or combine one or more of the following technologies as they are combined in WPF. The technologies are: HTML, Win32, DirectX (on which WPF is built by the way, I am guessing DirectX 9), and Flash.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;The designers for doing WPF or XAML work have not yet matured to a production-quality level but they are getting there. At least a lot more with Visual Studio Codename “Orcas”.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Even though the presentation was not exactly what I expected, it was no less interesting.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4765423678849716275-7832456686637680977?l=qcon2007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qcon2007.blogspot.com/feeds/7832456686637680977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4765423678849716275&amp;postID=7832456686637680977' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/7832456686637680977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/7832456686637680977'/><link rel='alternate' type='text/html' href='http://qcon2007.blogspot.com/2007/03/wpf-speaker-ian-griffith.html' title='WPF (speaker Ian Griffith)'/><author><name>Samuel</name><uri>http://www.blogger.com/profile/03056839039236108798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_J1SbUvF3nBg/RgEadL6I1qI/AAAAAAAAABU/KQR-5Ceg6BA/s72-c/15032007%28002%29.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4765423678849716275.post-4077880424073169040</id><published>2007-03-15T00:40:00.001-07:00</published><updated>2007-03-15T00:40:36.653-07:00</updated><title type='text'>Service Oriented Communication and WCF (speaker Christian Weyer)</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Usually strange or tall people give great presentations, don’t ask me why.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Just to name a few strange ones: Erik Meijer and Don Box.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;And for some tall ones: Mark Russonovich and Christian Weyer.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;By the way, in no way does strange mean something negative but literally “out of the ordinary”.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Christian insisted that the track was not called “SOA and WCF”, because of all the vagueness that is associated with SOA whereas he was going to give a deeply technical presentation over what WCF really is and what it is trying to provide or accomplish.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;First of, WCF is really two things namely a runtime and a programming model.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;He continued by explaining your WCF ABC being Address, Binding, and Contract.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;The types of contracts he talked about were service contracts, operation contracts, data contracts, message contracts and last but not least, fault contracts.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;He went on to provide some common pitfalls like mutually excluding service configurations such as session-less services that want to use a basic HTTP binding and some more.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;One of the tips he gave for well-behaving services without unexpected behavior or permissions was to run service hosts under a non-admin process. That can be complex if they need to run using a kernel-level service like http.sys but nonetheless it is very important that you do. It will also make it easier to run well on Windows Vista and Codename Longhorn Server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;The presentation ended with a good question from the audience about how to test services. Christian replied that from his experience, unit testing code generated by SVCUTIL or using channel factories worked best for him.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Again, a really informative and rewarding session.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4765423678849716275-4077880424073169040?l=qcon2007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qcon2007.blogspot.com/feeds/4077880424073169040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4765423678849716275&amp;postID=4077880424073169040' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/4077880424073169040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/4077880424073169040'/><link rel='alternate' type='text/html' href='http://qcon2007.blogspot.com/2007/03/service-oriented-communication-and-wcf.html' title='Service Oriented Communication and WCF (speaker Christian Weyer)'/><author><name>Samuel</name><uri>http://www.blogger.com/profile/03056839039236108798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4765423678849716275.post-7814005055510752376</id><published>2007-03-15T00:39:00.000-07:00</published><updated>2008-12-12T21:05:48.438-08:00</updated><title type='text'>LINQ (speaker: Erik Meijer)</title><content type='html'>&lt;span style="" lang="EN-US"&gt;After the Amazon.com keynote and a short introduction from Ted Neward about the .Net track, Erik Meijer presented a talk on LINQ. Nice to see another Dutchman talking about this fascinating subject.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;If you do not know who Erik is; he created Haskell which is a functional programming language and after some diversions set out to create LINQ out of a subset of principles that make up functional programming and its roots in mathematics.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;He started by pointing out that LINQ is based on previous scientific work on stuff like list comprehensions, relational calculus and monad expressions. If you are familiar with all three, I applaud you because I wasn’t.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;On a side note, I do have to mention something about the person Erik.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;He presented in an almost ADHD type of fashion, wearing a t-shirt that could be how one experiences a bad LSD or acid trip. It kept everybody on their toes but he was, to me, at times also exhausting to try and follow everything he said. Let’s just say that he is a personality.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;LINQ is designed to separate the data model from the query syntax. The query syntax provides three distinct features: filtering (e.g. x mod 2 = 0 or a WHERE clause), mapping (e.g. x * 2 or the field-list after a SELECT statement), and aggregation (e.g. Sum function). Any data model can provide these features through something called extension methods which kind of resemble, to me, the Decorator pattern. All this is based on the IEnumerable interface and some “little” adjustments that had to be made in the .Net CLR. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Since LINQ is sort of a subset of functional programming, there is support for something called lamba expressions. It is way out of scope for this blogger to dive into that area, but remember that Google (and Wikipedia) are your friend for subjective information.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;All in all, a very riveting presentation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;Addendum: all the speakers in the .Net track, only Kevin Jones was there hosted by Ian's laptop. From left to right: Ian Griffith, Ted Neward, Christian Weyer, and Erik Meijer.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_J1SbUvF3nBg/RgEZfr6I1nI/AAAAAAAAAA8/RSE0EprYQn4/s1600-h/14032007%28008%29.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_J1SbUvF3nBg/RgEZfr6I1nI/AAAAAAAAAA8/RSE0EprYQn4/s320/14032007%28008%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5044341089784878706" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4765423678849716275-7814005055510752376?l=qcon2007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qcon2007.blogspot.com/feeds/7814005055510752376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4765423678849716275&amp;postID=7814005055510752376' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/7814005055510752376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/7814005055510752376'/><link rel='alternate' type='text/html' href='http://qcon2007.blogspot.com/2007/03/linq-speaker-erik-meijer.html' title='LINQ (speaker: Erik Meijer)'/><author><name>Samuel</name><uri>http://www.blogger.com/profile/03056839039236108798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_J1SbUvF3nBg/RgEZfr6I1nI/AAAAAAAAAA8/RSE0EprYQn4/s72-c/14032007%28008%29.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4765423678849716275.post-151204785370240764</id><published>2007-03-15T00:38:00.000-07:00</published><updated>2008-12-12T21:05:48.600-08:00</updated><title type='text'>Keynote (speaker Werner Vogels)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_J1SbUvF3nBg/RgEZ9b6I1oI/AAAAAAAAABE/ocOUuuSz9Nc/s1600-h/14032007%28007%29.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://1.bp.blogspot.com/_J1SbUvF3nBg/RgEZ9b6I1oI/AAAAAAAAABE/ocOUuuSz9Nc/s320/14032007%28007%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5044341600885986946" border="0" /&gt;&lt;/a&gt;&lt;span style="" lang="EN-US"&gt;“The Amazon.com Technology Platform: Building Blocks for Innovation”&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;To kick off QCon, Werner Vogels gave a presentation of the building blocks that make up &lt;span style=""&gt; &lt;/span&gt;Amazon.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;But first I want to mention that for the CTO of an American company, he spoke with a Dutch accent. I will investigate this later.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;What he basically said was that Amazon provides two ways of integrating with their platform: Data Integration and Service Integration. The first means you can extract (and provide) data to the Amazon warehouse. The second means a couple of thousand (yes, that is 3 zeroes) web services exposed by either SOAP or REST. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;The functionality or technology as he prefers to describe it which they provide basically consists of three aspects being: Storage, Compute and Queuing. That does not mean that there are not a whole lot of subcategories but they all boil down to these. So, there is a persistence framework, a business rule framework in the broadest sense, and a messaging or message queuing framework. Three might sound a bit low but as Van Halen (the rock band) wrote: if nothing is simple than nothing is learned.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Finally he led us through a historical journey of what he describes as 10 years of chaos followed by restructuring and re-architecting of Amazon.com. The message he wanted to get across is : scale later. This is what Donald Knuth summarized as : premature optimization is the root of all evil.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;All in all, a nice way to kick off the day.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Addendum: I also took photos when I was in London, speakers and sights. I will distribute them across the appropriate sessions.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_J1SbUvF3nBg/RgEPLb6I1lI/AAAAAAAAAAs/5-eqQby_8Gk/s1600-h/14032007.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_J1SbUvF3nBg/RgEPLb6I1lI/AAAAAAAAAAs/5-eqQby_8Gk/s320/14032007.jpg" alt="" id="BLOGGER_PHOTO_ID_5044329746776249938" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4765423678849716275-151204785370240764?l=qcon2007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qcon2007.blogspot.com/feeds/151204785370240764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4765423678849716275&amp;postID=151204785370240764' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/151204785370240764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/151204785370240764'/><link rel='alternate' type='text/html' href='http://qcon2007.blogspot.com/2007/03/keynote-speaker-werner-vogels.html' title='Keynote (speaker Werner Vogels)'/><author><name>Samuel</name><uri>http://www.blogger.com/profile/03056839039236108798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_J1SbUvF3nBg/RgEZ9b6I1oI/AAAAAAAAABE/ocOUuuSz9Nc/s72-c/14032007%28007%29.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4765423678849716275.post-1267902087387882185</id><published>2007-02-18T13:25:00.000-08:00</published><updated>2007-02-18T13:45:42.124-08:00</updated><title type='text'></title><content type='html'>I still have not decided on which sessions / tracks I will attend.&lt;br /&gt;There are so many interesting speakers and subjects.&lt;br /&gt;&lt;br /&gt;Seeing as how I am working in the &lt;a href="http://msdn.microsoft.com/"&gt;Microsoft&lt;/a&gt; division, the easiest choice on &lt;a href="http://qcon.infoq.com/qcon/schedule/thursday.jsp"&gt;Wednesday&lt;/a&gt; would be the &lt;a href="http://qcon.infoq.com/qcon/schedule/wednesday.jsp"&gt;.Net Enterprise Development track&lt;/a&gt;. But when I look at the other tracks, I get this gnawing feeling in my stomach, thinking about all the stuff I would miss out on.&lt;br /&gt;&lt;br /&gt;I do not know what &lt;a href="http://www.imdb.com/name/nm0000474/"&gt;Michael Keaton&lt;/a&gt; was complaining about in &lt;a href="http://www.imdb.com/title/tt0117108/"&gt;Multiplicity&lt;/a&gt;; I would volunteer gladly at this moment for a chance to have one or more clones of myself so I could attend every session that interests me.&lt;br /&gt;&lt;br /&gt;At least &lt;a href="http://qcon.infoq.com/qcon/schedule/thursday.jsp"&gt;Thursday&lt;/a&gt; is a lot easier to choose which track to follow. Since, at long least, our customers are starting to open their minds to an agile approach, I will attend the Agile Foundations track.&lt;br /&gt;&lt;br /&gt;So, what will I do on &lt;a href="http://qcon.infoq.com/qcon/schedule/friday.jsp"&gt;Friday&lt;/a&gt;? It is a toss up and I will probably divide my time equally across the first three tracks: Ajax and Browser-based Applications, Architectures You've Always wondered About, and Reflecting on our Agile Journey - How do we reach Mastery?&lt;br /&gt;&lt;br /&gt;Do you have any suggestions? If so, I would love to hear them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4765423678849716275-1267902087387882185?l=qcon2007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qcon2007.blogspot.com/feeds/1267902087387882185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4765423678849716275&amp;postID=1267902087387882185' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/1267902087387882185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/1267902087387882185'/><link rel='alternate' type='text/html' href='http://qcon2007.blogspot.com/2007/02/i-still-have-not-decided-on-which.html' title=''/><author><name>Samuel</name><uri>http://www.blogger.com/profile/03056839039236108798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4765423678849716275.post-5919494764318428875</id><published>2007-02-14T23:59:00.000-08:00</published><updated>2008-12-12T21:05:48.885-08:00</updated><title type='text'>QCon 2007 is coming</title><content type='html'>Hi and welcome to my blogging effort on &lt;span style="color: rgb(255, 0, 0);font-size:130%;" &gt;&lt;strong&gt;&lt;a href="http://qcon.infoq.com/qcon/conference/"&gt;QCon 2007&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_J1SbUvF3nBg/RdQVyo4r6vI/AAAAAAAAAAM/ghcOWV3mxnE/s1600-h/qcon_logo.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5031670643392506610" style="margin: 0px 10px 10px 0px; float: left;" alt="" src="http://4.bp.blogspot.com/_J1SbUvF3nBg/RdQVyo4r6vI/AAAAAAAAAAM/ghcOWV3mxnE/s320/qcon_logo.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The company I work for, &lt;a href="http://www.sogeti.com/"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Sogeti&lt;/span&gt; &lt;/a&gt;in the Netherlands, is sending me and a colleague to QCon to further enhance our architectorial - is that a real word? - skills.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_J1SbUvF3nBg/RdQWdI4r6xI/AAAAAAAAAAg/spBfzqPtDGE/s1600-h/sogeti.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5031671373536946962" style="margin: 0px 10px 10px 0px; float: left;" alt="" src="http://2.bp.blogspot.com/_J1SbUvF3nBg/RdQWdI4r6xI/AAAAAAAAAAg/spBfzqPtDGE/s320/sogeti.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I will be attending QCon from wednesday March 13th to friday March 16th.&lt;br /&gt;&lt;br /&gt;So .. stay tuned!&lt;br /&gt;&lt;br /&gt;Addendum: this is my colleague Eric&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_J1SbUvF3nBg/RgEPpr6I1mI/AAAAAAAAAA0/4xrfjkTd-iA/s1600-h/14032007%28005%29.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_J1SbUvF3nBg/RgEPpr6I1mI/AAAAAAAAAA0/4xrfjkTd-iA/s320/14032007%28005%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5044330266467292770" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4765423678849716275-5919494764318428875?l=qcon2007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qcon2007.blogspot.com/feeds/5919494764318428875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4765423678849716275&amp;postID=5919494764318428875' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/5919494764318428875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4765423678849716275/posts/default/5919494764318428875'/><link rel='alternate' type='text/html' href='http://qcon2007.blogspot.com/2007/02/qcon-2007-is-coming.html' title='QCon 2007 is coming'/><author><name>Samuel</name><uri>http://www.blogger.com/profile/03056839039236108798</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_J1SbUvF3nBg/RdQVyo4r6vI/AAAAAAAAAAM/ghcOWV3mxnE/s72-c/qcon_logo.gif' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
