Just got back from another day at QCon London 2012. Previous day was very good, but this morning I wasn’t quite sure what to expect from the sessions, and surely it was a mixed bag. Originally, I’ve planned to see Architectures You’ve Always Wondered About, but since Martin Thompson’s introduction to Finance track was so good I thought to give it a go.
Key note for today – Simple Made Easy, by Rich Hickey – author of Clojure. It was interesting talk around these two words – simple and easy: how we reach for easy things first and by doing so we might be making more complex systems – easy is not simple. To quote him, hopefully correctly:
Programmers know benefits of everything but trade-offs of nothing.
And actually that was the key thing of the talk – we need to know trade-offs we are taking when we introduce, say a new framework – 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 – The Complexity Toolkit and The Simplicity Toolkit – where were looking a bit biased towards functional programming – 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: Simplicity is a choice. No tool will do it for us – testing tools don’t care if it’s simple or not.
Bashing of ORMs continued (ORM – 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 – see the quote. From this conference, one of the points I’m taking so far is – think about what you’re doing ( 🙂 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.
Anyway, with that I went onto High Performance Network Applications in the Capital Markets by Todd Montgomery.
- It was absolutely packed, people were standing, sitting on the floor
- It was extremely interesting, actually, I loved every minute of it
Here are the slides. 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 Shared nothing messaging: Peer-to-Peer architecture, Parallel persistence and Single message API. Won’t go into the details – see the slides, I’m going to see them again, and I’ll see the talk once more when it becomes available on InfoQ. He boldly stated that queueing [as we know it] is dead long live [publish/subscribe] queueing – btw, that’s my interpretation.
The rest of the talks I’ll just mention briefly – wan’t really impressed. Modelling in Cold Climate was about phases teams go through when Model they’ve been working on “sucks”. It was entertaining session, there were couple of interesting things there, but the whole talk wasn’t really relevant to me.
I decided for Extreme FIX Messaging for Low-Latency 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’ve used custom drivers and custom networking hardware. Was a let down on my expectations.
With that I decided to go back to Architecture track and BigData@Facebook. 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 – 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 – data that is behind the scenes which affects new features and development of the application.
The last session was on Azure – platforms choice there. Of course, having any connection with Microsoft – demos were the order of the day 🙂 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.
That was it for today, for tomorrow I’m planning Big Data and NoSQL track and it seems like lots of interesting sessions there.