<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title></title>
	<atom:link href="http://blog.decaresystems.ie/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.decaresystems.ie</link>
	<description>DSI blog on .Net, Java and technology in general</description>
	<lastBuildDate>Mon, 02 Apr 2012 08:10:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.decaresystems.ie' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title></title>
		<link>http://blog.decaresystems.ie</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.decaresystems.ie/osd.xml" title="" />
	<atom:link rel='hub' href='http://blog.decaresystems.ie/?pushpress=hub'/>
		<item>
		<title>QCon London 2012 &#8211; Retrospective</title>
		<link>http://blog.decaresystems.ie/2012/04/02/qcon-london-2012-retrospective/</link>
		<comments>http://blog.decaresystems.ie/2012/04/02/qcon-london-2012-retrospective/#comments</comments>
		<pubDate>Mon, 02 Apr 2012 08:10:43 +0000</pubDate>
		<dc:creator>Mihailo Lalevic</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Conference]]></category>
		<category><![CDATA[Database]]></category>

		<guid isPermaLink="false">http://blog.decaresystems.ie/?p=486</guid>
		<description><![CDATA[After couple of weeks of letting things settle a bit after QCon London 2012 has anything stuck with me? Have I learned anything? Was it worth? What did I learn and did it prompt me to extend my knowledge in certain areas? My response would be: Hell yeah! to all of the above &#8211; I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.decaresystems.ie&amp;blog=34066530&amp;post=486&amp;subd=decaresystemsblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>After couple of weeks of letting things settle a bit after <a href="http://qconlondon.com/london-2012/">QCon London 2012</a> has anything stuck with me? Have I learned anything? <strong>Was it worth</strong>? What did I learn and did it prompt me to extend my knowledge in certain areas?</p>
<p>My response would be: <strong>Hell yeah!</strong> to all of the above &#8211; I learned loads, met lots of interesting people, exchanged ideas with people working on different projects, in differently organized teams &#8211; and it did prompt me to action! My TODO list is gigantic with things to check out, try out, read, consider as an alternative, question. Quite frankly, that&#8217;s what you want after a conference, what would be the point going there and come back with nothing to say/think about.</p>
<p style="text-align:center;"><a href="http://decaresystemsblog.files.wordpress.com/2012/04/img_20120307_102205-e1333322667146.jpg"><img class="aligncenter  wp-image-490" title="London is Beautiful - View from the venue" src="http://decaresystemsblog.files.wordpress.com/2012/04/img_20120307_102205-e1333322667146.jpg?w=372&#038;h=568" alt="We had beautiful view from the venue" width="372" height="568" /></a></p>
<p><span id="more-486"></span></p>
<p>So &#8211; yes, I did like it &#8211; a lot. As Greg Young rightly pointed out in his <a title="Greg Young: Developers Have a Mental Disorder" href="http://qconlondon.com/london-2012/presentation/Developers%20Have%20a%20Mental%20Disorder">keynote</a> &#8211; QCon is on a different, slightly more abstract level than other conferences. It is not about a tool, framework or a particular language. It is about adopting a mindset that questions dogmas and principles and en-rooted thoughts. So naturally it was about making things done, making things <a title="Rich Hickey - Simple Made Easy" href="http://qconlondon.com/london-2012/presentation/Simple%20Made%20Easy">simple</a>, using right tools for the job, knowing tradeoffs and making decisions based on them. Oh, yes, and nearly everyone agreed that ORM is probably never a good tool for anything <img src='http://s2.wp.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> .</p>
<p>In large part my intention was to hear as much as I can on architecture, then on big data and NoSQL and satisfy my geekiness with a few talks on the side (Erlang, messaging).</p>
<p>What have I learned? Let&#8217;s go <del>quickly</del> through (some of) it:</p>
<h2>DATA IS BIG</h2>
<p><a title="Marting Fowler and Rebecca Parsons: Data Panorama" href="http://qconlondon.com/london-2012/presentation/The%20Data%20Panorama">Nature of data</a> <a title="Data Panorama - Slides" href="http://qconlondon.com/dl/qcon-london-2012/slides/MartinFowler_and_RebeccaParsons_TheDataPanorama.pdf">is changing</a> &#8211; it&#8217;s growing and not only for Facebook, Amazon or Google, we pretty much suck in estimations so, I suppose it goes without question that we do so in data size estimation too. As business recognizes value in it we will be generating more and more data and we cannot expect technologies 40+ years old to handle the volume simply because they were design with different requirements in mind. So it seems reasonable to resort to <a title="Polyglot Persistence - Infodeck" href="martinfowler.com/articles/nosql-intro.pdf">polyglot persistence</a> &#8211; use right tool for the job &#8211; got it? And it actually makes sense &#8211; Relational databases would&#8217;ve not been around for so long if they weren&#8217;t doing a good job in persisting and keeping our data consistent. It is good to hear some sobering words though:</p>
<h2>Relational Databases Will (probably) Never Go Away</h2>
<p>(in enterprise)</p>
<p>It is <a title="Akmal B. Chaudhri - Mirror, Mirror on the Wall, What's the Fairest Database Technology of All" href="http://qconlondon.com/london-2012/presentation/Mirror,%20Mirror%20on%20the%20Wall,%20What%27s%20the%20Fairest%20Database%20Technology%20of%20All">sobering</a> because NoSQL is all the rave nowadays. There&#8217;s a <a title="Slides: Mirror, Mirror on the Wall, What's the Fairest Database Technology of All" href="http://qconlondon.com/dl/qcon-london-2012/slides/AkmalB.Chaudhri_MirrorMirrorOnTheWallWhatsTheFairestDatabaseTechnologyOfAll.pdf">Hype</a> <a title="Wikipedia: Hype Cycle" href="http://en.wikipedia.org/wiki/Hype_cycle">Curve</a> and it is showing that NoSQL is going steadily towards the peak of unrealistic expectations and will soon be heading for a spiralling down in disillusionment. Now <a title="Benjamin Stopford - Where does Big Data meet Big Database?" href="http://qconlondon.com/london-2012/presentation/Where%20does%20Big%20Data%20meet%20Big%20Database?">NoSQL didn&#8217;t appear</a> <a title="Slides - Where does Big Data meet Big Database?" href="http://qconlondon.com/dl/qcon-london-2012/slides/BenjaminStopford_WhereDoesBigDataMeetBigDatabase.pdf">out of thin air</a> &#8211; it came about as a solution to the problem that was previously unsolvable. Traditional relational databases cannot be (reasonably) scaled out &#8211; only up &#8211; which poses a big problem when we have huge amount of data. And that is why general consensus is that they can position themselves successfully</p>
<h2>NoSQL as Complementary Solution</h2>
<p>If history has thought us anything: all solutions aimed at replacing SQL databases failed miserably because Relational databases quickly responded adding support for similar features (XML springs to mind). So complementary solution &#8211; more specialized solution could find its way and seems to be finding its way. No wander there&#8217;s hundreds in offering of various types.</p>
<p>It all comes down to <a title="Slides - Simple Made Easy" href="http://qconlondon.com/dl/qcon-london-2012/slides/RichHickey_SimpleMadeEasy.pdf">knowing your</a> <a title="Rich Hickey - Simple Made Easy" href="http://qconlondon.com/london-2012/presentation/Simple%20Made%20Easy">trade-offs</a>. And it was so well put by Rich Hickey that it stuck immediately:</p>
<h2>Developers Know Value of Everything but Trade Offs of Nothing</h2>
<p>That is why I didn&#8217;t need, nor I wanted to hear that NoSQL will save the world &#8211; hype is not what we should be after &#8211; it&#8217;s about knowledge &#8211; about informing oneself, or as Dan North put it (something similar to this anyway): Inform yourself before making <a title="Dan North: Decisions, decisions" href="http://qconlondon.com/london-2012/presentation/Decisions,%20decisions">decision</a> because you&#8217;ll make decision anyway. So it&#8217;s better to be informed decision <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  &#8211; makes sense, hmmm, I wander why do we then take so many things for granted. I&#8217;m slowly starting to understand why one of the key notes had Mental Disease in its title.</p>
<h2>Architecture should not be Pre-Set &#8211; it should Evolve</h2>
<p>That doesn&#8217;t mean we should not do any upfront thinking and just get on with it in rather <del>agile</del> chaotic way &#8211; but rather do some thinking upfront and have a baseline architecture &#8211; put some thought in it, and then do <a title="Michael Stal &quot;Nothing is Permanent except Change&quot; - How Software Architects can embrace Change" href="http://qconlondon.com/london-2012/presentation/%22Nothing%20is%20Permanent%20except%20Change%22%20-%20How%20Software%20Architects%20can%20embrace%20Change">iterative-incremental </a><a title="Slides - How Software Architects can embrace Change" href="http://qconlondon.com/dl/qcon-london-2012/slides/MichaelStal_NothingIsPermanentExceptChangeHowSoftwareArchitectsCanEmbraceChange.pdf">evolutionary design</a>. The change is not exception &#8211; it is the norm &#8211; so it only makes sense to be ready for it &#8211; design for change. A cycle should have refine and asses and then refactor phase &#8211; we&#8217;re talking about architecture design here &#8211; so testing and changing architecture is here throughout whole lifespan of the project &#8211; that&#8217;s why/how it evolves.</p>
<h2>Build System of Systems</h2>
<p><a title="Stefan Tilkov - Breaking the monolith: Towards a system-of-systems architecture" href="http://qconlondon.com/london-2012/presentation/Breaking%20the%20monolith:%20Towards%20a%20system-of-systems%20architecture">There is no</a> <a title="Slides - Breaking the monolith" href="http://qconlondon.com/dl/qcon-london-2012/slides/StefanTilkov_BreakingTheMonolithTowardsASystemOfSystemsArchitecture.pdf">one size fits all</a> &#8211; whoever draws high level architecture diagram as 3 boxes representing UI-Logic-Persistence layers deserves to be punched in the face. There&#8217;s absolutely no value in it and it communicates nothing. On the other hand when we have bunch of boxes representing billing, inventory, order management etc. and we have some lines connecting them it reveals much more about the system. It kind of communicates different responsibilities and functionalities that our system has. Making decoupled systems &#8211; in the long run &#8211; is better because it&#8217;s easier to manage and maintain and with it we get better freedom to make individual systems how we see fit. And it is all about simplicity &#8211; smaller chunks are simpler than one big monolith. Simple often means making more things &#8211; not less.</p>
<h2>Micro and Macro Architectures have different considerations</h2>
<p>When we have system of systems we have now 2 architecture levels &#8211; macro &#8211; communication between systems, how all this hangs together &#8211; and micro &#8211; responsible for inner workings of the systems. They have different dynamics of change &#8211; macro is there for longer (stuck for a decade?!), but micro can be changed frequently. This also allows us to have different micro architectures among the systems, even different languages &#8211; ha &#8211; polyglot programming!</p>
<h2>Sometimes un-orthodox approach works better</h2>
<p>Like <a title="Jesper Richter-Reichhelm of Wooga - Games for the Masses - How DevOps affects architecture design" href="http://qconlondon.com/london-2012/presentation/Games%20for%20the%20Masses%20-%20How%20DevOps%20affects%20architecture%20design">polyglot programming</a> and <a title="Slides : Games for the Masses" href="http://qconlondon.com/dl/qcon-london-2012/slides/JesperRichter-Reichhelm_GamesForTheMassesHowDevOpsAffectsArchitectureDesign.pdf">stateful server</a> in Wooga. I loved how they evolved architecture from PHP+MySQL through Ruby+MySQL then Ruby+Redis then going stateful! with Erlang+Amazon&#8217;s S3 all the way to Ruby+Erlang+S3+MySQL. Just brilliant. And this goes along with the whole theme of the conference &#8211; challenge en-rooted thoughts, don&#8217;t take things for granted &#8211; in this case go with Stateful Server (dear God!) nearly without Database (blasphemy!) with Multiple languages (insanity)! And it worked!!!!</p>
<p>But if you try to:</p>
<h2>Achieve Sustainable Speed</h2>
<p>I learned you need Commodity Languages for this (read old boring Java/.NET stuff), commodity hardware, foster <a title="Jodi Moran - Zero to ten million daily users in four weeks: sustainable speed is king" href="http://qconlondon.com/london-2012/presentation/Zero%20to%20ten%20million%20daily%20users%20in%20four%20weeks:%20sustainable%20speed%20is%20king">high speed culture</a> (which apparently means that <a title="Slides - Sustainable speed is king" href="http://qconlondon.com/dl/qcon-london-2012/slides/JodiMoran_ZeroToTenMillionDailyUsersInFourWeeksSustainableSpeedIsKing.pdf">tests are dead</a> at the same time) and a few things in between. However haven&#8217;t I just mentioned Erlang in the previous point? That&#8217;s the nicety of this mash up of different ideas &#8211; you can&#8217;t hear this in a one vendor conference <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  However, it all plays nicely with the overall theme of the conference &#8211; if it makes sense use it; and the question <em>does it make sense?</em> &#8211; is <span style="text-decoration:underline;">always wrong</span> asking without a <strong>context</strong>. So next time someone comes along and says: we&#8217;ll make three tier application with relational database for data &#8211; now what are we making? &#8211; they deserve another punch in the face (I hope this doesn&#8217;t work like subliminal message, otherwise I might be in trouble).</p>
<p>While I&#8217;m at Erlang:</p>
<h2>Erlang is <a title="Damien Katz - Erlang in the real world: CouchDB" href="http://qconlondon.com/london-2012/presentation/Erlang%20in%20the%20real%20world:%20CouchDB">language from future</a></h2>
<p>but with <a title="Slides : Erlang in the real world" href="http://qconlondon.com/dl/qcon-london-2012/slides/DamienKatz_ErlangInTheRealWorldCouchDB.pdf">insane syntax</a> which probably hampered its adoption (it&#8217;s been there longer than .NET and it&#8217;s just couple of years younger than Java). If you cannot find proper Erlang programmers &#8211; <del>whatever</del> anything serious you try doing with it will end up in tears (commodity languages &#8230;). But if you want to achieve high availability for example there&#8217;s no better language than Erlang because it was made from ground up for fault tolerance, high availability and distribution (to me: it nearly spells use me for infrastructure) &#8211; so if you need this you better either train of find someone who knows it. I did tutorial on this before the conference &#8211; and some things you can do in 10 minutes with it would take you ages in .NET/Java (and you&#8217;d end up with more hair in your head for granted).</p>
<h2>Mean Time to Recovery</h2>
<p>(is actually the metric that matters vs. Mean Time Between Failures)</p>
<p><a title="Martin Thompson - Event Sourced Architectures and what we have forgotten about High-Availability" href="http://qconlondon.com/london-2012/presentation/Event%20Sourced%20Architectures%20and%20what%20we%20have%20forgotten%20about%20High-Availability">High availability</a> is <a title="Slides - Event Sourced Architectures" href="http://qconlondon.com/dl/qcon-london-2012/slides/MartinThompson_EventSourcedArchitecturesAndWhatWeHaveForgottenAboutHighAvailability.pdf">not the same as Up Time</a> &#8211; Up and processing user&#8217;s transactions vs. just being up. Failures happen (all the time) so we should be ready. The question is how? <a title="John Allspaw - Resilient Response In Complex Systems" href="http://qconlondon.com/london-2012/presentation/Resilient%20Response%20In%20Complex%20Systems">Train for it</a> &#8211; that sounded awfully scary, <a title="Slides - Resilient Response In Complex Systems" href="http://qconlondon.com/dl/qcon-london-2012/slides/JohnAllspaw_ResilientResponseInComplexSystems.pdf">frying production</a> boxes is not really my cup of tea (but got me thinking nonetheless, hopefully my PM is not reading this, hell I should delete this line). Learn from failures &#8211; but from successes too &#8211; which makes sense since (hopefully) we do more things right than wrong. Learn from other fields &#8211; like &#8211; from running Aircraft Carrier (weird but excellent advice). Automate (but keep in mind man cannot be replaced). Share near miss events!</p>
<h2>You don&#8217;t have to be young to be cool</h2>
<p>(technology-wise)</p>
<p>Like Event Sourcing &#8211; idea is here since 70&#8242;s but it&#8217;s becoming very cool lately. Node.js, Nginx mentioned, also, ideas seemed to be the same in messaging solutions. I liked idea how events are actually revealing intention not just merely logging data.</p>
<h2>Messaging is cool again</h2>
<p><a title="Todd Montgomery - High Performance Network Applications in the Capital Markets" href="http://qconlondon.com/london-2012/presentation/High%20Performance%20Network%20Applications%20in%20the%20Capital%20Markets">The talk</a> <a title="Slides - High Performance Network Applications in the Capital Markets" href="http://qconlondon.com/dl/qcon-london-2012/slides/ToddMontgomery_HighPerformanceNetworkApplicationsInTheCapitalMarkets.pdf">rekindled</a> my affection for messaging (this sounded weirder than intended). It was about millions of messages per second, persistence, recovery, queues being dead (lots of deaths predicted here, plus some wishful thinking on ORMs). Ah, I&#8217;ll just have to watch it again. It was just great talk &#8211; superbly balanced yet rich with information (although maybe a bit heavy if you&#8217;re not into this &#8230; ok, ok, weirdness &#8211; suffice to say I&#8217;ll watch it again, I loved it. Just drop it.)</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p style="text-align:center;"><a href="http://decaresystemsblog.files.wordpress.com/2012/04/img_20120307_150344.jpg"><img class="aligncenter  wp-image-491" title="My guardians at the conference" src="http://decaresystemsblog.files.wordpress.com/2012/04/img_20120307_150344-e1333322920428.jpg?w=372&#038;h=496" alt="" width="372" height="496" /></a></p>
<p>And that is just a part of what I&#8217;ve heard and learned. There&#8217;s more. I could go on and on. I may not be agreeing with everything said there but it was very valuable to hear different opinions and see different approaches &#8211; and generally get the brain thinking about all of it. Now I am definitely better equipped to make architectural decisions in informed way which I hoped to get out of this.</p>
<p>Anyway, all of this will be available on <a href="http://www.infoq.com/qcon/">InfoQ</a> soon (well, over next 6 months). I already have a list of things to watch. I missed Joe Armstrong&#8217;s talk on Erlang which I heard was very good. And Dan North&#8217;s talk &#8211; Decisions, Decisions, then Patricek&#8217;s talk on F# (heard both were great fun), and all from architecture track I didn&#8217;t make. Btw, if you haven&#8217;t seen videos of talks on <a href="http://www.infoq.com">InfoQ</a> before &#8211; they are great &#8211; that&#8217;s the way to do it &#8211; with synchronized slides and transcripts (transcripts were new for me), definitely recommended. Slides of all talks are already public so maybe <a href="http://qconlondon.com/london-2012/schedule/wednesday.jsp">worth having a look</a>.</p>
<p>Just to mention briefly tutorials before the conference. They are of great value! One of the things I came to see was Erlang so I attended a <a title="Practical Erlang Programming" href="http://qconlondon.com/london-2012/presentation/Practical%20Erlang%20Programming">great tutorial</a> before the main conference. And then I watched Erlang in the real world (in Couch DB). So now I&#8217;m completely equipped to make decisions in that regard. Also, I attended tutorial by <a href="http://www.codingthearchitecture.com/">Simon Brown</a> &#8211; <a title="Are you a software architect?" href="http://qconlondon.com/london-2012/presentation/Are%20you%20a%20software%20architect?">Are you a software architect?</a> And it was all about seeing big picture, driving vision, mentoring the team, coding!, and all in all supporting and enabling the team all the way through &#8211; there&#8217;s so many responsibilities it&#8217;s not even funny how poorly the role is often described. Great stuff, highly recommended.</p>
<p>That was it for this conference &#8211; hopefully they line up something as interesting for the next year!</p>
<p>P.S. Racoon and Cheetah were sent to keep me company and protect me by my son (three and a half). He was very serious about it &#8211; they are his favourites.</p>
<p>P.P.S. I&#8217;ll keep a list of all talks I&#8217;ve seen here as soon as they become public. Hopefully</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/decaresystemsblog.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/decaresystemsblog.wordpress.com/486/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/decaresystemsblog.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/decaresystemsblog.wordpress.com/486/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/decaresystemsblog.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/decaresystemsblog.wordpress.com/486/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/decaresystemsblog.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/decaresystemsblog.wordpress.com/486/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/decaresystemsblog.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/decaresystemsblog.wordpress.com/486/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/decaresystemsblog.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/decaresystemsblog.wordpress.com/486/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/decaresystemsblog.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/decaresystemsblog.wordpress.com/486/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.decaresystems.ie&amp;blog=34066530&amp;post=486&amp;subd=decaresystemsblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.decaresystems.ie/2012/04/02/qcon-london-2012-retrospective/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/84e2a4be28c3f1d0adddb205c02fa2ee?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mlalevic</media:title>
		</media:content>

		<media:content url="http://decaresystemsblog.files.wordpress.com/2012/04/img_20120307_102205-e1333322667146.jpg" medium="image">
			<media:title type="html">London is Beautiful - View from the venue</media:title>
		</media:content>

		<media:content url="http://decaresystemsblog.files.wordpress.com/2012/04/img_20120307_150344-e1333322920428.jpg" medium="image">
			<media:title type="html">My guardians at the conference</media:title>
		</media:content>
	</item>
		<item>
		<title>QCon London 2012 &#8211; Day 3</title>
		<link>http://blog.decaresystems.ie/2012/03/10/qcon-london-2012-day-3/</link>
		<comments>http://blog.decaresystems.ie/2012/03/10/qcon-london-2012-day-3/#comments</comments>
		<pubDate>Sat, 10 Mar 2012 00:25:10 +0000</pubDate>
		<dc:creator>Mihailo Lalevic</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[QConLondon]]></category>

		<guid isPermaLink="false">http://blog.decaresystems.ie/?p=463</guid>
		<description><![CDATA[Today was the final day of the conference. It has been a long week, but nonetheless rewarding. It was a pleasure being here and I feel I learned a lot during this time. Today, I planned to be mostly on Big Data/NoSQL track, with small brakes for some Working Distributed and The Rise of the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.decaresystems.ie&amp;blog=34066530&amp;post=463&amp;subd=decaresystemsblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Today was the final day of <a href="http://qconlondon.com/london-2012/">the conference</a>. It has been a long week, but nonetheless rewarding. It was a pleasure being here and I feel I learned a lot during this time. Today, I planned to be mostly on Big Data/NoSQL track, with small brakes for some Working Distributed and The Rise of the Functional Programming.</p>
<p>The key note was given by <a href="http://qconlondon.com/london-2012/speaker/John+Allspaw">John Allspaw</a> and was about <strong>Resilient Response in Complex Systems</strong>.<span id="more-463"></span>Drills on live system, comparisons with running an aircraft carrier, near-miss events, learning from failures, but also from successes!, learning improvisation, Mean Time Between <del>Failures</del> Recoveries &#8211; all of that had been touched and more. Some of the mentioned &#8211; really scary stuff &#8211; like &#8211; simulate failure of components in live production. But also some common sense &#8211; why don&#8217;t we learn from our successes too when we presumably succeed far more often than fail.</p>
<p>Next two talks had lots of overlap and were basically covering NoSQL space and both resonated around same thing: <strong>Relational Databases</strong> are <span style="text-decoration:underline;">here to stay</span>, <strong>NoSQL</strong> can be used as <span style="text-decoration:underline;">complementary</span> solution to fill some gaps. It was a nice overview and actually there was lots to learn from the talks like where is NoSQL (or well, alternatives to SQL because other things were touched too) positioned on <a href="http://en.wikipedia.org/wiki/Hype_cycle">Hype Curve</a>. It seems it&#8217;s at the beginning of the curve going up towards <em>Peak of Inflated Expectations</em>. Also, there has been some comparison on all available alternatives to relational databases some of which I never really considered before. See some more <a href="http://cattell.net/datastores/">scalable datastore comparisons</a>.</p>
<p>The next talk was <strong>Ain&#8217;t no cure for the distributed blues</strong> by <a href="http://qconlondon.com/london-2012/speaker/Dan+North">Dan North</a>. Very amusing and informational talk, but the choice of the room was ridiculous, the room was too small to fit everyone even with people sitting on the floor and standing by the wall. This wasn&#8217;t really that much about working distributed as about how to cut waste, importance of communication and making people want to do something rather forcing them &#8211; ah yes, all with background Star Wars theme.</p>
<p>Then it was about <strong>Erlang</strong> and <a href="http://qconlondon.com/london-2012/speaker/Damien+Katz">Damien Katz</a>, creator of <strong>CouchDB</strong>, explained why he found Erlang weird, simple, reliable, beautiful alas slow. Dubbing it Language from the Future &#8211; with appropriate background picture (hint: trilogy <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ), he pretty much covered when you would want to use it and when you might resort to some lower level alternatives. The bottom line is &#8211; it can do anything and everything but slow adoption rate is hurting it and slow adoption rate might be simply due to weird syntax. He strongly declared that the language is beautiful and once past syntax barrier productivity is phenomenal.</p>
<p>The last session of the day and of the conference for me was on <strong>Hadoop</strong>. It was fairly comprehensive coverage what is it and why one might want to use it. This, combined with previous NoSQL sessions and Dan North&#8217;s mentioning of metrics and usefulness of data (well, usefulness of useful data <img src='http://s2.wp.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  ) just made my appetite for massive data generation through various logging insatiable &#8211; hopefully it passes me until I come back to work on Monday &#8230; otherwise our servers are in trouble. Read original <a href="http://research.google.com/archive/mapreduce.html">Map Reduce</a> paper on which <a href="http://hadoop.apache.org/">Hadoop</a> is based.</p>
<p>It&#8217;s been a pretty long week, I need some time to summarise impressions and surely I&#8217;ll have some more reflection to do on this.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/decaresystemsblog.wordpress.com/463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/decaresystemsblog.wordpress.com/463/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/decaresystemsblog.wordpress.com/463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/decaresystemsblog.wordpress.com/463/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/decaresystemsblog.wordpress.com/463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/decaresystemsblog.wordpress.com/463/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/decaresystemsblog.wordpress.com/463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/decaresystemsblog.wordpress.com/463/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/decaresystemsblog.wordpress.com/463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/decaresystemsblog.wordpress.com/463/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/decaresystemsblog.wordpress.com/463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/decaresystemsblog.wordpress.com/463/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/decaresystemsblog.wordpress.com/463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/decaresystemsblog.wordpress.com/463/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.decaresystems.ie&amp;blog=34066530&amp;post=463&amp;subd=decaresystemsblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.decaresystems.ie/2012/03/10/qcon-london-2012-day-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/84e2a4be28c3f1d0adddb205c02fa2ee?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mlalevic</media:title>
		</media:content>
	</item>
		<item>
		<title>QCon London 2012 &#8211; Day 2</title>
		<link>http://blog.decaresystems.ie/2012/03/08/qcon-london-2012-day-2/</link>
		<comments>http://blog.decaresystems.ie/2012/03/08/qcon-london-2012-day-2/#comments</comments>
		<pubDate>Thu, 08 Mar 2012 23:09:19 +0000</pubDate>
		<dc:creator>Mihailo Lalevic</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[QConLondon]]></category>

		<guid isPermaLink="false">http://blog.decaresystems.ie/?p=461</guid>
		<description><![CDATA[Just got back from another day at QCon London 2012. Previous day was very good, but this morning I wasn&#8217;t quite sure what to expect from the sessions, and surely it was a mixed bag. Originally, I&#8217;ve planned to see Architectures You&#8217;ve Always Wondered About, but since Martin Thompson&#8217;s introduction to Finance track was so [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.decaresystems.ie&amp;blog=34066530&amp;post=461&amp;subd=decaresystemsblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Just got back from another day at <a href="http://qconlondon.com/london-2012/">QCon London 2012</a>. Previous day was very good, but this morning I wasn&#8217;t quite sure what to expect from the sessions, and surely it was a mixed bag. Originally, I&#8217;ve planned to see Architectures You&#8217;ve Always Wondered About, but since Martin Thompson&#8217;s introduction to Finance track was so good I thought to give it a go.</p>
<p>Key note for today &#8211; <strong>Simple Made Easy</strong>, by <a href="http://qconlondon.com/london-2012/speaker/Rich+Hickey">Rich Hickey</a> &#8211; author of <a href="http://en.wikipedia.org/wiki/Clojure">Clojure</a>. <span id="more-461"></span>It was interesting talk around these two words &#8211; simple and easy: how we reach for easy things first and by doing so we might be making more complex systems &#8211; easy is not simple. To quote him, hopefully correctly:</p>
<blockquote><p>Programmers know benefits of everything but trade-offs of nothing.</p></blockquote>
<p>And actually that was the key thing of the talk &#8211; we need to know trade-offs we are taking when we introduce, say a new framework &#8211; what complexity it entails for the convenience of not hand crafting 20 lines of code for example. At least that was my interpretation of his talk. Also, he presented couple of tables &#8211; <em>The Complexity Toolkit</em> and <em>The Simplicity Toolkit</em> &#8211; where were looking a bit biased towards functional programming &#8211; however I took them as: if you take from the former know the trade-offs, if you take from the latter know possible benefits (over the former) and make decision for yourself. He concluded along the lines: <strong>Simplicity is a choice</strong>. No tool will do it for us &#8211; testing tools don&#8217;t care if it&#8217;s simple or not.</p>
<p><strong>Bashing of ORMs</strong> continued (ORM &#8211; OMG in complexity toolkit), and this bashing is happening throughout conference (already done on several talks yesterday, forgot to mention, and couple of talks today). This seems not be really aimed at ORMs but our often brainless usage of them &#8211; see the quote. From this conference, one of the points I&#8217;m taking so far is &#8211; think about what you&#8217;re doing ( <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  makes sense), things should not be given (usage of Rational Database for example goes normally without question) but conscious decision on using them should be made based on the problem at hand. Genius, some common sense goes long way.</p>
<p>Anyway, with that I went onto <strong>High Performance Network Applications in the Capital Markets</strong> by <a href="http://qconlondon.com/london-2012/speaker/Todd+Montgomery">Todd Montgomery</a>.</p>
<ol>
<li>It was absolutely packed, people were standing, sitting on the floor</li>
<li>It was extremely interesting, actually, I loved every minute of it</li>
</ol>
<p>Here are the <a href="http://qconlondon.com/dl/qcon-london-2012/slides/ToddMontgomery_HighPerformanceNetworkApplicationsInTheCapitalMarkets.pdf">slides</a>. Now, this might not be your cup of tea, but I was once very much into messaging and integration and that kind of thing, and the talk was just perfect for me. They are getting 7.2 mill mesages through per minute during the peak, and the key is <em>Shared nothing messaging</em>: Peer-to-Peer architecture, Parallel persistence and Single message API. Won&#8217;t go into the details &#8211; see the slides, I&#8217;m going to see them again, and I&#8217;ll see the talk once more when it becomes available on InfoQ. He boldly stated that <em>queueing [as we know it] is dead long live [publish/subscribe] queueing</em> &#8211; btw, that&#8217;s my interpretation.</p>
<p>The rest of the talks I&#8217;ll just mention briefly &#8211; wan&#8217;t really impressed. <strong>Modelling in Cold Climate</strong> was about phases teams go through when Model they&#8217;ve been working on &#8220;sucks&#8221;. It was entertaining session, there were couple of interesting things there, but the whole talk wasn&#8217;t really relevant to me.</p>
<p>I decided for <strong>Extreme FIX Messaging for Low-Latency</strong> because they were doing it in C# and Java, and I hoped to see how is it possible to do it and not resort to more exotic solutions. And the only thing I got was Garbage Collection needed to be tamed and they&#8217;ve used custom drivers and custom networking hardware. Was a let down on my expectations.</p>
<p>With that I decided to go back to Architecture track and <strong>BigData@Facebook</strong>. It was about Scale and Scope of their data and how their architecture evolved to tackle hyper growth. It was interesting to see how their data size just exploded recently and how they coped with it &#8211; from RDBMS data warehousing solution through introduction of Hadoop, evolution into Hive and then adding HDFS to it. Also interesting was how focus moved from simple business reports to data science to democratization of data and fighting chaos that came out of it, and on towards new near real-time statistics requirements and on and on. It was interesting and actually valuable to see another aspect of data &#8211; data that is behind the scenes which affects new features and development of the application.</p>
<p>The last session was on <strong>Azure &#8211; platforms choice</strong> there. Of course, having any connection with Microsoft &#8211; demos were the order of the day <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  However it was interesting to see that Microsoft is diversifying the offering. Focus was on Node.js and solid support it now has in Azure.</p>
<p>That was it for today, for tomorrow I&#8217;m planning Big Data and NoSQL track and it seems like lots of interesting sessions there.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/decaresystemsblog.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/decaresystemsblog.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/decaresystemsblog.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/decaresystemsblog.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/decaresystemsblog.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/decaresystemsblog.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/decaresystemsblog.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/decaresystemsblog.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/decaresystemsblog.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/decaresystemsblog.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/decaresystemsblog.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/decaresystemsblog.wordpress.com/461/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/decaresystemsblog.wordpress.com/461/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/decaresystemsblog.wordpress.com/461/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.decaresystems.ie&amp;blog=34066530&amp;post=461&amp;subd=decaresystemsblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.decaresystems.ie/2012/03/08/qcon-london-2012-day-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/84e2a4be28c3f1d0adddb205c02fa2ee?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mlalevic</media:title>
		</media:content>
	</item>
		<item>
		<title>QCon London 2012 &#8211; Day 1 of the Conference</title>
		<link>http://blog.decaresystems.ie/2012/03/07/qcon-london-2012-day-1-of-the-conference/</link>
		<comments>http://blog.decaresystems.ie/2012/03/07/qcon-london-2012-day-1-of-the-conference/#comments</comments>
		<pubDate>Wed, 07 Mar 2012 23:34:46 +0000</pubDate>
		<dc:creator>Mihailo Lalevic</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.decaresystems.ie/?p=455</guid>
		<description><![CDATA[Today was the first day of the conference, and it was a very good day. I must say it largely met my expectations. I was part of the day on Architecture track and part of the day on High Availability. But lets start at the beginning and the key note. Btw, no photos, my phone [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.decaresystems.ie&amp;blog=34066530&amp;post=455&amp;subd=decaresystemsblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Today was the first day of the conference, and it was a very good day. I must say it largely met my expectations. I was part of the day on Architecture track and part of the day on High Availability. But lets start at the beginning and the key note. Btw, no photos, my phone camera is useless <img src='http://s0.wp.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p><span id="more-455"></span></p>
<p><a href="http://martinfowler.com/">Martin Fowler</a> and <a href="http://www.thoughtworks.com/rebecca-parsons">Rebecca Parsons</a> opened the conference with the key note &#8211; Data Panorama. Martin was very funny screaming how big data is to open the talk. And it turns out that data is Growing and how we use it is Changing. Keywords were Growing, Distributed, Valuable, Urgent and Connected, and I believed every word <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Who would argue with this. Nowadays when even a fridge can tweet data is coming from all various devices which wasn&#8217;t the case just few years ago, so now challenge is even to decide how much to store and for how long, let alone how to use it. Response to this change are NoSQL databases &#8211; and Google with <a href="http://en.wikipedia.org/wiki/BigTable">BigTable</a> and Amazon with <a href="http://www.allthingsdistributed.com/2007/10/amazons_dynamo.html">Dynamo</a> started the trend out of necessity. The necessity being &#8211; couldn&#8217;t scale up anymore &#8211; had to scale out and relational databases couldn&#8217;t do it. So now we have new wave of databases that are offering convenience (easier to store aggregates) and distribution (sharding). Talk went on about polyglot persistence and event sourcing; then how the data sources have changed &#8211; it&#8217;s not tables only anymore, it&#8217;s text and images and video and connections &#8230; and we need to analyze it differently &#8211; obviously &#8211; with emphasis on visualization of the data. I could go on and on about this &#8211; obviously I found this highly inspirational.</p>
<p>I am really into this polyglot persistence &#8211; and when I was thinking about it simplest thing that sprang to mind was logging. I read somewhere how <a href="http://hadoop.apache.org/">Hadoop</a> was used for logging and it was mentioned by the speakers along with map-reduce, so that&#8217;s probably why I thought about it. Anyway, my impression is that we&#8217;re not producing enough data &#8211; sounds silly, no? We could be logging easily much more data about operations of our services if saving that data to rational database wasn&#8217;t perceived as heavy, amount of logged data would probably be vast and it would use the most expensive storage, and how would I analyze it without very expensive tools? It&#8217;s non functional concern in the end. But if we used something like Hadoop, that would&#8217;ve been much more palatable &#8211; maybe. Anyway, just thinking out loud, these all silly thoughts were heavily reinforced by next two talks.</p>
<p><a href="http://qconlondon.com/london-2012/speaker/Stefan+Tilkov">Stefan Tilkov</a> was talking about <em>Breaking the monolith: Towards a system-of-systems architecture</em> . The session was absolutely packed, it was becoming very hot, it was just silly that track hadn&#8217;t been assigned a bigger room, all sessions were packed, nearly full, or even overflowing. Anyway, Stefan was talking about system boundaries, how three layer architecture everybody draws is too generic and how one project doesn&#8217;t necessarily means one system. On he went to talk about system characteristics and argue that we should really have Cross System and Internal architectures, rules and guidelines (Micro and Macro architectures if you will). Where Macro architecture would define separation and interaction between the systems, and Micro would be responsible for individual systems where we could have even different languages between systems. Polyglot programming, how exciting! Now all this makes sense, Cross System rules and guidelines is something that is going to be changed rarely and we might be stuck with it for a decade, where Internal architecture could change more frequently and independently as long as it (functionality it provides) looks the same outside. He carried on about loosely coupled systems &#8211; and again &#8211; about data integration, replication and redundancy &#8211; something similar to the key note tone. So, the take is &#8211; redundancy in data is not necessarily bad, and most probably in relational databases, for various reasons we already have it. He argued that this maybe doesn&#8217;t feel right but it is better in the end. Well, I would love to try it <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  it all made lots of sense. Anyway, I really enjoyed the talk, just at the end it trailed off a bit towards UI part of it, and while I get it my interest is more on the other end. All in all, very useful.</p>
<p>The next one was Games for the Masses by <a href="http://qconlondon.com/london-2012/speaker/Jesper+Richter-Reichhelm">Jesper Richter Reichhelm</a> of Wooga &#8211; they&#8217;re making games for Facebook, and <del>are</del> were facing some serious challenges as games became more and more popular &#8211; talking in billions of requests per month. He has kindly shared the <a href="http://www.slideshare.net/wooga/games-for-the-masses-qcon-london-2012">slides</a>. So what he said was that logic wasn&#8217;t really complex, the load was the challenge &#8211; 100K+ DB operations/sec, 50K+ DB updates/sec. What they did was to rewrite their backend 4 times in 2 years, and it was exciting to see how the architecture evolved. They&#8217;ve started with Ruby and MySQL, went on to Ruby and Redis, then introduced stateful server with Erlang and did saves to Amazon&#8217;s S3, and finally settled for Ruby+Erlang. This is perfect example of Polyglot Programming &#8211; Erlang is great for infrastructure kind of code &#8211; supporting sessions in reliable and super fast manner, but Ruby has syntax that&#8217;s much more appealing to the eye (talking about readability of business logic). It was just interesting to see this also from the perspective of how many servers they ended up using and how they simplified their architecture at the end. I simply enjoyed the session.</p>
<p>The next was <a href="http://qconlondon.com/london-2012/speaker/Michael+Stal">Michael Stal</a> of Siemens with How Software Architects can Embrace Change. He raised some good points like why don&#8217;t we learn anything from failed projects? Jokingly he said we could use silver bullet to kill right person at the beginning of the project &#8211; that would be the silver bullet &#8211; ha. Talked about balance between Agile and BDUF i.e. unstable vs. nice but unsuitable architecture. At the end it all boiled down to iterative-incremental architecture development &#8211; small iterations with mandatory review of the architecture and some time for refactoring. Reviews and refactorings are important to prevent architecture erosion. Design for change, design for testability. Around that time I ran out of paper &#8211; they should hand out bigger notebooks here. In all honesty the talk was a bit too fast for me and slides too crammed &#8211; but when I went through my notes I could actually recall most of it. It was a good talk just a bit tiring.</p>
<p>I switched to high availiability track from there on. There were two talks, I&#8217;ll just go briefly through. From zero to 10 million daily users in 4 weeks was about sustainable speed of development in startup social gaming company. There was 1 TB of analytics <span style="text-decoration:underline;">daily</span> mentioned &#8211; see how we generate more that, that&#8217;s what I was thinking. It wasn&#8217;t too inspiring talk but it was useful nonetheless. Interestingly there social gaming teams tend to be small and independent (similar to Wooga above). I didn&#8217;t really agree with some inflamatory statements that Testing is dead and Operations are dead, but I understand the background story. Also, there were some interesting pointers on Dark releases and Split testing. The following talk was on Event Sourcing &#8211; he he, again, but even though Martin is excellent speaker I felt it lacked content a bit. I might&#8217;ve expected too much out of it to be honest. The talk was actually very interesting and I&#8217;m nearly sold on this, but before commiting I need to get more information, but this seems to be one of the things really worth adopting.</p>
<p>The evening key note was done by <a href="http://qconlondon.com/london-2012/speaker/Greg+Young">Greg Young</a>, great speaker, and was excellent. It was about weird and interesting things we do. Things that stuck were: Reusability is overrated, DRY has it&#8217;s dark side too, we love solving problems that nobady actually has, and ultimately &#8211; software is there to bring value. So we should be writing good enough software &#8211; and that was the highlight of the day actually. It was all about common sense, simplicity, back to basics.</p>
<p>All in all, it was very enjoyable day, I heared loads of interesting and useful information and I&#8217;m looking forward to tomorrows sessions. Thing to practice for tomorrow &#8211; conciseness &#8211; this was too long.</p>
<p>See reactions to the conference: <a href="https://twitter.com/#!/search/%23qconlondon">#qconlondon</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/decaresystemsblog.wordpress.com/455/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/decaresystemsblog.wordpress.com/455/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/decaresystemsblog.wordpress.com/455/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/decaresystemsblog.wordpress.com/455/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/decaresystemsblog.wordpress.com/455/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/decaresystemsblog.wordpress.com/455/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/decaresystemsblog.wordpress.com/455/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/decaresystemsblog.wordpress.com/455/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/decaresystemsblog.wordpress.com/455/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/decaresystemsblog.wordpress.com/455/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/decaresystemsblog.wordpress.com/455/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/decaresystemsblog.wordpress.com/455/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/decaresystemsblog.wordpress.com/455/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/decaresystemsblog.wordpress.com/455/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.decaresystems.ie&amp;blog=34066530&amp;post=455&amp;subd=decaresystemsblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.decaresystems.ie/2012/03/07/qcon-london-2012-day-1-of-the-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/84e2a4be28c3f1d0adddb205c02fa2ee?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mlalevic</media:title>
		</media:content>
	</item>
		<item>
		<title>QCon London 2012 &#8211; High Expectations</title>
		<link>http://blog.decaresystems.ie/2012/03/07/qcon-london-2012-high-expectations/</link>
		<comments>http://blog.decaresystems.ie/2012/03/07/qcon-london-2012-high-expectations/#comments</comments>
		<pubDate>Wed, 07 Mar 2012 01:11:35 +0000</pubDate>
		<dc:creator>Mihailo Lalevic</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.decaresystems.ie/?p=451</guid>
		<description><![CDATA[I am in London this week for QCon London 2012. Expectations are high and I hope it lives up to it. So far so good, I have to say. I have been on two tutorials so far and if quality is kept at this level I should be in for a treat. When Martin Fowler [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.decaresystems.ie&amp;blog=34066530&amp;post=451&amp;subd=decaresystemsblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I am in London this week for <a title="QCon London 2012" href="http://qconlondon.com/london-2012/">QCon London 2012</a>. Expectations are high and I hope it lives up to it. So far so good, I have to say. I have been on two tutorials so far and if quality is kept at this level I should be in for a treat.</p>
<p><span id="more-451"></span>When <a href="http://martinfowler.com/">Martin Fowler</a> <a href="http://martinfowler.com/snips/201201261024.html">announced</a> he&#8217;ll be having key note there I had to check out what was the conference all about. Now, recently he was blogging about <a href="http://martinfowler.com/bliki/PolyglotPersistence.html">Polyglot Persistence</a> which caught my attention (<a href="http://martinfowler.com/articles/nosql-intro.pdf">info deck</a> they prepared on the topic is excellent), and that was going to be the topic of the key note so naturally I was interested. It turned out the conference ticked all the right boxes for me with tracks on Architecture, Big Data/NoSQL, High Availability, High Performance, surprisingly I had absolutely no interest in Agile track (we&#8217;re agile enough I like to think <img src='http://s2.wp.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ). Anyway, goes without saying with all that on offer my expectations were always going to be high, especially when for every day, every slot, I want to see at least 3 sessions. It was very hard to pick what to see (well, harder to decide what not to see I should better say) and the ones I chose better be good!!!!</p>
<p>So conference is only 3 days long, but there were 2 tutorials on first two days and I chose <a href="http://qconlondon.com/london-2012/presentations/show_presentation.jsp?oid=3734">Practical Erlang Programming</a> and <a href="http://qconlondon.com/london-2012/presentations/show_presentation.jsp?oid=3887">Are you a Software Architect</a>.</p>
<p>Why <a href="http://www.erlang.org/">Erlang</a>? Well, I&#8217;m all into this <a href="http://memeagora.blogspot.com/2006/12/polyglot-programming.html">Polyglot Programming</a> thing &#8211; using the right tool (language) for the right task. Also, I like learning new programming languages and I like to see different philosophy, different approaches, keep my mind open for new ideas. When I say different languages &#8211; to me Java and C# are pretty much the same in this context, however, if you look at languages like Ruby, it&#8217;s very different, F# too, Prolog completely out of this world. Now, Erlang was made from ground up to be highly available, concurrent and distributed, oh and have I mentioned &#8211; functional (they are definitely gaining momentum them functional languages). So this makes it quite different and don&#8217;t mind functional aspect of it &#8211; high availability and distributed computing is the key here.</p>
<p>The session was excellent, packed with information, lots of hands on as well. Definitely gave me enough to want more and I should really start reading <a href="http://pragprog.com/book/jaerlang/programming-erlang">Programming Erlang</a> since there&#8217;s so much to it and we only skimmed the surface. Well, I should&#8217;ve really said continue reading it since I&#8217;ve started it a year ago (*blushing*). It was interesting to hear where Erlang is used like in Televoting (X-Factor and such, you know <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ), but one thing that impressed me the most was Erlang&#8217;s lightweight processes. Your man, Francesco, spun off 10,000,000 of those (one was spun off by the next, sends it a message, receives a message and terminates) &#8211; it took just 12 seconds for them to finish. I thought that was really impressive. Another impressive thing demonstrated was how easy is to create distributed processes and communicate between them, and actually monitor if they are still alive and it was all in just few lines of code. For a lightweight introduction to the language I would recommend <a href="http://pragprog.com/book/btlang/seven-languages-in-seven-weeks">Seven Languages in Seven Weeks</a> book, that&#8217;s how I started with it, and there are 6 more languages covered in it, so very well worth reading.</p>
<p>The second tutorial I attended was Are you a Software Architect? Well, the answer is sort of, not, maybe, yes, well &#8230; depends <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Joke aside, the tutorial was brilliant. My motivation was actually to see what am I doing wrong and what am I doing right and to see how to improve on both ends &#8211; do things that I&#8217;m doing good better, and fix things I&#8217;m not doing well. Simon, the speaker, was excellent, and the format of the delivery too. We had several exercises where we had to discuss various topics in pairs and then we would call out responses. Honestly I did not expect any exercises given the topic but this was clever. I got to know how other people have organized teams, what problems they&#8217;ve encountered, got to hear different opinions on roles &#8211; not just Architect role, and it was really interesting because you don&#8217;t have opportunity to do this &#8230; well, ever <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  And when people start talking about, say responsibilities of a Software Architect, more often than not my reaction was &#8211; right, never thought about that.</p>
<p>All in all, I never thought before that Software Architect would have so many responsibilities and so many soft skills required, that there are so many fallacies and myths. Now that I took so many notes and it has been mentioned, it makes sense, but seems that there&#8217;s never enough time to step back from all the daily chores and actually think about all these things.</p>
<p>Lots of impressions for the first two days, and if it is to be judged by them the reminder should be really really good. Expectations are high, tomorrow is going to be a long day, I&#8217;ve settled for Architecture track and will maybe switch to High Availability track later in the day. Hopefully will have something exciting to write about tomorrow.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/decaresystemsblog.wordpress.com/451/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/decaresystemsblog.wordpress.com/451/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/decaresystemsblog.wordpress.com/451/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/decaresystemsblog.wordpress.com/451/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/decaresystemsblog.wordpress.com/451/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/decaresystemsblog.wordpress.com/451/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/decaresystemsblog.wordpress.com/451/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/decaresystemsblog.wordpress.com/451/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/decaresystemsblog.wordpress.com/451/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/decaresystemsblog.wordpress.com/451/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/decaresystemsblog.wordpress.com/451/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/decaresystemsblog.wordpress.com/451/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/decaresystemsblog.wordpress.com/451/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/decaresystemsblog.wordpress.com/451/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.decaresystems.ie&amp;blog=34066530&amp;post=451&amp;subd=decaresystemsblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.decaresystems.ie/2012/03/07/qcon-london-2012-high-expectations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/84e2a4be28c3f1d0adddb205c02fa2ee?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mlalevic</media:title>
		</media:content>
	</item>
		<item>
		<title>Cardinality and Indexes Explained</title>
		<link>http://blog.decaresystems.ie/2011/01/04/cardinality-and-indexes-explained/</link>
		<comments>http://blog.decaresystems.ie/2011/01/04/cardinality-and-indexes-explained/#comments</comments>
		<pubDate>Tue, 04 Jan 2011 11:52:25 +0000</pubDate>
		<dc:creator>Anthony Geoghegan</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Cardinality]]></category>
		<category><![CDATA[Indexes]]></category>

		<guid isPermaLink="false">http://blog.decaresystems.ie/?p=415</guid>
		<description><![CDATA[What is cardinality with respect to an indexed column? Well cardinality is just a measure of how unique the information is in a column. For most index types, unique values are good and repeated values are bad. For example, with a telephone directory, the more unique a name is the faster you can identify the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.decaresystems.ie&amp;blog=34066530&amp;post=415&amp;subd=decaresystemsblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>What is cardinality with respect to an indexed column?  Well cardinality is just a measure of how unique the information is in a column.  For most index types, unique values are good and repeated values are bad.</p>
<p>For example, with a telephone directory, the more unique a name is the faster you can identify the person you are looking for.  A name like “John Smith” is likely to have many entries and thus require verification of unindexed data to resolve the correct entry for your search, whereas “Zaphod Beeblebrox”, would be relative simple to identify.</p>
<p>Thus having a high cardinality or relatively unique column values, is typically a positive thing, in terms of index efficiency anyway.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/decaresystemsblog.wordpress.com/415/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/decaresystemsblog.wordpress.com/415/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/decaresystemsblog.wordpress.com/415/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/decaresystemsblog.wordpress.com/415/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/decaresystemsblog.wordpress.com/415/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/decaresystemsblog.wordpress.com/415/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/decaresystemsblog.wordpress.com/415/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/decaresystemsblog.wordpress.com/415/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/decaresystemsblog.wordpress.com/415/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/decaresystemsblog.wordpress.com/415/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/decaresystemsblog.wordpress.com/415/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/decaresystemsblog.wordpress.com/415/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/decaresystemsblog.wordpress.com/415/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/decaresystemsblog.wordpress.com/415/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.decaresystems.ie&amp;blog=34066530&amp;post=415&amp;subd=decaresystemsblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.decaresystems.ie/2011/01/04/cardinality-and-indexes-explained/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/28f92bccf94e32011e4b646d63b5fdbd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ageoghegan</media:title>
		</media:content>
	</item>
		<item>
		<title>If Android is the UNIX of Mobile Than Would Apple&#8230;?</title>
		<link>http://blog.decaresystems.ie/2010/11/19/if-android-is-the-unix-of-mobile-than-would-apple/</link>
		<comments>http://blog.decaresystems.ie/2010/11/19/if-android-is-the-unix-of-mobile-than-would-apple/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 10:03:42 +0000</pubDate>
		<dc:creator>yagizerkan</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://blog.decaresystems.ie/?p=414</guid>
		<description><![CDATA[Most of us was expecting Android to become popular and to outsell iOS (this is currently true for the phones. I&#8217;m not sure about the tablets but give it a year or less) but not this fast. It is generating a lot of buzz and developer buy-in but there&#8217;s also some scepticism about its potential [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.decaresystems.ie&amp;blog=34066530&amp;post=414&amp;subd=decaresystemsblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Most of us was expecting Android to become popular and to outsell iOS (this is currently true for the phones. I&#8217;m not sure about the tablets but give it a year or less) but not this fast. It is generating a lot of buzz and developer buy-in but there&#8217;s also some scepticism about its potential fragmentation. So the analogy that we keep hearing is <strong><em>&#8220;Will Android become UNIX of Mobile?&#8221;</em></strong>. And when I hear this I&#8217;m asking <em><strong>&#8220;Then would Apple build their next OS on Android?&#8221;</strong></em>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/decaresystemsblog.wordpress.com/414/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/decaresystemsblog.wordpress.com/414/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/decaresystemsblog.wordpress.com/414/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/decaresystemsblog.wordpress.com/414/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/decaresystemsblog.wordpress.com/414/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/decaresystemsblog.wordpress.com/414/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/decaresystemsblog.wordpress.com/414/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/decaresystemsblog.wordpress.com/414/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/decaresystemsblog.wordpress.com/414/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/decaresystemsblog.wordpress.com/414/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/decaresystemsblog.wordpress.com/414/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/decaresystemsblog.wordpress.com/414/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/decaresystemsblog.wordpress.com/414/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/decaresystemsblog.wordpress.com/414/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.decaresystems.ie&amp;blog=34066530&amp;post=414&amp;subd=decaresystemsblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.decaresystems.ie/2010/11/19/if-android-is-the-unix-of-mobile-than-would-apple/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1ac2db4dd1aedc234ca6ac47cfa45cae?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">yagizerkan</media:title>
		</media:content>
	</item>
		<item>
		<title>Opinions on Tech Ed Europe 2010</title>
		<link>http://blog.decaresystems.ie/2010/11/10/opinions-on-tech-ed-europe-2010/</link>
		<comments>http://blog.decaresystems.ie/2010/11/10/opinions-on-tech-ed-europe-2010/#comments</comments>
		<pubDate>Wed, 10 Nov 2010 23:13:05 +0000</pubDate>
		<dc:creator>Anthony Geoghegan</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Wireless]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Tech Ed]]></category>
		<category><![CDATA[Windows Phone 7]]></category>
		<category><![CDATA[Workflow Foundation 4]]></category>

		<guid isPermaLink="false">http://blog.decaresystems.ie/?p=413</guid>
		<description><![CDATA[Once again wintery Berlin is the scene for yet another adventure deep in the bowels of Microsoft. Yesterday we discovered about the Windows Phone 7, the future of C# and Workflow 4. Today I was treated to more phone stuff and (amongst others) a hard core OS lecture. The future of C# is Asynchrony apparently. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.decaresystems.ie&amp;blog=34066530&amp;post=413&amp;subd=decaresystemsblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Once again wintery Berlin is the scene for yet another adventure deep in the bowels of Microsoft.  Yesterday we discovered about the Windows Phone 7, the future of C# and Workflow 4.  Today I was  treated to more phone stuff and (amongst others) a hard core OS lecture.<br />
<span id="more-413"></span></p>
<p>The future of C# is Asynchrony apparently.  I’ve always felt all the current Async patterns unjustly interfere in what it is you’re trying to do.  I also knew it was possible to write the code to potentially hide that (but writing it yourself sort of defeats the purpose I guess).  They’ve decided to add new language constructs to pretty much do exactly what I thought they should do.  They’re hiding the callback aspect of an async method and doing a good job of it too.  I’ve always felt the problem wasn’t necessarily the callback paraphernalia by the way guys, I always felt it was the disingenuous and indirect way the arguments (state) are passed back and forth into the newly spun up async thread myself. </p>
<p>Windows Phone 7 appears to be a tantalisingly good platform to work with.  Strict guidelines and smart lessons learned from (ahem) <em>other</em> mobile platforms make it look like Silverlight has finally found that home it’s been searching for.  All of the problems associated with Silverlight in other environments appear to melt away when it’s considered for a mobile platform.</p>
<p>Being at heart a developer, all the power of the Silverlight development tooling makes the Windows Phone 7 platform an extremely attractive option to me.  But as DSI’s General Manager is wont to say, there is really no point in investing in this technology unless there is sufficient user uptake.  He feels a figure of 30 million subscribers is about right.  He certainly knows more about these things then I do.  However, I can’t help feeling that the market will go where the features are really.</p>
<p>I saw the gaming platform today as well and it’s pretty damn cool.   The excellent and wonderfully entertaining Rob Miles made the most of the rather dour crowd, demonstrating just how relatively straight forward the XNA platform for Windows Phone 7 really is.</p>
<p>So even though, no native development kit is available for the phone and video capture’s not supported in the API and it doesn&#8217;t support custom Shaders yet, it still looks like a snazzy development platform.  As a result I’m getting an upgrade ASAP and I may start lashing something together myself I think.</p>
<p>To download the SDK is completely free for both Silverlight and XNA they only charge to register once you have something ready to develop on a real phone.</p>
<p>The Workflow Foundation 4 stuff I saw yesterday was about what I’d have expected.  It’s been considerably reworked since 3.5.  They’ve removed some of the rough edges, but I can’t help feeling it still retains some of the original problems.  There’s no rules engine, and no state engine, but it does have an excellent editor and now supports strong typing and of arguments.</p>
<p>I always feel the big problem with business process architectures is the premise that business analysts will be able to (or even want to) directly describe their own workflow.  I personally think the real value of a tool like this is, the Business Analyst can easily interpret and verify the developer’s implementation.</p>
<p>Today I was also treated to the wonders of process and thread creation.  This was actually a really useful (for me!) seminar.  I think the average punter might have not seen the benefit or maybe it might have it put them to sleep.  The stuff was complex enough, that a second hour would have been nice too. I can’t help feeling like I missed half of it, as the velocity the seminar was delivered at was mandated by the large amount of complex content to deliver.  Still when I wear my super nerd hat, I’ll have to concede it was really interesting. </p>
<p>Tomorrow more Windows Phone 7 stuff and whatever else appears interesting.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/decaresystemsblog.wordpress.com/413/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/decaresystemsblog.wordpress.com/413/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/decaresystemsblog.wordpress.com/413/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/decaresystemsblog.wordpress.com/413/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/decaresystemsblog.wordpress.com/413/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/decaresystemsblog.wordpress.com/413/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/decaresystemsblog.wordpress.com/413/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/decaresystemsblog.wordpress.com/413/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/decaresystemsblog.wordpress.com/413/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/decaresystemsblog.wordpress.com/413/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/decaresystemsblog.wordpress.com/413/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/decaresystemsblog.wordpress.com/413/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/decaresystemsblog.wordpress.com/413/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/decaresystemsblog.wordpress.com/413/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.decaresystems.ie&amp;blog=34066530&amp;post=413&amp;subd=decaresystemsblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.decaresystems.ie/2010/11/10/opinions-on-tech-ed-europe-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/28f92bccf94e32011e4b646d63b5fdbd?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ageoghegan</media:title>
		</media:content>
	</item>
		<item>
		<title>JavaOne 2010 &#8211; Day 3</title>
		<link>http://blog.decaresystems.ie/2010/10/06/javaone-2010-day-3/</link>
		<comments>http://blog.decaresystems.ie/2010/10/06/javaone-2010-day-3/#comments</comments>
		<pubDate>Wed, 06 Oct 2010 13:30:40 +0000</pubDate>
		<dc:creator>yagizerkan</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaOne]]></category>
		<category><![CDATA[javaone 2010]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[transactions]]></category>

		<guid isPermaLink="false">http://blog.decaresystems.ie/?p=412</guid>
		<description><![CDATA[I don&#8217;t know you, but I feel great to start a day when the sky is blue and the sun is shining. It was such a morning in San Francisco when JavaOne attendees headed to their first sessions of the day. I had selected two main themes for the 3rd days sessions: Mobile Application Development [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.decaresystems.ie&amp;blog=34066530&amp;post=412&amp;subd=decaresystemsblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t know you, but I feel great to start a day when the sky is blue and the sun is shining. It was such a morning in San Francisco when JavaOne attendees headed to their first sessions of the day. I had selected two main themes for the 3rd days sessions: <em>Mobile Application Development</em> and <em>Transactions</em>.<br />
<span id="more-412"></span><br />
<em>&#8220;Java Binding for OpenGL ES (JSR 239)&#8221;</em> was the title of <em>Timothy Fagan</em> (Ishi Systems) and <em>Dario Laverde</em> (NYCJava.net JUG Leader)&#8217;s talk. This was a very good and informative session for me. They started by introducing the typical OpenGL development and mentioned some of the difficulties alongside the awkwardness of the programming model. Then they introduced their library, called <a href="http://code.google.com/p/skylight1/">SkylightOpenGL</a>, that sits on top of <em>OpenGL ES</em> and that provides the developers with a more intuitive API. I liked the demos and being able to see some of the source code was a great help. So if you are doing mobile Java development and are interested in OpenGL then you should check their library.</p>
<p>The talk given by <em>Ilja Laurs</em>, the CEO of <a href="http://www.getjar.com/">GetJar</a> was the best one I attended today. GetJar is the most popular mobile app portal after Apple&#8217;s AppStore. His talk was entitled <em>&#8220;Mobile Apps: Where Do We Go from Here?&#8221;</em>. I&#8217;m not easily impressed by stats in general however Laurs&#8217; presentation was great to outline the current and the near future of mobile application market. With their 1.2 billion downloads to date, GetJar is at the right spot to talk about tendencies, user profiles, different markets and predictions. One of the not-so-surprising news was the growth of Android. Google&#8217;s Android is the fastest growing market. Last month alone, this market recorded an amazing 280% growth.</p>
<p>According to Laurs, active data subscriptions drive the app market, in an ecosystem where we are going to have 5 billion devices by the end of 2010. 27% of those are currently data subscribers. This figure will jump up to 45% in 2 years and 60% in 3 years, which predicts a very healthy market in the years to come. Furthermore, the app economy will increase 7 times in the next 3 years. 50 billion application downloads are expected in 2012. And the incredible forecast is that as soon as 2013, the app market will be bigger then the entire music market. In 2012, the app market is expected to generate some $17.5 billion whereas the music market will generate $23 billion.</p>
<p>Another interesting trend is about the pre-installed mobile applications: On-deck application distribution will shrink to 20% from the current 60% by 2012. And currently, a single-platform application doesn&#8217;t look like a good strategy for optimum growth.</p>
<p>Two sessions outshone the others within the <em>&#8220;Transaction&#8221;</em> theme. The first one was <em>Mark Little</em> (JBoss &#8211; RedHat)&#8217;s <em>&#8220;Transactions: Overused or Misunderstood&#8221;</em>. This was another excellent session. Little not only masters this topic but he is a great speaker as well. After briefly talking about <em>Java</em> and <em>Transactions</em>, he went through the ACID properties and explained why <em>Two Phase Commit</em> alone does not provide ACID guarantees. He also spent some time in demystifying the myths created by anti-transaction sentiments: &#8220;They add overhead for no benefit&#8221;, &#8220;Too expensive and bloated&#8221;, &#8220;I don&#8217;t need atomicity&#8221;, etc. Then he talked about multi-core CPUs and STM, when to use transactions and when to avoid them. All in all, it was a very informative and a very enjoyable session.</p>
<p>The second talk was entitled <em>&#8220;Bridging Transactions from Java EE to .NET&#8221;</em> and was presented by <em>William Heinzman</em> from <a href="http://www.jnbridge.com/">JNBridge</a>. I&#8217;m always interested in attending interoperability talks because in DSI we develop applications in Java and in .NET and most of our systems are large enterprise systems, where we have to work in heterogeneous environments. Therefore, interoperability is part of our reality.</p>
<p>To be perfectly honest, Heinzman&#8217;s talk started quite dull however it quickly picked up pace and turned out to be a pretty good one. After briefly introducing two phase commit transactions, Heinzman talked about the differences in Java and .NET implementations. Theoretically the interoperability between a Java and a .NET system should be easy as they both implement the same specification but once again reality is bitter (One thing that my experience proves me over and over again is that <em>in theory, theory and practice are the same but in practice they aren&#8217;t</em>). It was tragically funny to hear that Heinzman couldn&#8217;t put together a demo that showed how to use <em>Transaction Internet Protocol</em>, <em>WS-Atomic</em> or <em>WS-Coor</em>. I don&#8217;t doubt his skills but it just shows how unusable these technologies are. And he mentioned that he knew only one person who managed to get a system working using these technologies but the performance had been abysmal. Then he talked about cross-platform transaction bridging and the future of transactions. If you&#8217;re interested in cross-platform transactions, you should check his company&#8217;s products.</p>
<p style="text-align:center;"><img src="http://i56.tinypic.com/260qws3.jpg" alt="JavaOne 2010 Party" width="600" height="400" /></p>
<p>After the sessions, Oracle threw an amazing party, which took place on <a href="http://en.wikipedia.org/wiki/Treasure_Island_(California)">Treasure Island</a>, between San Francisco and Oakland. The party was setup as an entertainment park. The concert section featured Black Eyed Peas, Don Henley and Steve Miller Band. Check out <a href="http://www.bytespring.com/blog/javaone-black-eyed-peas-video">Jason Sheedy&#8217;s blog</a>! His video montage of his JavaOne 2010 experience is quite good and contains many scenes from the party and the concerts.</p>
<p style="text-align:center;"><img src="http://i56.tinypic.com/ot2hb6.jpg" alt="JavaOne 2010 Party - Black Eyed Peas Concert" width="600" height="400" /></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/decaresystemsblog.wordpress.com/412/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/decaresystemsblog.wordpress.com/412/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/decaresystemsblog.wordpress.com/412/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/decaresystemsblog.wordpress.com/412/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/decaresystemsblog.wordpress.com/412/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/decaresystemsblog.wordpress.com/412/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/decaresystemsblog.wordpress.com/412/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/decaresystemsblog.wordpress.com/412/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/decaresystemsblog.wordpress.com/412/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/decaresystemsblog.wordpress.com/412/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/decaresystemsblog.wordpress.com/412/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/decaresystemsblog.wordpress.com/412/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/decaresystemsblog.wordpress.com/412/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/decaresystemsblog.wordpress.com/412/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.decaresystems.ie&amp;blog=34066530&amp;post=412&amp;subd=decaresystemsblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.decaresystems.ie/2010/10/06/javaone-2010-day-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1ac2db4dd1aedc234ca6ac47cfa45cae?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">yagizerkan</media:title>
		</media:content>

		<media:content url="http://i56.tinypic.com/260qws3.jpg" medium="image">
			<media:title type="html">JavaOne 2010 Party</media:title>
		</media:content>

		<media:content url="http://i56.tinypic.com/ot2hb6.jpg" medium="image">
			<media:title type="html">JavaOne 2010 Party - Black Eyed Peas Concert</media:title>
		</media:content>
	</item>
		<item>
		<title>JavaOne 2010 &#8211; Day 2</title>
		<link>http://blog.decaresystems.ie/2010/09/23/javaone-2010-day-2/</link>
		<comments>http://blog.decaresystems.ie/2010/09/23/javaone-2010-day-2/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 01:21:23 +0000</pubDate>
		<dc:creator>yagizerkan</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaOne]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[hotspot]]></category>
		<category><![CDATA[java ee]]></category>
		<category><![CDATA[Java ME]]></category>
		<category><![CDATA[javaone 2010]]></category>
		<category><![CDATA[jrockit]]></category>
		<category><![CDATA[jvm]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://blog.decaresystems.ie/?p=411</guid>
		<description><![CDATA[Another morning but the same ritual: Getting ready, a short walk to Hilton San Francisco, silencing the grumbling stomach with a carb-packed breakfast and a cup of coffee for the morning pleasure. All this before joining the thousands of techies to attend the morning&#8217;s first session kicking off at 8am. After a good technical session [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.decaresystems.ie&amp;blog=34066530&amp;post=411&amp;subd=decaresystemsblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Another morning but the same ritual: Getting ready, a short walk to Hilton San Francisco, silencing the grumbling stomach with a carb-packed breakfast and a cup of coffee for the morning pleasure. All this before joining the thousands of techies to attend the morning&#8217;s first session kicking off at 8am.</p>
<p><span id="more-411"></span></p>
<p>After a good technical session about <em>Building Highly Scalable and Available Apps</em>, I went to discover that the second talk of the day on my agenda was rescheduled for 8pm as a BOF session (I know, I should have checked my e-mails more carefully first thing in the morning but the wireless coverage is patchy and the SSL bridge to access work e-mails don&#8217;t work here). With this huge blow to my daily schedule I was almost lost, not knowing what to do, shaking and cowering in a corner, when I discovered a session about <strong>Hudson</strong>, entitled <em>Getting More From Your Continuous Integration Server: Taking Hudson To The Next Level</em>. I was familiar with the basics but I was nowhere near being an expert so it ended up being a great talk for me. The speaker, <em>John Smart</em>, was very good and I ended up being glad for this schedule change. The whole session was almost a series of demos, which was a great way of learning about Hudson, its plugins, some corner configuration scenarios etc.</p>
<p>The following session, <em>Java Exam Room: Tools and Techniques to Get an Inside Look at Your Application</em>, was about diagnosing today&#8217;s highly concurrent applications running on multicore servers. The talk started with general disclaimers that in short said: Your Mileage Will Vary. The speakers presented a well-structured way in approaching the most common problem cases: triaging, getting to know the application at hand, verifying the symptoms etc. Then they dived deeper into scenarios such as <em>Low CPU Utilization</em> and <em>High CPU Utilization</em>. One of the tools that they showed was the <strong>jRockit Mission Control</strong> that is enjoying an ever-increasing popularity in this year&#8217;s JavaOne.</p>
<p>After having a well deserved break, getting some air outside and walking around the block, the day continued with a topic along the same lines as the previous talk: <em>The Concurrency Revolution: The Hardware Story</em>. In my opinion, this was the best talk of the day (though I hesitate between Hudson talk and this one as of this writing). <em>Brian Goetz</em> and <em>Cliff Click </em>did an excellent job in presenting the hardware-side of the concurrency story. I am usually not a hardware-geek however this was a fascinating topic as it is very important for us, developers, to understand the changing hardware architecture, obliging our applications to become multithreaded in a way to take advantage of this <em>&#8220;Design Reboot&#8221; </em>happening in CPU architectures. We all see in our newly developed systems that &#8220;Memory is the New Disk&#8221; and in search of faster memory access the crucial question becomes <em>&#8220;How fast can we cache-miss?&#8221;</em>. After the introductory parts, the speakers gave some recommendations. And the last part of their talk was about some solutions for certain scenarios:</p>
<ul>
<li> Thread Pools/ Work Queues</li>
<li> Fork/Join</li>
<li> Map/Reduce</li>
<li> Actors</li>
<li> Software Transactional Memory</li>
<li> GPUs</li>
</ul>
<p>The <em>JavaOne Technical Session </em>was scheduled pretty late during the day, which contained 3 main sections: <strong>Java SE</strong>, <strong>Java EE</strong> and <strong>Java Mobile/Embedded</strong>. <em>Mark Reinhold </em>repeated his <em>&#8220;Java 7&#8243;</em> talk, which was the first talk I attended yesterday. This covered the Java SE part of the session. Then it was followed by the Java EE head <em>Roberto Chinnici</em>&#8216;s talk. And finally <em>Greg Bollella</em> talked about Java on Mobile phones and embedded devices.</p>
<p>I&#8217;d like to open a bracket here and mention something we witnessed yesterday during <em>Thomas Kurian</em>&#8216;s Keynote  speech. When Kurian was talking about Java on mobile phones, we were showed a video of Java applications running on a Sony Eriksson phone (I apologize, I am not able to give you the exact model as I am not familiar with these phones). The tragically comical part of the demo was that I thought I was back to 2005. In the era of iPhone OS 4.x and Android 2.x, it is insane to show such a video during the keynote speech of one of industry&#8217;s biggest conferences, unless one wants to ridicule a competitors lame product. I am asking you: who uses these apps on these phones? How popular they are? How much money they generate? What is their future? I know some folks who still love and play Atari. Is this such a technological nostalgia? Do you really think that someone who needs a mobile twitter client or a mobile facebook client would do so using such a phone? Even if there&#8217;s a niche market at the moment, how big this market be next year compared to its current size? And in 5 years, how many feature phones we are going to have?</p>
<p>I think it&#8217;s time to stop this madness. We already have Java on mobile phones. It is called Android. We don&#8217;t need a zombie technology that never dies but looks like it has been dead for a decade. Instead of suing Google, Oracle should thank Google because they achieved what Sun hadn&#8217;t been able to in so many years. Today, there is no doubt that Android is in route to become that biggest popular mobile platform. We are probably going to witness an episode similar to Windows PC vs Mac on mobile devices with Android vs iOS. And this is not only on mobile phones, Android is and will be used on e-book readers, tablets and probably more and more smart devices some of which are not even invented yet. And this is great for us, Java developers. So Oracle wants us to have the best tools and platforms&#8230; as long as it&#8217;s from Oracle. Just like Henry Ford who said <em>&#8220;Any customer can have a car painted any colour that he wants so long as it is black&#8221;</em>.</p>
<p>So, please stop showing us these strange looking mobile UIs of an earlier century. No one is impressed by them. You just need to turn your head and look around to see what kind of phones people use. I&#8217;d be really interested in seeing what kind of phones the presenters were using.</p>
<p>I&#8217;d like to finish this post with something positive and cool. Moscone Center has some cool stuff at the entrance of the exibition hall. Judge it for yourself:</p>
<p style="text-align:center;"><img src="http://i51.tinypic.com/5yutm1.jpg" alt="" width="600" height="400" /></p>
<p style="text-align:center;"><img src="http://i56.tinypic.com/20ztb1j.jpg" alt="" width="600" height="400" /></p>
<p style="text-align:center;"><img src="http://i54.tinypic.com/a1mw0k.jpg" alt="" width="600" height="400" /></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/decaresystemsblog.wordpress.com/411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/decaresystemsblog.wordpress.com/411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/decaresystemsblog.wordpress.com/411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/decaresystemsblog.wordpress.com/411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/decaresystemsblog.wordpress.com/411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/decaresystemsblog.wordpress.com/411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/decaresystemsblog.wordpress.com/411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/decaresystemsblog.wordpress.com/411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/decaresystemsblog.wordpress.com/411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/decaresystemsblog.wordpress.com/411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/decaresystemsblog.wordpress.com/411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/decaresystemsblog.wordpress.com/411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/decaresystemsblog.wordpress.com/411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/decaresystemsblog.wordpress.com/411/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.decaresystems.ie&amp;blog=34066530&amp;post=411&amp;subd=decaresystemsblog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.decaresystems.ie/2010/09/23/javaone-2010-day-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1ac2db4dd1aedc234ca6ac47cfa45cae?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">yagizerkan</media:title>
		</media:content>

		<media:content url="http://i51.tinypic.com/5yutm1.jpg" medium="image" />

		<media:content url="http://i56.tinypic.com/20ztb1j.jpg" medium="image" />

		<media:content url="http://i54.tinypic.com/a1mw0k.jpg" medium="image" />
	</item>
	</channel>
</rss>
