New MVC Learning Resource – feedback requested
19 Tuesday Mar 2013
19 Tuesday Mar 2013
07 Monday Jan 2013
Posted in KnockoutJS, RavenDB, Training
Over the last couple of months I have been privileged to write a couple of articles for the free .Net Developer Magazine brought to you by
DotNetCurry.
Its been my first attempt at writing for a magazine and has been a lot of fun, maybe in the future I can write more articles.
Please enjoy and give them a read – and sign up for the magazine – its FREE!
![]()
Create a Snappy UI with KnockoutJS -> Issue 3
This article explores KnockoutJS and what KnockoutJS gives you as a developer.
![]()
Web Essentials for Visual Studio 2012 -> Issue 4
This article explores the Visual Studio 2012 Web Essential add-on.
What’s New in RavenDB 2.0 -> Issue 5
This article explores RavenDB 2.0
Take a look at these articles and hopefully you will learn something new – Gregor.
01 Tuesday Jan 2013
Posted in Book Reviews, Dependency Injection, Productivity, TDD, Testing, Tools, Training
Book Review: C# Smorgasbord by Filip Ekberg
About the Author:
Filip is a Software Engineer working with various techniques such as C#, WPF, WCF, ASP.NET MVC, ASP.NET and much more. Currently working at Star Republic in Sweden as a Software Engineer working with both newer and older technologies in a Windows environment, mainly focusing on ASP.NET MVC development.
During his years of Programming, Filip has managed to accomplish some of the following:
• Software Engineering Degree @ Blekinge Institute of Technology
• Managing the Software Development Company SmartIT eSolutions Sweden which focused mainly on developing software and web solutions.
• Working as an Amanuensis ( Teacher ) @ Blekinge Institute of Technology teaching Java, C++, Sql and Network-programming.
You can read more on his blog here.
I saw a tweet from @daniellangnet who said this book was fantastic and if your looking for something to read over the holidays then give this a go, I actually ordered the book without even reading anything about it, unusual but glad i did!
Chapter 1: Introduction to Parallel Extensions :- Learn the basics of paralleization, use basic Linq, and how to optimize code by introducing parallelization.
Chapter 2: Productivity and Quality with Unit Testing :- Understand why tests are import, create a test project and improve code quality.
Chapter 3: Is upgrading your code a productive step? :- How to find bugs faster, How to use Resharper to get a more manageable project and to get things done faster.
Chapter 4: Creating a challenge out of the trivial tasks :- Challenge yourself to create understandable and higher quality software.
Chapter 5: Asynchronous programming with async and await :- Identify where yo might need asynchronous processing, refactor a synchronous app into becoming more responsive.
Chapter 6: Dynamic program :- Create and extend a dynamic object by using the ExpandObject, also understand why introducing dynamic objects might cause problems long-term.
Chapter 7: Increase readability with anonymous types and methods :identify where you might have single purpose methods that you can replace with anonymous methods for increased readability and lucidity.
Chapter 8: Exploring Reflection :- User reflection to get information about types at runtime and understand more about properties and methods.
Chapter 9: Creating things at runtime :- Create your own method at runtime using Reflection, be able to read IL and understand portions of it.
Chapter 10: Introducing Roslyn :- Create a basic code analysis that suggest issues in your code, run code snippets on entire code files.
Chapter 11: Adapting to Inversion of Control :- Understand the basics of Inversion of Control, introduce a Dependency Injector into your application.
Chapter 12: Are you Mocking me? :- Create a mock of any interface and write tests that introduce
This book as you can see has something for everyone, i have thoroughly enjoyed reading it from cover to cover and will be reading a good few of the chapters again, it’s a very handy reference book and covers a number of topics that as a developer can help you explore, improve and be inspired – just as it says on the front cover.
I picked this book up on Amazon for £19 and its well worth it – recommended reading for 2013.
05 Friday Oct 2012
My colleague at work Mohammed Ibrahim is doing a free talk titled RavenDB: working with NoSQL data in .NET at Glasgow Caledonian University on Nov 14.
If your unfamiliar with noSQL and want to know more then come along and you will learn all about it and more.
So come along, learn, ask some questions and to get an insight into why RavenDB rocks, register at http://ravendbglasgow.eventbrite.com – tickets are selling fast so get yours while you can.
There will be free swag! to give away at the event, including t-shirts and RavenDB stickers.
20 Monday Aug 2012
Posted in Aspect Oriented Programming, MVC, Tools, Training
Code become’s messy with error handling logic all over our code, wouldn’t it be nice to be able to log the error, the offedning method name and the line number of the code that caused the error in the first place.
If you’ve done any MVC development then you are already familiar with AOP, [HandleError] is an example of an aspect and with very little effort indeed you can create your own. Creating an aspect means you can reuse logic for tracing, error handling and more very easily.
At work we use PostSharp for our AOP aspect-oriented programming and its doesn’t get much easier. The guys even give you an add on in visual studio and it walks you through how to go about learing AOP and how to create aspects using PostSharp – the tutorial is superb and very well thought out.
We have a class library logging class which we use as an aspect using Postsharp and this means that we can add a [Catch] attribute to the method and we now have error logging for this new method:-
[Catch]
public MyNewMethod()
{
throw new applicationException();
}
And that is it, download the demo and give it a try its so easy but quite powerful – I recommend you take a look.
19 Sunday Aug 2012
Posted in Training
Having listening to hanselminutes podcasts and a few other ones as well as discussions with others I felt the need to ask people out here – how do you keep up to date?
I speak with a good friend of mine who is a social carer and she is always talking about how hard it is to keep up to date and how often things change and how she goes about keeping up to date with these changes – as developers I’m sure we can all relate to that in some way.
How I keep up to date
In order to at least try to stay up to date I read blog posts and carefully select who I follow on twitter. For me the easiest way to stay up to date is to actually harness twitter in a way that allows me to follow the people who tweet about content I want to learn about, of course they also tweet other stuff which is also good but I use twitter as a learning tool, if people stop tweeting useful content then I will unfollow them as I like to have a useful twitter stream as a posed to tweets about running times and how they became the major of some place I’ve never heard of
People ask me a lot why am I always on twitter – the real answer is I keep my ear to the ground and I like to learn whats
new out there or what people find useful.
Yeah blog posts are an invaluable tool but I have spent less time recently reading my rss feeds and more time reading what people are tweeting about – I like to try to encourage people to tweet about useful stuff they come across on a day-to-day basis and is a reason I started my what I learned last week blog post series.
So my question to you guys out there is how do you go about keeping up to date, so you use twitter like me or not really? has it made you think about what you tweet or you dont care who reads what you tweet? discuss…
03 Friday Aug 2012
Posted in Pluralsight, Training
Tags
This week I have been busy watching the KnockoutJS videos on Pluralsight, my favourite way to learn a new technology other than sitting coding – I am also working on a little home-brew website and this set of learning videos has been very handy.
What I learned this past week

