New Talks: “Neo4j in a .NET World (Graph DBs)” and “You’re in production. Now what?”

Last week I was lucky enough to join an array of great speakers at the NDC Oslo conference.

The recordings of both of my talks are now online, along with 141 other excellent talks you should watch.

Neo4j in a .NET World (Graph DBs)

This year, a small team of developers delivered a ASP.NET MVC app, with a neo4j backend, all running in Azure. This isn’t in POC; it’s a production system. Also, unlike most graph DB talks, it’s not a social network!

https://vimeo.com/43676873

You’re in production. Now what?

A tiny subset of your users can’t login: they get no error message yet have both cookies and JavaScript enabled. They’ve phoned up to report the problem and aren’t capable of getting a Fiddler trace. You’re serving a million hits a day. How do you trace their requests and determine the problem without drowning in logs?

Marketing have requested that the new site section your team has built goes live at the same time as a radio campaign kicks off. This needs to happen simultaneously across all 40 front-end web servers, and you don’t want to break your regular deployment cadence while the campaign gets perpetually delayed. How do you do it?

Users are experiencing 500 errors for a few underlying reasons, some with workarounds and some without. The customer service call centre need to be able to rapidly triage incoming calls and provide the appropriate workaround where possible, without displaying sensitive exception detail to end users or requiring synchronous logging. At the same time, your team needs to prioritize which bugs to fix first. What’s the right balance of logging, error numbers and correlations ids?

These are all real scenarios that Tatham Oddie and his fellow consultants have solved on large scale, public websites. The lessons though are applicable to websites of all sizes and audiences.

https://vimeo.com/43624434

Announcing: one awesome Windows Phone 7 app + the Open Conference Protocol

This weekend, off the back of Web Directions South, the awesome conference team also organised the Amped hack day. Sponsored by Adobe, Microsoft, PayPal, the Powerhouse Museum and Yahoo, there were a number of coding challenges throughout the day.

Aaron Powell (@slace), Brendan Forster (@shiftkey) and I attended in the capacity of mentors for the Windows Phone 7 track. In the end though, the ratio of mentors to participants and one awesome idea threw us down the path of competing instead.

Here’s what we built:

I was talking at a mile a minute because we only had 3 minutes to pitch in the final. (You might notice me glancing at the stopwatch in my left hand.)

Lucky we decided to compete, because in the end we won the whole day! That means we’re off to Web Directions East in Tokyo next month.

We’ll progressively release resources once we polish it up a bit more, take the mirrors down and let the smoke clear out. In the mean time, start with http://openconferenceprotocol.org.

Talk Resources – Internet Explorer 9 for Developers

At REMIX10, TechEd AU 2010 and TechEd NZ 2010 I’ve been showing some of what’s new in Internet Explorer 9 for developers.

Here are the slides and code: http://db.tt/JvEUu3o

The recording from TechEd New Zealand (the third and best version!) is available here: http://www.msteched.com/2010/NewZealand/WEB304

IE9NZ

The recording from TechEd Australia (version 2 of the talk) is available here: http://www.msteched.com/2010/Australia/WEB204

IE9AU

And finally, here’s a recording from REMIX10 Australia (version 1 of the talk): http://www.microsoft.com/australia/remix/videos/default.aspx

IERemix

If you’ve attended any of these talks, thank you for your feedback! The session evals at conferences are like crack for speakers. We read every single one, and then we read them again.

— Tats

Talk Resources – Riding the Geolocation Wave

At both the REMIX10 conference in Melbourne, Australia and more recently TechEd New Zealand I presented on geolocation for developers.

This was the abstract:

It’s pretty obvious by now that geolocation is a heavy player in the next wave of applications and APIs. Now is the time to learn how to take advantage of this information and add context to your own applications. In this session we’ll look at geolocation at every layer of the stack – from open protocols to operating system APIs, from the browser to Windows Phone 7. Building a compelling geo-enabled experience takes more than simple coordinates. In this session Tatham will introduce the basics of determining a user’s location and then delve into some of the opportunities and restrictions that are specific to mobile devices and their interfaces.

The talk was filmed at TechEd New Zealand, and is available for download here: http://www.msteched.com/2010/NewZealand/WEB205

(Note: this version has a Windows Phone 7 demo in it too.)

GeoNZScreenshot

The first version of the talk was also filmed at REMIX10, and is available for download here: http://www.microsoft.com/australia/remix/videos/default.aspx

GeolocationScreenshot

Here are some links to the code and resources (but you really want to watch the talk first):

(Post last updated 7th Sep 2010 with new links and videos)

Tech.Ed AU 08: The Ugly, The Bad, The Good

Bugger it. Despite being ridiculously exhausted, I’m going to write this now because I can’t sleep. I’m also doing it in reverse order to finish up on a vaguely positive incline.

The Ugly

I got rightfully slammed in my presentation evals for ARC402. 44% of the audience were Very Dissatisfied. That placed me with the 6th worst scoring session at the conference.

The general trends were:

  • I represented a knowledge of the subject (42% very satisfied – a positive here!)
  • My presentation skills were satisfactory (47% satisfied – neutral)
  • The information presented was bad (42% dissatisfied with usefulness)
  • The presentation was ineffective (42% dissatisfied with effectiveness)

