Software Architect at DeCare Systems Ireland
Posted in Conference on October 11, 2013
I was on TechEd Europe this year. It was held between 25th and 28th June 2013 in Madrid. So this is a slightly belated retrospective. The conference was not really developer centric, which was a bit of a let down, but still, I managed to pick out some 20 sessions I would be interested to watch. All the videos and material is available on-line on Channel 9.
First of all – Madrid was beautiful even though the weather was scorching. I didn’t mind sun at all :) The venue was nice although ice cream was constantly in short supply, and organization was smooth, and from that point everything was great. Unfortunately, if you ask me whether this was money well spent – even though the company paid for the trip, I would say not. I’ll explain in the rest of the post, but it will end on a positive note, I promise.
Even though I said I picked out 20 sessions, some of them I chose because they were the least unappetising at the time slot, not that I was particularly interested in them. It turned out that those were the ones I remember the most, talking about exceeding expectations when you have none – on the other hand those 300 level and higher tracks rarely met my expectations.
Lets do this in order – Key notes were completely uninspiring in attempts to fire up enthusiasm for Windows 8 and convincing us that Windows 8 is the future. Azure is future of Microsoft – full stop. I like Windows 8, but what the heck is there to inspire me? I need it to work the way I want it and not to get in my way. Aside from cheesiness and slightly offending destruction of electrical equipment, there was very little in the key notes. They mentioned new features coming in SQL 2014 and new Visual Studio and new TFS and new delivery philosophy (this was a rare thing that caught my attention – MS will deliver new versions more often which is highly welcome). To be honest, nothing there really impressed me a bit – the only thing I found interesting was Azure, and in it, how quickly Microsoft is improving and getting traction and for the first time in a long while it appears that they are actually getting it right.
Foundational sessions were just a tiny bit more interesting. I attended one on Big Data and to be honest, it was a good overview of what Microsoft is doing in that area. Again, Azure was for me the main thing – they now have Hadoop on it with HDInsight. Also interesting was an upcoming feature of SQL 2014 – In-Memory OLTP, basically improving throughput via in memory tables.
In other sessions I mostly targeted new async features from C# 5 and Azure. I went on three sessions on async, maybe one would have been enough. Anyway, all three were good sessions, Creating Async Libraries was the best, give it a try. On Azure – it was a bit of a hit and miss, most of the things were known to me, that’s why I only chose 300 level and over, but the level didn’t really meet my expectations. Don’t get me wrong, it was great to see how to use Azure Mobile Services, or continuous integration or even Git on TFS. This all enforces my belief that Azure is the future for Microsoft, because they seem to be doing great job and understanding that they are providing a service to their customers, not just another way to slip Windows into their drink. But as far as the session goes – except for the novelty factor (like in Git case), nothing really new or too interesting was there to be seen.
There were two sessions that caught my attention a bit more than the others. One was on Azure Service Bus. I have some interest in messaging systems, and we will most probably use something similar in the future, so this was an interesting session for me. And it was an interesting tour of Azure Service Bus given by the tech lead on the project. It looked really impressive and has great potential. The only thing is, it seems still immature, and the one on Azure will be updated much more often than the offering to be run on-premise. This is not to be confused with ESB and BizTalk – BizTalk uses it for whatever work it is doing, but the service bus is something completely different and Clemens (the presenter) made sure to point that out.
The other session that was slightly out of ordinary was Real Experiences and Architectural DDD Patterns Applied – and the main reason why it caught my attention was different way of thinking and the only one that I saw that wasn’t trying to sell me something from Microsoft :) It is a session on real world architecture and real world project – so no Contoso Inc or widgets or whatever such. Maybe not everyone’s cup of tea but it was a refreshing idea and challenges entrenched three/n tier one-size-fits-all architecture. Give it a shot, maybe not the greatest delivery, but for me the whole puzzle was complete by the end of the talk. Disappointingly (while I’m at DDD), I missed Jimmy Nilsson’s session, but I’ll definitely watch it. I opted for the only F# session instead but that sadly wasn’t 300 level session for me. It was good, and if you didn’t come across F# before well worth watching, but I expected something else.
The rest of the sessions were by Mark Russinovich and they were packed since he’s a very entertaining guy, and his sessions are always very interesting. He’s well worth watching. Anyway, not really something related to development. I’ve finished my TechEd with Hacker Tools You Should Know and Worry About – great session to finish off the week. Entertaining and scary how easily networks can be penetrated, and the hacks are nearly automated. Anyway, I watched these purely for pleasure (good God what a geeky statement!) and there was nothing else interesting on the agenda anyway.
All in all, not really worth the time and money compared to, say QCon. TechEd turned out to be lots of fluff and nothing to challenge entrenched views and practices – like everything is roses and no projects fail so why would we do things differently? Very little guidance on how to properly do things – just more sort of a light demoing of their products as we’re used to from Microsoft over the years. If you want to see things from a bit different perspective I really suggest trying something else next year. On a positive note – Azure is really turning out to be a great platform. They support nearly everything – lately I tried some Python web site development on it. This would’ve been a blasphemy a couple of years back, but guys seems to be doing a really good job – good stuff Microsoft.
And in closing – I doubt I’ll go on TechEd next year unless that acquisition of Nokia’s devices and services business turns out to be a killer move and sets development world on fire.
Posted in .Net on September 7, 2012
Recently, while testing our COM+ application it started crashing with c0000005 – Access violation. This is VB6 COM+ called from C# application. The funny thing is, dllhost.exe crashes due to the error but there is no indication which method call crashed it.
Since it is multi-threaded application C# logs loads of RPC Unavailable errors once the COM+ crashes, but nowhere I could find original point where the crash occurred. Actually the thread dies and even if debugged in VS the debugger doesn’t break on this unhandled exception as one would expect, even though it breaks on all other – RPC Unavailable exceptions.
So, the first task in this case, for me at least, would be to find what method is called when the crash occurred. When facing something unexpected like this I resort to WinDbg which I know just enough to get by analysing crash dumps. Necessity on couple of other occasions made me learn the basics so here are some notes.
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 – I learned loads, met lots of interesting people, exchanged ideas with people working on different projects, in differently organized teams – 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’s what you want after a conference, what would be the point going there and come back with nothing to say/think about.
Posted in Conference on March 10, 2012
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 Functional Programming.
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.
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 :(
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.
Data-Driven Unit Tests are very powerful but, it seems to me, rarely used feature in Visual Studio. Although they are not suitable in all situations they can be of a great help. Personally, I used them to drive testing of business rules. In one of the scenarios I had 9 parameters and they had about 900 possible combinations. I was able to cut the number of possible tests and I did so, but the point is that in some scenarios just typing in test data into source code is very laborious and error prone and can be easily avoided.
Read the rest of this entry »
Posted in .Net on January 13, 2008
With [tag].NET Framework[/tag] 3.5 came new version of [tag]Windows Communication Foundation[/tag] – [tag]WCF 3.5[/tag], bringing us very useful set of new features and one of them is out of the box support for REST style services. Now it is easy to create and consume REST services, so without further delay lets do some real world interoperability example – consuming [tag]eBay[/tag] [tag]REST[/tag] API.
There is simple WPF application in the attachment with all the code to do some simple search and presentation of the result: eBay Search Application Source Code
Posted in .Net on December 18, 2007
[tag]Visual Studio 2008[/tag] and [tag]C# 3.0[/tag] are coming with lots of new features, new language constructs, etc. That’s all super but it takes some time to get into it. However, there are some cool stuff you can start using in 5 minutes and I’ll just put a list here with just really basic examples.