Please leave a comment after the beep.
22 Sunday Jul 2012
Posted in Cloud Computing, Dependency Injection, Entity Framework, Git, jQuery, MVC, NuGet, RavenDB, SignalR, TeamCity, Tools, Training
Last week we had AspConf – “aspConf is a virtual conference focused on one thing: showcasing the ASP.NET stack as the platform for great web applications.“
Over 2 days they had 5 virtual rooms used to present lots of fascinating stuff on .Net, including talks about all manner of things in the Asp.Net world.
The sessions on both days covered topics such as, Async in .Net 4.5, Glimpse, TDD, Azure and Cloud Computing and lots lots more, you can read more about the sessions here.
Although it had some technical difficulties, due to its popularity I may add, the conference is an awesome way to learn for free – and free is always good. It’s a superb way to learn about content you havent had time to look at it, or new technologies you havent heard of. Hopefully next year they might try to use something different from livemeeting.
If you missed any of the session then fret not, most of them if not all of them were recorded and put up on Channel 9 here
I only managed to see sessions from day 2 so I am off to go watch more content on Channel 9 – a great resource for free learning.
15 Sunday Jul 2012
Scott Hanselman was touring Scotland and taking in some of our country as well as some talks in Edinburgh, Dundee, Aberdeen and finally Glasgow. You can read more about the event on his site Scott’s tour of Scotland. The following is my review of his talk in Glasgow which was on Friday 13th of July.
Scott was delivering his – One ASP.NET (super everything talk) covering almost everything going on that Microsoft are working on/have to offer for developers within Asp.Net
The talk covered the following areas – Visual Studio 2012, SignalR, WebAPI, Webform improvements, Azure and also what to look forward to when .Net 4.5 is released.