Armed with an array of comments to analyse, what did I do wrong? Thinking out loud, this is what I’ve come up with:

  • I was put off by the noise from the neighbouring room and the mobile smackdown. I shouldn’t have been affected by this as much as I was.
  • I rushed the content, when I was by no means under time pressure. I generally covered this content as a 20 minute segment at the end of a more holistic ASP.NET MVC presentation. While I had added additional content, and that is generally a rushed 20 minutes, I certainly shouldn’t have been rushing here.
  • I lost the structure. I didn’t introduce myself (which people highlighted in the comments) and somehow I even forgot to ask for Q+A at the end, even though there’s a whole slide that prompts me to do just that.
  • I focused my content too much on the blurb which came from Tech.Ed US instead of thinking myself about the wider architectural considerations. There’s a lot more too it than IoC and some attributes.
  • Despite being crowned the Australian Annual IT Demonstration Champion this same week, my demo crashed and burned. Massive fail here.
  • I’m still not good at dealing with non-developer audiences. This was something that also affected me at Web on the Piste, and is something I need to actively work on. As much as I am a fan of minimal slides + heaps of live code, if the people ask for high level content in an architecture track, it’s what you’ve got to give them.

Summarising:

I failed to identify the key differences between the demands of this session and those demands of previous talks I had done in this technology space. I was over confident in the content and thus failed to properly prepare and update my content for the latest release, the audience and the timing. I’d like to apologize to those who attended and expected more, the content owners who trusted me to be there and the community who supported me in getting there in the first place.

– Tatham Oddie, not-so-demo-champion

The Bad

I’m forever fighting with a balance between helping and helping too much. I was a key person on the Dev.Garten project this year, having done a significant amount of work pre-event including meeting with the client and developing infrastructure. Once the event actually started I began to realise the shear number of things I’d committed to doing throughout the week and that I was being stretched. While there were plenty of great people to keep the project moving, I could have done a better job of documenting the directions I had started and ensuring a smoother handover.

The Good

Despite this post starting on a decidedly (and deservedly) sour note, there were some amazing this that happened during the week.

My other session (TOT352) about Software+Services had a particularly small audience, however came out with 100% of the evals saying the demos were effective and 100% saying the technical content was just right. Ok, so the data is only working off 2 evaluations because there were only about 12 people in the room, but it’s better results than above either way.

I won the national final of the Demos Happen Here comp. Among other things, this means I’m off to Tech.Ed Los Angeles in 2009 and will shortly receive a shiny new Media Centre PC. When I made the original entry video it was an 8 minute demo, however by the national final I had it down to 4 mins 50 seconds which is a real testament to the quality of Windows Server 2008.

I built a Surface application. Amnesia own the only two Surface devices currently outside of the US and were kind enough to let me spend a day and a half playing on it before they took one to the event. It was my first time ever compiling a line of WPF or seeing the Surface SDK but in that 1.5 days I managed to get an application working which would pull session data out of CommNet and display it in response to a conference pass being placed on the table. The Surface team should be really proud of the quality of SDK that they have achieved to make that possible and I look forward to when we finally get to see a widespread public release of the bits.

The table achieved quite a bit of interest throughout the week:

surface5

Photo: Ry Crozier

On Wednesday I had lunch with Amit Mital who is the GM of Windows Live Mesh. Six of us (him, 2x MS, 2x others, me) spent a good 90 minutes discussing some of the longer term visions for Mesh. The original plan was for us to ask questions and him to answer them, but it became more of a discussion between ourselves about scenarios we wanted to see / achieve and him (relatively) quietly taking notes. In the end this was a better approach because it allowed him to walk away with some real world scenarios and didn’t result in us constantly asking him questions he wasn’t allowed to answer yet. PDC sounds set to deliver some exciting changes as we see the release of the Mesh SDK.

Friday lunchtime I was invited to present with Lawrence Crumpton about open source at Microsoft. We were presenting to a lunch of open source alliance and higher education administrators trying to demonstrate that Microsoft aren’t actually evil. Lawrence’s full time job at Microsoft Australia lies around open source and it was amazing to hear some of the things he’s involved in. I jumped on stage after his talk to demonstrate PHP on IIS7 as a first class citizen and talked about leveraging the platform with functionality like NLB. (This may or may not sound very similar to my DHH demo.)

Tech.Ed week is also a big week for Readify because it’s the only time we get to have almost all of our people in the one place. It’s a strange feeling knowing a whole group of people but then meeting them for the “first” time. It was particularly good meeting our new WA gang (Hadley Willan, Jeremy Thake and Graeme Foster) as well as catching up with the out of towners and management teams again.

Friday night was the Readify Kick-off party followed by a company conference / meeting on Saturday.

Who’d have thought I’d get to see my Principal Consultant gyrating his hips on stage with Kylie? I’ve had a quick look around Flickr and Facebook but I haven’t found any photos of the night online yet. I look forward to our resident photographers catching up on their uploads early this week. Update: Links at end of post.

Rog42 came along as a guest speaker on Saturday and delivered a great presentation about some new approaches for community. In a demonstration of how a little information goes a long way, the pizza thing is now pretty superfluous having seen his presentation but I think we can keep the jokes going for a little bit yet. 😉 It was encouraging to see the level of Readify involvement in Tech.Ed.

Overall it was a great week and another well executed Tech.Ed on Microsoft’s behalf. I was privileged to be invited to participate in lots of different ways, albeit with different qualities of outcome. It’s been an eye opening week which has highlighted needed work on my behalf, but also being rewarding for work I’ve already done. I look forward to the next event, and all of the other things that will need to be tackled between now and then.

Update 7-Sep-08: Photos from Thursday night courtesy of Catherine Eibner:

Update 8-Sep-08: