Tag Archives: Featured Posts

What a couple of weeks

Wow, I’ve just come off the back of the busiest three weeks I’ve had in a long time, all in preparation for the last week. Lets run through it in order:

MS Communities.

Over the past couple of months I’ve been helping run the Wellington .Net User Group while Kirk takes a well deserved step back. This means I’m now officially a co leader of the Wellington .Net User Group and last Saturday we kicked off the new season and all got together before Tech.Ed to have a brainstorm about what’s in planning for this year, we have all got great ideas of talks and discussions to put on this year, and we’re looking to promote a few more tour style talks this year trying to get to some of the oft overlooked groups such as New Plymouth and try and get content to them too. So if you’re interested in speaking or know you’re travelling at some point and wouldn’t mind presenting on some topics please drop me a line and we can get you started.

CodeCamp

What an absolute blast, I was a bit worried about the venue this year as we moved from the trusty Tech.Ed venues to cut some unnecessary costs but it turned out I needn’t have been. The Auckland Business School is awesome and what a great venue with some amazing lecture theatres. There were also some great students to help us get around, and a whole hearted thanks to them.

This year I presented a bit of a generalist development topic. Rather than focusing on .Net I focused on trying to convey my love of Programming languages and tried to encourage more people to take some time to learn something outside of their standard toolkit. My talk 5 languages in 50 minutes was heavily influenced by Seven Languages in Seven Weeks a great book that I suggest people look at picking up (it’s currently in Beta release but should be printed soon)

I whizzed through Io, Scala, Prolog, Clojure and Erlang and showed off some of the syntax and constructs from each language, it was a great fun talk and I really enjoyed presenting on the subject, I really hope some people have taken away something from it and we might have more people picking up paradigms from these languages in their professional development

Tech.Ed

I was invited to present on two generalist topics at Tech.Ed this year, the Tech.Ed dev track was really quite light with a lot of focus on Windows Phone 7 and Azure, but it still came as a surprise when both my sessions overflowed into corridors and I had to be relayed onto TV screens around the place (a great idea, just needed to up the presenter volume from the sessions I watched on the screens)

The talks themselves were great fun to present, a Whirlwind Tour of .Net 4 and Visual Studio Tips and Tricks.

I was really happy with my Whirlwind tour presentation, I managed to cover everything and not run out of time (I actually finished a little early) but the Visual Studio tips and Tricks finished way too early as I must have seriously rushed my content. I should have opened up the discussion to the floor but thus is hindsight.

All in all the 5 days in Auckland were a great success and I look forward to doing the same next week.

I’m taking a bit of a break this week and next week I’ll be re-presenting my 5 languages in 50 minutes talk for the Wellington .Net User Group so if you weren’t able to make it in Auckland, please come along.

The Tech.Ed presentations should all be available online:

As Microsoft put it:

