Stuff that's in my head

Can open... Worms everywhere! The blog of Colin Angus Mackay
posts - 270, comments - 232, trackbacks - 38

Monday, August 18, 2008

Job Opening: Project Engineer, .NET Software Development Lead

Title: Project Engineer, .NET Software Development Lead

Location: Glasgow, Scotland

Salary: Based on experience level

Job Description: Join Blue Dot’s UK/Glasgow based Software Development Project Services team! Blue Dot is one of the leading and successful enterprise mobile software, tools, and services company. With over 600 mobile implementations and 13,000 live mobile users, Blue Dot is recognized by the prestigious Gartner Group as a leading vendor in the enterprise mobile infrastructure space.
Specifically, this .NET Services Mobile Developer position will have you the opportunity to design and develop advanced functionality with our leading edge mNOW! Mobile Framework 2008 product. The mNOW! Mobile Framework 2008 builds upon the Microsoft technology stack, leveraging the power of the world’s leading operating systems, frameworks and products such as Windows and Windows Mobile, the .NET Framework (2.0 & 3.0), Internet Information Server 6.0, and SQL Server 2005.

This is a varied and demanding customer service facing role involving many aspects of customizing and implementing enterprise mobile solutions from pre-sales work, through the project lifecycle, to ‘go live’ and ongoing support. This position is a key role in the success and delivery of solutions to our UK and Scotland customer base.

Responsibilities:

· Scoping and implementing enterprise mobile solutions

· Assisting with pre-sales demos and presentations

· Performing Project needs assessments and requirements gathering

· Assessing and advising on business process workflow design

· Producing Senior level technical design and architecture guidance and outputs

· Ability to training customer and provide ongoing support to solutions

· Command of project methodologies

· Good consultancy skills along with a development background

· Ability to run workshops and follow-up on outcome deliverables

· Specific and demonstrated experience of implementing standard .NET development technologies

· Key technical contributor to customer RFI, RFP and RFQ responses

Skills: Microsoft .NET 2.0, 3.0,

Windows Communication Foundation,

3+ years experience with relational database/data warehouse technologies

3+ years experience with OOAD, modeling and UML.

Web Services (WS 2.0).

Requirements:

BS or Master Degree in Computer Science or related field

2+ years of experience in the developing commercial software in .NET

Strong background in Object-oriented design, implementation, and hands-on programming

Excellent communication and relationship skills

Energetic, self motivated, team player

Strong problem solving

Minute attention to detail

English: Fluent

Experience in the following products and skills also helpful:

Products:
Microsoft Visual Studio 2005 / 2008
Microsoft Team Foundation System
Microsoft SQL Server 2005 Administration
Microsoft Office Professional Suite
Skills:
Test Driven Development / Unit test development
Agile Development Lifecycle
Software Patterns & Practices

Continuous Integration

Strong Leadership/Mentoring

Interested candidates please email Eric Roberts, VP of Professional Services at

eroberts@bluedotsolutions.com. Thanks for your consideration

posted @ Monday, August 18, 2008 10:37 PM | Feedback (0)

Saturday, August 16, 2008

Friday was my last day...

Colin and the Evil MonkeyFriday was my last day at Barbon Insurance Group Ltd. A company named after the guy that invented Fire Insurance, Nicholas Unless-Jesus-Christ-Had-Died-For-Thee-Thou-Hadst-Been-Damned Barbon. I kid you not! (Incidentally, the change of name to BIGL, for short, had nothing to do with me handing in my notice. Although I have to admit, I had an urge to come in on my last day with a set of flying goggles, reminiscent of the famous fictional pilot, Biggles.)

Just after I handed in my notice, I left my desk for a few moments and when I returned I discovered an Evil Monkey sitting on my PC. (see right) Oops! My bad! He left again shortly afterwards. No doubt after realising that I wasn't Chris Griffin.

My boss, Steve, (strictly speaking my boss's boss) gave a wonderful farewell speech that talked about the projects I worked on and my accomplishments since I started with Lumley, which was then bought over by Erinaceous, which was put into administration and split up, and ultimately became Barbon. He also said that it would have been nice if the business had actually allowed most of these projects to come to fruition and be put live. I completely concur with that sentiment, perhaps I would have felt more useful if it had. As it happens, only one of my projects went live (and it works very well I'm pleased to say). I have to say that I've enjoyed working with everyone in the development team immensely. I'll miss the camaraderie most.

I Survived...My colleagues in Glasgow had a whip round and signed a card (see below) when I was down in Lincoln training up the developers there in how to use .NET. They raised much more than I expected so when I left they gifted me with an Ubuntu Linux 8.4 64-bit server install DVD, a Granny-Smith apple (the only apple I would accept [for the uninitiated it was a joke on my opinion about Apple Computers]), a T-shirt with "I survived Lumley Erinaceous Barbon" written on it (see left), and a Wii Fit. I felt really appreciated that gift because I know that Duncan had spent a lot of time phoning around and ultimately queuing for ages trying to get one, and his wife was most understanding also.

After work, we went to the pub for a couple of drinks where Frank, my immediate boss, joined us after returning from holiday. We headed off to The Spice Garden, an Indian restaurant just across the Clyde to have an excellent meal. I have to say that the staff there are very pleasant and helpful and the food is great. I have to admit that my experience of Indian restaurants has generally not been good, but this place really makes up for it. The only thing that I would give as a negative is that it is directly under the tracks for Glasgow Central Station so you have trains rumbling overhead every two minutes. The best thing is that they do take-out as well. Did I mention the food was great!

When I returned home I was full, but the Wii Fit was beckoning. I decided that I would watch an episode of House first in order to let my food settle, then I could at least set it up and start using it the next day. When I went to set it up, I discovered that it would only give me measurements in imperial units. I don't understand those but I could not discover a way to change it. After going on line I discovered that by changing country it could change units. Apparently the United Kingdom is set to imperial. There were many forums of irritated people complaining that to use the units they wanted they had to change the language to Spanish - so they had a choice, a language they could not understand, or a set of units they could not understand. I eventually discovered that by going into the Wii Settings (for the whole console) and changing my country to "Australia" I could get the Wii Fit to display kilos and centimetres. However, that wiped out my settings for the Weather and News "channels" on the Wii. Apparently it was freezing in Sydney last night. Well, it is winter over there...

Leaving card (outside)

 Leaving card (inside-left) Leaving card (inside-right)

posted @ Saturday, August 16, 2008 6:03 PM | Feedback (1)

Tuesday, August 12, 2008

Visual Studio 2008 SP1

Visual Studio 2008 SP1 is here and can be downloaded. Details of the downloads are here, and information on what SP1 brings is here. The big items for me are the Entity Framework and the performance improvements in LINQ.

However, before you go rushing off to install SP1 there are some caveats. If you've been running the beta Martin Hinshelwood has some advice and has also run in to problems running the Team Foundation Server SP1 install too.

Once you've installed the Service Pack you might want to download the Enhancements Training Kit in order to learn what's new.

Finally, if you have Visual Studio 2008 Standard edition or above (not including trials) you can download the IconWorkshop Lite from Axialsis.

 

posted @ Tuesday, August 12, 2008 10:23 PM | Feedback (0)

Monday, August 11, 2008

Curious calculation

Last weekend I had to replace two tyres on my car as they were wearing down. It cost £85.50 each to replace them. I was told that usually the back wheels wear away at half the rate of the front tyres. Given that the car has done 25,000 miles, it means that for every 50,000 miles I should have bought 6 new tyres. 6 tyres will cost £513. £513 into 50,000 miles is £0.01026.

Put it another way, my tyres wear away at a rate of just over 1 penny per mile driven.

Or, in terms of fuel costs, it would be like adding roughly 9p to a litre of petrol.

Technorati Tags: ,,

posted @ Monday, August 11, 2008 8:55 PM | Feedback (2)

Sunday, August 10, 2008

Mixins in .NET (again)

A while ago I wrote about Mixins in C# 3.0, at the time I was saying that you can get some of the functionality, but not all, from some of the new language features in C#3.0. The solution is a bit of a fudge because the language doesn't support the concept. I've been looking at Oxygene recently and it has some language features that go a bit further than C# does and will support greater mixin-like functionality which it calls interface delegation.

Interface delegation is again a bit of a fudge, but not quite like C#. In this case the language supports this mixin-like functionality and the fudge happens in the compiler. Let's take the class hierarchy that I used the last time:

Class-Diagram-2

In Oxygene the Dog class looks like this:

interface

type
  Dog = public class(Mammal, IRun, ISwim)
  private
      runInterfaceDelegate : RunMixin; implements IRun;
      swimInterfaceDelegate : SwimMixin; implements ISwim;
  protected
  public
  end;
  
implementation

end.

From this we can see that Dog inherits from Mammal and implements IRun and ISwim. The IRun interface has one method (Run), and the ISwim interface has only one method also (Swim). Of course, there could be as many methods and properties as you like.

The C# version of the Dog class, as produced by Reflector, looks like this:

public class Dog : Mammal, IRun, ISwim
{
    // Fields
    private RunMixin runInterfaceDelegate;
    private SwimMixin swimInterfaceDelegate;

    // Methods
    void IRun.Run()
    {
        this.runInterfaceDelegate.Run();
    }

    void ISwim.Swim()
    {
        this.swimInterfaceDelegate.Swim();
    }
}

As you can see, there are two private fields holding a reference to the appropriate mixin, in each of the methods the responsibility for carrying out the action is delegated to the appropriate surrogate mixin object.

What you will also notice is that you still have to instantiate the surrogate mixin objects. Under normal circumstances that would be in the constructor. If it were a real mixin you wouldn't have the option as the mixin would be created at the same time as the object it is used with. In fact, the mixin would be mixed in as part of the object itself. So, perhaps interface delegates gives you slightly greater power than with a real mixin as you could reuse the surrogate mixin object. Then again, would you want to? I've not been able to think of a scenario where I would, but perhaps it could be useful.

I'd like to see interface delegates in C# at some point in the future (sooner rather than later). In fact, I'd like to see proper mixin functionality, but I recon that will require changes to the CLR to support multiple inheritance. In the meantime, I think I'll have to write some sort of snippet in C# to quickly generate the code that Oxygene gives me in one line. Either that or start writing in Oxygene... Now, there's a thought!

posted @ Sunday, August 10, 2008 11:55 PM | Feedback (0)

Powered by: