DDD Sydney Is Back – Vote For Sessions & Register Today

It’s this time of the year, and DDD Sydney is taking place again by end of June 2012 :-)
Yes, it’s “the other” DDD …  Developer Developer Developer!

If you don’t remember the way sessions get chosen in DDD is that call for submissions is first open for everybody for a couple of weeks, then the submitted sessions are listed for public voting for similar time (or so). Anyone can choose up to 10 (TEN) sessions that they want to have available if they decide to register for attending the event. Later, most voted sessions are what gets into the event agenda.

The registration is usually open by voting time (now!), although more actively publicized after the vote is closed.

My Session Proposals

Like last year, I have submitted some session proposals for DDD in the hope to get one of them voted most to deliver within the day.

You can see all submissions and vote for the ones that interest you most from here. I have included a copy of my submissions here in case you find the page hard to read (or just zoom-in a bit).


Introducing ASP.NET Web API (Level: 100)

ASP.NET Web API streamlines the development of HTTP services especially for developers with even little ASP.NET MVC knowledge. Being separate from WCF removes a lot of the effort and provides really simple configuration.

This session introduces ASP.NET Web API, and some of the obvious questions about it, starting with what it’s like to develop services with it, what power the service controllers share with and how they differ from any standard ASP.NET MVC controller for routing, filters, model binding, and managing common HTTP request/response aspects.

Then it gets into handling common scenarios like authorization, validation, content negotiation, custom JSON formatting (e.g. for dates), and OData capabilities, as well as showing the differences between hosting your services with ASP.NET hosting vs. self-hosting.

Back to Basics: Understanding Twitter OAuthentication (Level: 300)

Most people who provider Twitter Authentication use managed wrapper libraries around Twitter REST API. Some libraries are better than other libraries in certain areas, where they are more feature complete, faster, or easier to use for specific tasks. If you put some understanding of how the process of communicating with Twitter OAuth (and other APIs) works, and use the libraries with awareness instead of just letting them do their “magic”, this not only allows you to mix and match libraries and usages (like storing the user login in DB for background operations if your app requires this).

This presentation introduces how Twitter OAuth works from a client application perspective, and shows how different popular libraries encapsulate this and you have extra control on the process and storage of your users login tokens and how they can mapped to ASP.NET forms Authentication, and how you can reuse those tokens later with different library or different executable/service having the same application identity.

If you ever got confused trying to understand how Twitter OAuth process is like, or how to troubleshoot common issues with it, or even achieve a related advanced task, this session is for you.

As a sort of bonus, the presentation also shows quickly how to use FormsAuthenticationExtensions NuGet package to store extra information in ASP.NET forms Authentication ticket, as well as an introduction to Twitter XAuth, usually used for mobile (and desktop) apps.

LESS CSS for .NET Develoers (Level: 200)

When a developer writes CSS, they quickly notice the must-have features which CSS does “not” actually have, variables, functions, and calculated operations are most obvious examples. As the web evolves, developers have become more exposed to HTML5, JavaScript, and CSS3 on daily basis. So, they came up with a number of languages that come and fill in the gaps in them. Out of those languages, LESS is the one that looks most just like plain CSS.

LESS provides a number of handy extensions to CSS that developers especially love most. In this session, we go through those features and where they fit for modern web development. We also go through the .NET developer experience working with LESS, from IDE integration (using Visual Studio) to build integration and minification, and some bonus tips for large projects.

Introducing jQuery Plugin Development With jQuery UI (Level: 200)

Developing a JavaScript widget as a jQuery plugin can be tricky when it has to interact with more plugins and complex elements in the same page. The plugin needs to maintain a set of possible states of itself and maybe other plugins used, apply various operations based on different states, and maybe allow the users to call the same plugin to apply different operations applicable to each state. This applies to even the simplest operations like expanding/collapsing a collapsible widget, allowing more plugins to be notified of changes in visibility, etc…

jQuery UI introduces a core component called “Widget Factory” which can make developing flexible JavaScript widgets straight forward, and helps more to get more widgets to work together in complex scenarios.

This session shows how to simple jQuery plugins to use jQuery UI plugin widgets, as well as providing some tips for large applications implementing their components as jQuery widgets, and some bonus tricks around optimizing your jQuery code for better overall page performance.

Call To Action

Now it’s your turn, I again highly suggest you vote for the sessions you like here.

Also, once the announcements are made more widely about the already open registeration, tickets usually fly very quickly, so, to guarantee a ticket to DDD Sydney, you better register early from here (costs A$25).

Hope to see you there :-)

#DDDSydney 2011 Razor Session: Slides & Demo Code

Thanks a lot everybody who attended my Razor session in DeveloperDeveloperDeveloper Sydney 2011. It was pretty exciting not just as my first time speaking in Australia (usually I do talks in Egypt), but even loving to attend all the other sessions as well, It was real fun!

I have enjoyed all the sessions I attended. The great talks with different people before and after my session all way long to city afterwards were priceless too.  You guys all rock!


Presentation Slides

You can watch the PowerPoint slides here or on SlideShare:

Code / Demos:

I have uploaded all the demo code (and the PowerPoint file) to Github so that you can clone, fork, or download it easily.


You can check the code on:


If you prefer a direct download link (zip).



Thanks again and hope to meet you all in future events.