Visual Studio 2012 – Scott was kind enough to demo a build newer than the RC which had some unseen bits.
CSS improvements – Scott demoed some of the new features when you have a .css file open in the VS 2012 editor, actual colour pickers where you can choose the colour, including a droplet for choosing a colour out with Visual Studio which will be picked up when selected. Styles are also indented so for example you can have an .li tag and a .li a tag nicely formatted and indented below the .li tag.
Browse with option - you can now select from any browser which you have installed on your pc as well as iphone and ipad and this will display your website rendered in which ever browser you wish, you can also mark several of these as default, this means that when you run your site in VS 2012 and say you have selected FireFox, IE and Ipad as your default browsers the site will open up in all 3.
Javascript improvements – VS 2012 has much better intellisense and by this I mean true intellisense, if you define a new function within your javascript file or webpage and then call it elsewhere you’ll get full intellisense for the function your calling – impressive stuff indeed.
WebAPI – Scott demoed WebAPI as there were quite a few people myself included who hadn’t really looked into this as yet, it looks cool though and a lot easier than WCF, also if you’re using MVC seems very easy to pick up. Scott demoed just how easy it was to create a class and change the response from a method to return XML or JSON just by changing the content-type from within Fiddler, this means that you can have your methods returned using XML or JSON as well as other formats and then send this data off to whatever system requires data in whatever format it requires – nice!.
Find more info about WebAPI on the Asp.Net website here.
SignalR – and the SignalR demo Scott showed are both available on Nuget using the following command from the package manager console:-

and the demo Stock Sample application

Azure – Scott talked about the hard work Scott Guthrie and his team had recently put into Azure and showed the latest release of Azure and it all looked pretty impressive stuff, you can create up to 10 websites and have them deployed and hosted on Azure for free. Also available is VM’s with different operating systems such as Windows Server and Linux.
Within a couple of minutes Scott had created a website and added it to Git and deployed to Azure, then made an update and deployed the change, he then rolled the deployment back to a previous version of the website all in seconds – cool stuff indeed.

You can get a free trial of Azure by following this link here.
.Net 4.5 – Scott talked about Tasks and the new asynchrony possibilites coming with it, showing some nice additions you can use to have truelly asynchronous code – you can read more on this on msdn blogs here.
Feedback on his Talk
Scott is obviously a great speaker and a funny guy too and the content of the talk was excellent, I like demos and the content he showed was pretty neat, VS 2012 looks very promising. I liked how he gives his opinion on things that aren’t the Microsoft opinion and will openly slate something he doesn’t like. The questions asked by the attendees were very good too and he covered a fair amount of stuff in the time given – hopefully he will return sometime in the future and I hope he and his dad enjoyed their tour of Scotland.
You can follow Scott Hanselman on Twitter here.
I know i missed some of the content out, forgot to take notes, if anyone wants to ask questions or comment on this post please by all means do – I’ll update this post If i remember anything I missed.
30 Friday Mar 2012
Posted in Productivity, Testing, Training
I have been reading up on code katas and think they are a fantastic idea, for those of you who don’t know what a code kata is have then don’t worry read on.
A code kata is, as I see it, how to take a requirement, break it down into a list of simple tasks and then write the code to solve those problems, pretty much what a developer would normally do anyway but you could tackle the problem using different coding languages/styles/patterns.
The reason I think code katas are interesting is as follows:-
Good examples
As a good starting point take a look at Roy Osherove’s string calculator – this can be done using a number of different code languages.
More code Kata’s can be found below:-
Let me know if you find any more and I will add to the list.