The last two days I've been at the Techorama conference and I've to say it was a long time I was not that excited for developer conference for which I was not directly involved as organizer or speaker. So here is a quick review of the sessions I followed. (PS: I’ll link to slides and videos when they get published)

Faster faster… Async. ASP.NET

Probably the less interesting talk of the day: how to make WebForms faster by using Async pages even in scenario were you are forced to use still use old version of the framework that do not have the await async support. Great speaker skills, but topic was just not that interesting for me and the scenario I’m working in.

A frontend workflow

For this instead I have mixed feelings: it was great to see 2 frontend developers talk at a mainly server-side developer audience, showing a glimpse on the world CSS and frontend development and the tooling used by them on a non Microsoft environment (sass, bundling and minification using gruntjs on node.js), but since all those features are also available natively in Visual Studio and ASP.NET, I'd also loved to see how this frontend workflow could be integrated more tightly with the IDE all .NET devs use.

Full stack Web Performance

Delivered by Nik Molnar of Glimpse fame, this talk was about improving the performance of web applications. Performance is affected by many factors, starting with the few seconds of delay possibly introduced by the network, going till the client-side rendering that can affect performances in the order of few milliseconds.

The talk went through all the possible techniques and tools to help increase performances. Something I really wish I knew one year ago was the client-side profiler to troubleshoot sluggish rendering and scrolling performances.

Sides, demos and list of links to tools used during the talk: http://bit.ly/full-stack-web-perf.

Zone out, Check in, Move on

Ever wondered why developers are only productive when they are in the zone, and why it takes so much time to get back into the zone after interruptions? In this talk we got to see the reasons behind those and also a possible way of solving them:

  • It takes so much time to get back into the zone because to write correct software developers have to “load into memory” a map of the system they are developing. So the easy solution, which is nothing new to “good” developers, is working on independent modules rather than on whole systems: this reduces the number of line the developer have to keep in his brain to get a good understanding of the code he/she is writing. Basically apply the Single Responsibility Principle.
  • The second suggestions was to use a DVCS like git instead of a centralized one because it makes the cost of errors and experimentation very low: branches are easy to create and destroy and frequent checkins do not come with a network IO cost: developers can experiment and trying solutions even without understanding completely the system they are working on, and if their intuition was wrong, they didn’t mess up with production code, and didn’t spend lot of time setting up their safety net.
  • The last reason why developers get out of the zone is when they don’t get an immediate feedback on what they are doing: working on big systems makes testing a debugging slow and introduces dangerous delays that might make developers get out of the zone. To prevent this, the easy solution, again, nothing new, is to write unit tests that can immediately show whether the code written is breaking something.

To stay productive and reduce the cost of interruptions: write small and focused classes/modules, use git, write unit tests.

Web app security trends

The usual suspects of web security threats: XSS, CSRF, link hijacking, iframe hiding, and so on. The takeaway of this talk, at least for me, was that now browsers catching up and helping prevent some of these threats, just by honoring some http headers that limit the way external resources are used inside pages. It’s also pretty easy to prevent some most attacks, so, key takeaway of the session was: it takes so little to prevent attacks, so do it!

Introduction to Roslyin

The usual deep dive of Bart De Smet with syntax trees and low level stuff. Great to see Roslyin in action as I heard about it but never really looked into it. Not sure this stuff will be useful for “normal” web developer, but will definitely make life easier for tool vendors.

Wrapping up

All in all I've to say that the most inspiring talk of the day was the one I was not planning to attend, the one about the Zone… It really opened my eyes on the reasons why experienced developers tend to loose excitement, and also gave me more reasons to try and convince my colleagues to keep methods and classes focused and small.

Let’s now wait for the second day, which will be all about ASP.NET and web development.