The Honing of Skills

An entry about craftsmanship Publication date 4. December 2009 10:28

A couple of months back I spoke at the MSDN Live conferences in Norway. One of my talks was on ASP.NET 4.0, and I had some demo code that I used to explain some of the new features. Recently I got some feedback that some people had been baffled about the “quality” of my demo code – why would I bother to write unit tests, apply design patterns and so forth in a silly little demo application? Surely that’s overkill and a sign that I was prone to overengineering my code.

Practice makes perfect

If you want to become good at something, you need to practice. We often talk about this in terms of internalizing a certain set of skills; practicing something until it becomes second nature to do it. There are many ways to accomplish this. One that’s become popular lately, is katas. A kata is a Japanese concept, which basically means to practice a fixed choreography over and over.

Check out this recording of Uncle Bob Martin performing his Prime Factors kata, in which he’s honing his TDD skills in Ruby:

Another great example is this video by Chad Myers, in which he implements FizzBuss in less than 4 minutes with the mouse disabled:

Solving small, insignificant-seeming problems in order to try out and practice methodologies, technologies or patterns is a great way to become familiar with these so that they are in your toolbox ready to be applied instantly when you’re on a deadline and don’t have time to fool around.

Currently rated 5.0 by 2 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

ASP.NET MVC 2 at NNUG in Bergen

An entry about nnug | community | conferences Publication date 22. November 2009 21:00

Things have been unfortunately quiet on this blog lately, as I’ve been too busy with other engagements this fall to spend much time blogging. Hopefully I’ll be able to make amends for that this Christmas as things quiet down for the holiday season – so please don’t unsubscribe from my feed quite yet :-)

Until then, if you’re in Bergen this week be sure to drop by the local NNUG meeting on Wednesday where I’ll be giving a presentation about ASP.NET MVC 2. Details are here (in Norwegian).

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

MSDN Live & GeekBeer: Coming to a City Near You!

An entry about conferences Publication date 4. September 2009 08:47

So it seems summer has already left us – not that it made big of an impression this year, at least not here on the east coast of Norway. But fear not – autumn is not such a bad time to be alive either. Microsoft announced the MSDN Live events in September a few weeks back – since then more than 1000 people have signed up. Read my previous post for more information on when and where if you haven’t signed up already - this is going to rock!

Geek? Beer!

Each of the cities visited by MSDN Live will also be host to an informal social gathering where you can meet the speakers, chat with fellow developers and enjoy a pint (or three).

Here are the details:

Stavanger, September 15th at Timbuktu from 7pm.
Bergen, September 21st at Biskopen from 7pm.
Trondheim, September 23rd at Den Gode Nabo from 7pm.
Oslo, September 29th at Internasjonalen from 4.30pm.

Notice that all of these are the night before the MSDN Live event in that city – except in Oslo, where we’re going to the pub straight after the event to celebrate a (hopefully) successfully finished tour. Be sure to join us in your city if you can! No registration is neccessary, just show up and BYOB :)

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

MSDN Live, Autumn 2009

An entry about conferences Publication date 25. August 2009 17:09

Microsoft is bringing MSDN Live on tour again in September, visiting Stavanger (16th), Bergen (22nd), Trondheim (24th) and Oslo (29th). Speakers this round are Einar Ingebrigtsen, Børge Hansen and myself (yay!).

Børge Hansen

Børge did the rounds last year as well, when he was an architect advisor at Microsoft. He’s struck out on his own since then, which means that this autumns MSDN Live actually features no “Microsoft speakers”, which is quite interesting.

Børge’s talks this spring were well received, so its not surprising that he’s been invited back again this time around. He’ll be opening the conferences, talking about Visual Studio 2010 and C# 4.0.

Einar Ingebrigtsen

Einar is an old colleague of mine, and have been steadily gaining a solid reputation within the Silverlight circles - most notably for his Balder project, a Silverlight 3D engine. With a fun and quirky charisma, his talks should prove both entertaining and educative.

