My TechEd Europe 2013 Recap

For some strange reason I thought that I would have time to shortly analyze the all session I participate in at the end of day. I tried that but on the third day I had to give up. In this blog post I shortly comment the all sessions (including the one I have already blogged). I include link only to the European version in Channel9. The most sessions were recorded and are already available as screencasts or videos in Channel9. The only exception I know are the preconference seminars from day 0. They were not recoded.

As a comment on my strategy with sessions: I tried to avoid taking session that discussed things that I already knew well. Secondly, I tried to avoid session having rating 200 (intermediate) or 100 (basics), and focus on advanced (300) and expert level (400) stuff. On each day I did few exceptions to this especially if I was tired and wanted to relax or if I simply did not found anything else interesting.

Day 0 (Monday)

From 0 to DAX (no video)

Comment: Nice introduction and clear to the DAX syntax. I saw only the first part of this, since I chose to visit in two pre-conference tracks.

Install and Configure Microsoft SharePoint 2013 (no video)

Comment: I missed the first part, in which presenter probably installed servers. On the afternoon part, they installed and configured SharePoint. I got few good tip and tricks, but there rather little new to me.

See also my earlier blog post on the Monday.

Day 1 (Tuesday)

Keynote 1: The Cloud OS: It’s Time!

Comment: The first thought after this was “O-key, it’s cloud time – once again. According Microsoft it have been cloud time for last three years.” I admit that Microsoft have done many good improvements to its tools and services. I especially appreciate that now MSDN subscribers get some resources from cloud for free.

Modern Application Lifecycle Management

Comment: Brian introduces new improvements in Team Foundation Server 2013. There are many good improvement in web access I truly like. However, clearly the best improvement in Team Foundation Server is that it supports now Git.

Do You Have Big Data? (Most Likely!)

Comment: Surprisingly good presentation on big data and Microsoft Hadoop implementation HDInsight. Some ideas after the presentation: “Processing data in Hadoop takes time. Or perhaps you just don’t want to use Hadoop for calculations that would be fast.” “Tools as somewhat primitive, but I cannot deny that HDInsights web console is (still) pretty cool.”

I took session on Hadoop on TechEd 2012, last year. Then you had to write some Java to get any data out of Hadoop. Quite a progress on tools and .NET support. E.g. now there is ODBC driver for Hadoop you can use in .NET code, SQL Server Analysis Services and Integration Service and with Excel and other office tools that supports ODBC data sources. Still, as far as I know, the .NET tools and APIs for Hadoop are somewhat limited. Therefore, if I needed right now write some code on Hadoop, I would seriously consider using Scala or Clojure instead. (Yes, no Java, if I can avoid using it. Functional programming shines when you need to manipulate data.)

Advanced Debugging of ASP.NET Applications with Visual Studio 2012

Comment: This was one of the greatest disappointments. The biggest problem in the presentations was that most demos failed partially or totally. Yet, there were few food tip and tricks I wrote down.

See also my earlier blog post on Tuesday.

Day 2 (Wednesday)

Building End-to-End Apps for Microsoft SharePoint with Windows Azure and Windows 8

Comment: I was a bit late from this, as the session I planned to have was canceled due absence of presenter – and that was announced 15 minutes after the session should have started.

Anyway, what makes this presentation interesting is the extensity of the demo solution. The applications utilized cloud database, cloud hosted SharePoint apps, SharePoint document libraries, SharePoint workflows, Win8 apps and Windows Notification Services. (I might have missed something.)

Building Modern, HTML5-Based Business Apps on Windows Azure with Microsoft Visual Studio LightSwitch

Comment: LightSwitch have been for long in my “check out this” -list. I’m glad that I finally did use an hour for LightSwitch. I also took a lab on LightSwitch. I didn’t complete it as at some phase I started to get “SQL server compilation task related exception”. As The Holy Google recommended to upgrade an extension in visual studio, I gave up. I’m not going to upgrade anything on lab machines. Next I have to figure out in which case LightSwitch is the best solution and in which cases you should rather use Access Services, InfoPath or build the application from scratch by using ASP.NET or Silverlight or something similar. This is definitely worth of another blog post.

Flexible Source Control with Team Foundation Service and Git