Tech·Ed Online is the best way to catch up on all the latest Microsoft technology updates and training information from Tech·Ed NZ and around the world. With more than 170 sessions available on-demand or for download from Tech·Ed NZ, along with more than 250 sessions from around the world, Tech·Ed Online is the most up-to-date source for all things Microsoft. In addition to watching the sessions and accessing the PowerPoint presentations, you can share and discuss technical content and ideas with your peers inNew Zealand and around the world. Stay a step ahead of the crowd, click here (http://www.microsoft.com/nz/techedonline) for some cutting-edge tech insight today.

Thanks to everyone who showed up

Tagged

Behaviour Driven Development

Last night I had a lot of fun presenting at the Wellington .net User Group on Behaviour Driven Development.

Below are the slides from the talk.

Tagged

TechEd 2009 Day 2

Day 2 seems a bit thinner on the ground for dev talks.

Challenging the role of Software Architect by Kevin Fancis
Not so much challenging as saying we need them more, which I disagree with, had personal disagreements with the content of the talk and for the first time at TechEd I felt compelled to leave the talk.

take aways: I’m a very different professional to Kevin

The “everything developers need to know about security” talk by Michael Howard

really amazingly engaging talk.
Michael gave some great tips on how to approach the problem of security for developers, and working out where threats can come from.

take aways: Sell privacy not security<

Architectural considerations for creating Silverlight applications

TBC..

Tagged

TechEd 2009 Day 1

Well day one is coming to a close, so before I forget I need to get my thought’s down on paper…. well virtual paper..

keynote

I really think MS need to rethink inviting politicians to TechEd, it really adds very little value for people in the audience, in the end it’s a gathering of IT professionals and so a minister trying to describe their policies is always going to come across as missing some essential or other to delegates. Ministers are not experts, that’s what they have public servants for, and really I felt the whole presentation left the room feeling quite dead by the end of his talk.
Chris’ talk was a little more engaging and interesting talking about the current economic climate and how they see the future progressing, there are few companies that can quickly signal the global pulse of the IT economy like MS.
Interesting to see the Azure release date announcement (although I have to agree with my colleague Ross that the pricing scheme for Azure is not that attractive for small start ups that would really be keen to try out a tech like azure) and a couple of interesting demo’s but no wow factor this year at all, all in all the keynote felt a little dull.

Session 1: Security in .net 4.0 by Corneliu Tusnea

To be honest this presentation failed to have much impact on me. The demos seemed a bit garbled and the presenter seemed to have trouble keeping the presentation coherent.

Take away: Security is made easier to configure in 4.0 is about all I took away.

Session 2: How to build a small software enterprise from zero by Joseph Albahari

This was a great presentation for a non technical subject matter, was really engaging and the presenter interspersed a lot of humour.

Take away: enjoy start up’s

Session 3: Deep-Dive in the new Parallels with .Net 4 and how to scale your code from one thread to 32 cores. by Corneliu Tusnea

Way to change my opinion of a presenter in one session. Really engaging this time, perhaps he felt a bit more in tune with his presentation but his demos were interesting and the subject matter was really involving.

Take away: Plinq and Parallel.for is the best way to try and achieve multi-threading from now on, no more self coding locking.

Session 4: An Overview of the Azure Services Platform by Chris Auld

A lighter touch session on Azure, a really nice platform for quick elastic availability computing, but the cost benefit ratio is minimal for my own personal use.

Take aways: pay attention to application design so Azure can be used later on.

Session 5: Optimising Client-Side Performance to Build Faster Web Sites

So I can’t possibly give an unbiased review of Craig’s talk, but he seemed confident as ever and in control

Take aways: Xero is Awesome. But so is Aptimize

Tagged

TechEd 2009

Well it’s that time of year again. be prepared for my brain dump posts through the next three days as I log my thoughts and feelings from sessions at Microsoft’s TechEd 2009 here in Auckland.

There’s definitely a bit more of a subdued attitude at this years event, or at least that’s the feeling I get from the participants of CodeCamp yesterday. Having said that the Code Camp was possibly the largest I’ve seen, I’ll have to get the numbers from Kirk but I believe we had more than 350 people in attendance which I have to say is an awesome figure and good on the sponsors for helping get such a large and free event off the ground.

After my Behaviour Driven Development talk (or during) I what a massive topic I’d tried to straddle in an hour. I enjoyed talking and the general feedback was that people enjoyed the talk but that I needed a bit more structure to it (that’s what I get for not rehearsing).

Was great to catch up with so many people and thanks everyone for coming along and making it such a success.

right… time to settle in for the keynote.

Tagged

be there: NZ’s biggest code camp

[Yes i essentially stole all this text from [Kirk](http://pageofwords.com/blog/2009/08/30/CodeCampAuckland2009DevelopmentSQLSecu… ]

__Code Camp is less than two weeks away!__

If you want to catch some free sessions on the state-of-the-art in .NET development, SQL Server and developer security then sign up for [Code Camp Auckland 2009](http://www.dot.net.nz/GeneralPages/CodeCampAuckland2009.aspx) now.

Code Camps are non-profit, and organised by members of the [local developer community](http://www.dot.net.nz/). This year the Auckland Code Camp is the day before [TechEd](http://www.microsoft.co.nz/teched) (Sunday 13 September), so we’ve managed to nab a few great speakers on their day off to present to us.

It’s the biggest Code Camp ever – over 14 hours of sessions across 3 streams from 10am till 5pm:

Development…
=========

* What’s Happening in .NET Languages and Why Should You Care?
* Behaviour Driven Development (Presented by yours truely)
* Domain Specific Languages
* C# 4.0 new features
* Silverlight with Prism
* .NET on the iPhone
* Becoming Certified
* Lightning Talks
* and more!
The latest and greatest in development topics, by the people that know!

SQL Server?
========

* SQL Server Virtualisation Best Practices and Recommendations
* SQL Server Analysis Services and Gemini
* Query Optimization and Query Tuning
* Understanding SQL Server Indexing
* SQL Server Maintenance
* Training and guidance from the best SQL trainers in the industry!

Security!
========

* Secure Development Lifecycle and Threat Modelling workshop
* Secure Coding Practices
* We are lucky to have [Michael Howard](http://blogs.msdn.com/michael_howard), author of [Writing Secure Code](http://www.fishpond.co.nz/Books/Computers/Networking/Security/product_info/98… and [24 Deadly Sins of Software Security](http://www.fishpond.co.nz/Books/Computers/Networking/Security/product_info/15… giving a free workshop for developers, architects and team leads on Threat Modelling and the Secure Development Lifecycle. This will be followed by a session on how to write secure .NET code.

__Auckland has never seen such an awesome free event!__

Presenters that are offering their time include [Greg Low](http://sqlblog.com/blogs/greg_low/), [Nicholas Dritsas](http://sqlcat.com/members/Nicholas-Dritsas.aspx) and Auckland’s [Alex Henderson](http://blog.bittercoder.com/) of Architecture Chat fame. (oh and little old me)

To cover the costs of the event, we have the help of our generous sponsors: [Microsoft](http://www.microsoft.co.nz/), [Datacom](http://www.datacom.co.nz/), [Intergen](http://www.intergen.co.nz/), [INETA](http://apac.ineta.org/) and [Xero](<a href="http://www.xero.com/).
http://www.xero.com/).<br />
All that’s left for you to do is to [visit the website](http://www.dot.net.nz/GeneralPages/CodeCampAuckland2009.aspx) for more details, and [sign up now!](http://www.codecamp.net.nz/)

See you there on Sunday 13 September

Tagged

ASP.net MVC Slides and links

Yet again I’ve had a hiatus from my blogging life, i feel that twitter is a much more accessible medium for me to use as I tend to think of things quickly and post them when they’re small rather than having to spend a more substantial amount of time when I’m blogging.

However I did promise an awfully large number of people that I would distribute the slides and links from my talk “ASP.net MVC, A Deeper Dive” which i toured round the various .net user groups with last month. As such here’s a link to a recording of the presentation (I felt the presentation slides didn’t really stand on their own too well so I recorded a narration over the top)

http://vimeo.com/moogaloop.swf?clip_id=6350260&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1

ASP.net MVC, A Deeper Dive from Owen Evans on Vimeo.

Also mentioned were a few places to go, namely

* [mvc futures](http://codeplex.com/asp.net)
* [Rob Conery's blog for the walkthrough of creating the marketplace](http://blog.wekeroad.com/)
* [The code for the walkthrough](http://www.codeplex.com/Wiki/View.aspx?ProjectName=mvcsamples)

many thanks to the [.net user group association](http://dot.net.nz) and [Xero](http://xero.com) for helping me get to all the various groups.

Tagged

OAuth MVC.net Revisited

My Foray into OAuth with MVC.net is getting more thorough. I quickly came upon a problem in the project as it stood with regards to the signing methods I’d used.

I’d grabbed the OAuth base class from the samples available over on [oauth.net](http://www.oauth.net) but quickly found out (well actually not that quickly, I still had to throw away a lot of code) that the signing method is deeply flawed. I personally belive that this file should be either fixed or dumped, it shouldn’t be held up as an example of OAuth.net.

I looked at the other libraries available for OAuth and here are my thoughts:

* [dotnetopenid/dotnetopenauth](http://github.com/AArnott/dotnetopenid/tree/master): while I think this is a great library for OpenID i think it’s obfuscated a few things too many about the signing process. I found the library really hard to get a handle on what was happening where, I suggest you take a look at this as no doubt it’s a very feature rich library, but it didn’t suit my TDD development process and didn’t give me the understanding I wanted over the process going on

* [OAuth Library for .net](http://code.google.com/p/oauth-dot-net/): this seemed promising at first but I found that the library was too rooted in the old ASP.net page lifecycle and would have taken a fair amount of work to rip out all the references to HttpContext, again it just didn’t suit my development processes.

* [DevDefined.OAuth library](http://code.google.com/p/devdefined-tools/): While documentation is lacking for this library compared to the others, it’s not hard to get a handle on the code. It’s lightweight and mimics my mental model of the OAuth Provider workflow. I found this the easiest to understand and tweak to my liking.

So I settled on DevDefined.OAuth library and made a number of changes to allow it to integrate with my TDD cycle, and had to make a couple of changes to get it to adequately work as a provider.

I’ve not fully tested the solution yet but I’m pretty happy that the simple cases are covered.

So the codes been fully refactored/rewritten (urgh! A rewrite after only a week!) and I’ve uploaded to [github](http://github.com/buildmaster/oauth-mvc.net/) with the modified DevDefined.OAuth library, I’ve also submitted a patch to [Alex Henderson](http://blog.bittercoder.com) so that the changes I’ve made wont be lost, however they rely on the ASP.net MVC framework (for HttpContextBase and HttpResponseBase) so I’m not sure how that should be handled. I might have to suggest a branch.

So grab the code, check the sample (which will allow you to authenticate with a consumer key “key” and consumer secret “secret”)

You’ll need to implement your own ITokenStore, IConsumerStore and INonceStore for your own application.

I’ll be adding some more changes as we go along but at the moment it supports:

* Automagically adding two urls to your site (/oauth/RequestToken, /oauth/AccessToken) which will handle requests for RequestTokens and AccessTokens

* An Authorization filter called OAuthSecured just add this to any controllers/actions you want to be secured resources.

* A binder to allow you just to take in an IOAuthContext (or IToken or IConsumer as IOAuthContext implements these) as a parameter to your mvc actions.

Take a look at the sample and feedback is always welcome.

Tagged

Back out of black

The controversial (to say the lease) piece of rubbish legislation that is Section 92A has been delayed by parliament due somewhat to the presure we put on government through protests etc.

It’s not over but this is the first sign that anyone’s actually listening.

[More here](http://creativefreedom.org.nz/story.html?id=170)

Tagged

Added a sample OAuth consumer in Cocoa

Well this is my first foray into the world of objective-c programming, but I’ve added a sample consumer for mac os x to the ms-mvc OAuth project, I know it’s not mvc specific (I’m going to write an mvc consumer next) but as I program on my Mac it was useful for me to have a test client that I could just run as an application. It still has work to do (most of my day was learning how to actually get the program up and running, it’s not doing a huge amount yet) but it’s a work in progress.

As will all my projects I like to release early and release often.

also this is my first project using git as a source repository, it’s really interesting to remember that I can check in at any time, it’s just the push to the core repository that i have to worry if everything is building OK. Git is really nice and I will be thinking about using it more in future. I might have to put up an explanatory post to help others that don’t “get” distributed version control yet.

In other news I attended the blackout protest at parliament on Thursday which was interesting, so many geeks in one place without a white board or post it notes was a strange experience.
Hopefully we can get S92a repealed but I’m still sceptical of politicians. Will be pushing the blog to be off-line and blacked out completely on Monday so don’t worry if you can’t get to it, it’ll be back on Tuesday.

Tagged
Follow

Get every new post delivered to your Inbox.