Einar will be talking about WPF 4 and Silverlight 3.

Myself

As for myself, I’ll be giving a talk on ASP.NET 4.0, as well as a loosely titled ‘Agile .NET Development’ talk. I don’t want to give away too much about that one – but my goal is to really drive home the point about agile by giving you a peek at what working in a real-life agile project looks like. No (few) slides – pure demo.

Join the Conversation

You can follow Børge, Einar and myself on Twitter. Follow Rune Grothaug for the latest updates and news on the conference (and everything else related to the Norwegian Microsoft dev community for that matter).

Are you a-LIVE?

For more information and to sign up, visit the MSDN Live website. If you’re a student, you get in for free! But hurry up, places are limited.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Resolving relative URL’s from JavaScript

An entry about javascript | asp.net | asp.net mvc Publication date 22. August 2009 14:50

On the server side of an ASP.NET or ASP.NET MVC application, we’re used to working with relative URL’s in the style of “~/Images/logo.png”. This makes our application safely deployable to virtual directories within IIS applications without messing up the URL’s. However, what do we do if we need the same functionality in our JavaScript?

I’m solving this by sticking the following script in my Site.Master file:

Url = function() { }

Url.prototype =
{
    _relativeRoot: '<%= ResolveUrl("~/") %>',

    resolve: function(relative) {
        var resolved = relative;
        if (relative[0] == '~') resolved = this._relativeRoot + relative.substring(2);
        return resolved;
    }
}

$Url = new Url();

Now, anywhere I need to resolve a relative url in a script, I can do this:

var logoUrl = $Url.resolve("~/Images/logo.png");

Currently rated 4.5 by 4 people

  • Currently 4.5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Where’s the Curve?

An entry about thoughts | agile Publication date 11. August 2009 17:39

Although firmly seated in the .NET industry, I try to keep tabs on the other camps to see what they’re up to. A lot of people are now really starting to master what we today call agile software development. They’ve harvested the benefits agile has had to offer – and they want more. A profound example of this is the concept of continuous deployment(read his follow-up too), as explained by Timothy Fitz:

“The high level of our process is dead simple: Continuously integrate (commit early and often). On commit automatically run all tests. If the tests pass [automatically] deploy to [production.]”

Johannes Brodwall has a thoughtful post on what the future of software development may look like. His vision is a mainstream adoption of continuous automation: continuous testing, distributed source control, continuous integration, continuous deployment.

I’m left wondering – where’s the .NET community? Are we lagging behind the curve? If you’ve not yet picked up on the concepts that we’ve been preaching about the last few years, such as continuous integration and unit testing, you should be getting worried about being able to keep up – the leaders of the pack are already moving on.

This autumn, I’ll be giving a series of talks at the MSDN Live conferences across Norway, where I’ll both be discussing and demonstrating some of the ways we can push the envelope with agile software development within the .NET space.

Currently rated 4.0 by 1 people

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Powered by BlogEngine.NET 1.4.5.0

Welcome!

My name is Fredrik Kalseth, and this is my blog - thanks for visiting! I am fortunate enough to work with what I love for a living, and this blog is essentially the biproduct of that.

I work as a senior consultant for Capgemini, and am also an active participant in the Norwegian .NET community, as an avid attendee but also as a speaker (most recently at NNUG and MSDN Live).

As a developer, I have a wide circle of interest. My primary passion is for agile, test-driven development, with focus on best practices and clean code. That said, I also love to work on the frontend, especially with web development.

On Twitter? My handle is fkalseth. On LinkedIn? I`m there too.

Disclaimer

This is a personal blog; any opinions expressed here are my own and do not necessarily reflect those of my employer. All content herein is my own original creation, and as such is protected by copyright law. Unless otherwise stated, all source code posted on this blog is freely usable under the Microsoft Permissive License.

What Readers Talk About

Comment RSS