Comment: Even if there was not much new for me on this presentation, I can definitely recommend this session. I discussed with Martin Woodward on Tuesday evening on our needs and constraints relating to version control. He agreed with me that Git is better alternative for us than TFS Version Control system. Our discussion might be a reason why he underlines in this presentation that Git is very handy e.g. if you need to deliver source code to customer (as we often need to). A longer answer to question ‘why’ is worth of another blog post.

Cybercrime: The 2013 Ultimate Survival Guide

Comment: I was a bit tired and wanted to have something entertaining (but still useful). This is a fluent and inspiring presentation on cybercrime. I have to say, that it clever to have this kind of very appealing hacking presentation and deliver a lot of security related improvements at the same time.

The hidden agenda in this kind of “the gray hat security presentations” seems to be: “(i) Did not know that currently security is a big issue? You should seriously prepare for cyber threats. (ii) Did you know that there are severe security problems in Java and Android? (iii) But hey, we have lately invested a lot of in security. If, or better as you want to invest to the cutting edge security technology, buy it from us.”

Very nice rhetoric. It took quite a while to identity this chain of arguments from me – and I’m professional on argumentation and analysis of it. (My major in University was theoretical philosophy and it’s heavily about argumentation analysis.)

Build Data-Rich Solutions Faster with Microsoft Visual F#

Comment: Great talk. Alike Dustin Chamber, I’m a F# fan boy. It’s really pity that is not used more widely.

Day 3 (Thursday)

Keynote 2: Windows is the Future

Comment: Even if the title is silly, the content was good for a keynote. I liked this keynote more than the first one, even if the subject was not quite what I do for living. Windows 8.1 brings quite a lot of good upgrades – and it’s free.

BUILD 2013 Recap

Comment: Good overview on what new there is in Windows 8.1 for developers.

Real Experiences and Architectural Domain-Driven Design Patterns Applied on Microsoft .NET Development

Comment: This is a really good introduction to Domain Driven Design. After the talk Rovegård told that he is going to put the source code of the examples to GitHub. Once he had done that, he’s going to inform that in his blog

If I have time, I’ll “translate” C# implementation into F#. I suspect that F# as a functional-first, multi-paradigm language fits better to DDD than C# (or any object-orientation-first languages in general). This is just a gut feeling. I’d like to test my presupposition in a case having eloquent, corresponding C# implementation so that I can easily compare F# and C# implementations.

A Journey to the Dark Side of Social Networking

Comment: I have commented this already here. Great stuff.

Hackers (Not) Halted

Comment: One more “gray hat security” -session. See the related blog post. The session consists handy tip and tricks for the dog owners, who needs cheap pants for their dogs.

Day 4 (Friday)

Deep Dive into the Windows Azure Active Directory Graph API: Data Model, Schema, Query, and More

Comment: I planned to take Scott Hunters Web API session, but unfortunately, if was full. So I took this instead. Until now, querying users from AD have not been too easy. E.g. if you needed to write a custom client-side people picker control, you have had to build service side implementation by yourself. In future, this is not those case if you can use Windows Azure AD.

Web Deployment Done Right

Comment: The title is misleading. It should be “Why in Windows Azure Web Deployment is Done Right”. The presentation is solely about Continuous Deployment on Windows Azure. If you haven’t seen earlier, how it happens, check this out. The most interesting thing I didn’t know was that in Azure Deployment from Git is significantly faster than deployment from TFS Version Control system. We have had similar benchmark result when comparing Git + TeamCity and TFC Version Control + TFS Build automation. The first combination is significantly faster.

Authentication and Authorization Infrastructure in Microsoft SharePoint 2013

Comment: I was one of the best sessions in TechEd. First part the presentation is definitely worth of watching even if you don’t do SharePoint development. It’s mostly on claims based authentication (CBA) model and Azure Access Control Service (ACS). Second half is a deep dive into SharePoint authentication model and its extensibility points. On the second part Pialorsi for instance demonstrates how to use Facebook to authenticate into SharePoint and explains how to implement own claim provider and deploy it to your own on premises SharePoint farm.

Getting a Designer/Developer Workflow That Works

Comments: I have mixed feelings on this presentation. On one hand there as few very good ideas. (I would say them good, even if I had not done something similar.) But on the other hand, rest of the presentation as either a bit naïve. I also disagree some of the author’s idea. I doubt, if it is really wise wireframes as a tool in contract negations in a way the author recommends. It is hardly the optimal way to deliver what customer needs and not only what he had ordered. Designer/Developer workflow is among those subjects I’d like to write more.

What’s New in Windows 8.1 Security: Modern Access Control Deep Dive

Comment: This was surprisingly inspiring presentation. The main argument was “Passwords are a poor way to authenticate. Don’t use passwords for authentication – it is not absolutely necessary. Here you have three better alternatives: biometric fingerprints, TPM key attestation and virtual smart cards.”


Gray Hats Makes Software Security More Entertaining

I really like the new appealing, “gray hat” –approach in software security presentations. It is far more interesting to hear first how to hack a system and then how to avoid such an exploit, than to attempt to memorize a long security checklist. After all people are driven by motivation, and not by constraints. That is, in order to really care about security, you first have be aware of the consequences of carelessness.

Here you have a list of those “Gray hat” talks I have seen and can personally guarantee that they are entertaining (and perhaps also useful):

Presentations by Andy Malone

A Journey to the Dark Side of Social Networking:

Cybercrime: The 2013 Ultimate Survival Guide

A list of remaining presentations from Andy Malone:

Presentations by Paula Januszkiewicz

Hackers (Not) Halted

A list of other videos from Paula Januszkiewicz:

By Marcus Murray and Hasain Alshakarti

Live Demonstration: Hacker Tools You Should Know and Worry About

APTs: Cybercrime, Cyber Attacks, Warfare and Threats Exposed

A list of other videos by Markus Murray and Hasain Alshakarti:

Day 2 in TechEd 2013 – On cloud, Visual studios new features and big data

Cloud OS: It’s Time – Again

Keynote is available on Channel9

Few comments from me:

I suppose that the first time I heart Microsoft telling that the cloud era is going to begin the year was 2010. And again it time for cloud? I have pondered if the reason for the change in the strategy was the fact that by service business is more profitable than just developing and selling a software product. In addition, services guarantee more static cash flow.

After the keynote another possible reason popped into my mind: Developing services allows you to shorten time-to-market. This is actually important factor, since currently often many other technology companies – like Google – are able to deliver more modern technology before Microsoft. As a consequence new product releases feel old on the day they were released. E.g. people are talking Google docs instead of Office Web apps because Google was the first one on market. If the time-to-market was shorter, perhaps Microsoft would have been the first one on many area of technologies, including web editable office documents. Sad but true, current Microsoft can just react innovations and trends created by other – most of the time.

It’s also interesting that Microsoft have changed its strategy toward more open. Firstly, it offers better support for non-Microsoft technologies like Hadoop, Oracle and Sap. Secondly, it have also open sourced many core technologies (like ASP.NET and Entity Framework). The reason to the second opening relates to Microsoft’s attempt to deliver the latest technological innovations before others. The reason why they broaden technology stack in the cloud is obvious: if you want more revenue from cloud services, you need to make it possible to deploy there whatever people need to make work and not just stuff made with Microsoft technologies.

Modern Application Life Cycle Management

The lecture was mostly on Next release of Visual Studio and Team Foundation Server. I have to say that that Microsoft have implemented damn cool new features. Also tools for portfolio management.

Lecture should be viewable in Channel9 within this week. Top 4 new features/announcements:

  • Probably my personal favorite improvement is codelings (I hope I heard the name right). Above a method signature you can see information relating it; e.g. in how many places it is references and who have modified it last time.

  • Another great improvement is git-support as, in my opinion, git is far better source control system than TFS. There’s nothing new in this. Anyway it was nice to see that they have improved the tools.
  • Ability to do performance testing from cloud is nice improvement. However, it is unfortunate that the site you test need to be publicly available. As a consequence you cannot use could-based performance testing for internal systems (without a hole on firewall or other similar security trade-offs).
  • The last thing I want to pinpoint is better support to continuous delivery. Microsoft have bought company called InRelease. By its product you can automate workflow from development to production view test environments. Currently the challenge in many big companies is that getting anything to production takes months. If you have an acute business need, waiting for months is big waste of money. I’ve been planning to build manually continuous deliver to customers for long. It’s absolutely great that continuous delivery is on Microsoft’s roadmap and I can throw my plans of manual continuous delivery to recycle bin. I’m expecting to hear a lot more on this later on this year:

As a critique: I dislike the way Microsoft emphasizes tools when it’s telling about enterprise agility. After all the biggest challenge is not technical but rather social. By proper tools and sermonizes you cannot get further than level 2 out of 4 in Agile fluency model and probably you won’t get even to the level 2. You have to change your mindset and the decision making process to make agile really work.

Earlier this month I watched video form TechEd North America, in which Microsoft was telling its own way of working. This stuff is far more interesting than plain tool demos: Deep Dive into the Team Foundation Server Agile Planning Tools (after 0:45.15).

I found especially interesting that Microsoft underlined that teams should be able to choose its’ own working method was it Scrum or Kanban or something else. Nice but it also is somewhat limiting, as you don’t have shared language up to the business values.

Microsoft ASP.NET, web and cloud tools preview

The presentation focused mostly on new tools for web development. The beginning of the presentation was slightly boring as the lectures read aloud his slides. The later part of the presentation consisted a lot of very nice demos. They was worth of watching: video should be soon available in Channel9.

I’m especially waiting for live refresh feature. After you save a file, browser automatically updates and shows the lates version. This actually is something Clojure developers have had for long. Finally Microsoft have stolen this great idea…

Do you have big data? (Most likely!)

I planned to attend lecture on Entity Framework 6: database access anywhere, easily. Unfortunately it was full, and therefore I chose the nearest alternative session form my potentially interesting sessions list. It happened to be on “Do you have big data? (Most likely!)”. Again the video should be available in Channell9 soon.

The lecture was mostly on Hadoop and Microsoft Hadoop service HDInsight. I was positively surprised how well Hadoop seems to work together with Microsoft tools, SQL Server and Excel. I’m absolutely sure that you still need to do some command line computer magic in order to make Hadoop work seamlessly with Microsoft technology stack. However the demos were promising. I definitely need to raise Hadoop a bit on my study list.

Advanced debugging of ASP.NET Applications with Visual Studio 2012

The last lecture on Tuesday was “Advanced debugging of ASP.NET Applications with Visual Studio 2012”. Lecture was good on content-wise. Unfortunately, most demos failed and presenter was not too good. Probably the video is not worth of watching. Anyway, I got big list of tools and technologies I have to study a bit later (none of them were completely new, but I haven’t seen demo on them earlier):

In addition using load testing tools as a helper tool for debugging was good idea.

Day 1 in TechEd 2013 – From DAX to SharePoint

I was near by the venue at 8am. However, it took approximately 30 mins to find exactly correct location. It’s weird how long it took from me to find an enormous conference center – or better the correct entrance. Later I found out that I chose wrong exit from Metro. If I had chosen different exit, it would not have been possible to miss.

After registration and an unsuccessful attempt to find cloakroom, I entered a seminar room. The subject in the room was “From 0 to DAX”. I’m satisfied. The lecture created pretty good idea what it is all about to write DAX – plus few good tip and tricks. I’ll try to fit a hands-on lab on the subject to my program. And if I manage to arrange some time in work, there is an Excel-report most people hate that might benefit from an upgrade to PowerPivot and DAX…

To be honest, I selected “From 0 to DAX” somewhat randomly. It was in the first room I found among the three tracks I found most useful. I had decided that if the morning’s lecture is not extra interesting, I switch the track on afternoon. So I did. I chose to spend afternoon on SharePoint installation and configuration track.

After afternoon’s SharePoint installation and configuration session, I remember best the lecturer’s (Todd Klindt) joke about SharePoint information dialog saying: “It should not take long…” He agreed: “It should not take long – but it does.”

If you ask from me the single biggest usability problem in SharePoint is that oftentimes it’s damn slow. Luckily improved caching makes it faster for many common scenarios. Yet, a power users cannot avoid such actions that are slow. The second biggest usability issue reveals that I’m a developer: the issue is the lack of proper statically typed, concise development model for common development task like for creating content types, web templates and provisioning files. Comparing to clever and modern convention-before-configuration -based frameworks like ASP.NET MVC and Entity Framework, it’s hard to believe that SharePoint’s tool-driven and clumsy feature framework is from the same company.

Back to the subject. The most useful parts of the lecture were probably the PowerShell scripts that makes installation and configuration a bit less painful. I’ll add link to the script here, once I find it. After criticizing SharePoint I have to say that I truly appreciated that you can do almost everything with PowerShell. I also liked the way lecturer managed slowly progressing installation and configuration: He kept on telling anecdotes, best practices and tip and tricks. I wrote down that database aliases might be useful e.g. in migrations and that you should use a white list to circumvent loopback check rather than turn it off entirely.

Related links: