installutil, windows7, and Run as administrator…

Well, stupidity had the better of me for over an hour on this one!  Having not really worked on a windows service in a while, and certainly not in Windows 7, I was having a mare getting it to install.

I’d found any number of references out there facing the same issue as me:

An exception occurred during the Install phase.
System.InvalidOperationException: Cannot open Service Control Manager on computer ‘.’. This operation might require other privileges.
The inner exception System.ComponentModel.Win32Exception was thrown with the following error message: Access is denied.

and a more detailed review of the install log indicated it was falling over at “Creating EventLog source Time Server Service in log Application…”

I immediately thought enhanced security model, UAC, and suspected that the account that I was trying to run the service as (LocalSystem) was the culprit – I seemed to remember back in the day having to set registry entries against accounts for permission to write to the system logs.  Battled with this for a while to no avail, disabled logging in the hope that the error message would be more helpful, but it didn’t reveal much.

I then started to think back to UAC etc. and started up a command window as Administrator (shift+ctrl+enter when it’s highlighted in the start menu rather than just enter).

Hey presto, problem solved.  I can see I’ll need to investigate further to ensure that there are no other issues with regards the tightened security in win7 (and indeed vista) but as of now, all seems to be working as expected.

Enthusiasm – Who needs talent…

Just read a fantastic post by Jeff Atwood about Talent versus Enthusiasm, and it certainly made me look over both recent events and past with a grin on my face.

I’ve worked with some incredibly talented people in my time who, for whatever reason, seem to have lost their spark.  I’ve also worked with some fairly mediocre programmers who are so incredibly willing to learn, to advance, and to know as much as they can.  I’d like to think that enthusiasm assists talent which in turn assists enthusiasm, and the whole thing becomes very self referential – unfortunately not everyone has that enthusiasm, or for some reason it’s hiding behind the sofa.

I’ve recently been tasked with finding a senior developer/team lead for an organisation, and I’ve been overwhelmed at the quality (or lack thereof) of CVs that have come through – spelling and grammatical errors, no sense of enthusiasm in the covering letters, and a clear indication that some of them hadn’t read the detail in the advert at all.  Hopefully some of these people are indeed talented, because their enthusiasm hasn’t overwhelmed me.

I’m happy to sit on the enthusiastically talented fence, I suggest you try it – the perks are fantastic :)

NerdDinner, and initial thoughts on MVC

Although I’ve not yet finished it, I thought I’d start my wee reflection on MVC as learned through NerdDinner.

Obviously, the immediate thing that hits you is that you aint in Kansas any more – ignore the asp.net postback model, it’s all change and there is going to be some significant re-learn before I get anywhere near good I think.

I do love the separation of concerns, the theory behind it is sound from a maintenance and extensibility point of view.  Keeping my model tucked away nicely, and using it to provide the meat that the controller feeds of, which then in turn drives the View I think makes perfect sense.  I need to work far more heavily on the URL Routing before starting to design anything bigger just to see how a richer navigation hierarchy will sit.

I love the way postbacks are handled (at least in the NerdDinner app) and AcceptVerbs() just makes sense to me.  I can see I’m going to have to read up a bit more on programming against an interface, as I haven’t covered so much of this.  I wasn’t a big fan of the Respository pattern, I’d have perhaps gone down the facade route, or (when and if I understand it) perhaps IoC will help with this, though obviously this was just one example.

It’s my first successful play with Linq to SQL, and I’m liking the abstraction and the codified approach to it, though I’ll have to run some heavier tests through SQL Profiler to see how it works in terms of performance.

I’m going to have to look through the source code to find out just how all of the helper methods work rather than just use them – chucking Html.ActionLink() on the page is all well and good, but I want to know what it actually does in the code (easily enough done now that MVC source code is available)

I’m only just getting now to the integration/work with Ajax, which I think will be interesting – I shall keep the blog updated with stuff as I cover it.

The weight lifts, back to the fun stuff…

Well, the launch of the bulk of the client sites we were working on throughout May/June has left me with a weeks holiday – yay!  I’m more determined than ever to spend it learning – busman’s holiday I guess, though I’d feel like I’d wasted the week if I sat playing on the consoles or just bumming around – I’m sure catching up on sleep will help too.

I’m really enjoying the learning that I can get from just an hour of reading through stackoverflow or those peoples tweets that I follow, key over the next week is focussing this and getting some more technical contacts to learn from – there are some cracking recent ones including @spolsky, @elijahmanor, and @scottgu – and just getting time to read all about it will be bliss.

I finally asked my first question on stackoverflow the other week and thankfully it was well received.  Polymorphism in c# has always for me been a timtowdi concept, and although I’ve not had significant need for it in the past, I’ve always liked the flexibility interfaces give in implementation.  Thankfully the answers seemed to back that up, and give some good concrete examples.  So nice to know there is a community around like this that will happily offer support/views, and ultimately can lead to a ‘best practice’ guide on issues.  Of course, we’ll ignore the ‘answering without reading the question’, and all the other minor issues SO has – on the whole, a cracking resource.

So, fingers crossed this will again be the start of regular posting – this next week is working through the MCTS training kit and just learning more, doing more – key areas I have to focus on really are build management (NANT), WPF (for MCTS and curiosity more than anything), Design Patterns (I’ve only really used the Facade in anger, but there is so much discussion at present about IoC and Dependency Injection that I have to have a read).

I want to be playing with Linq (the elements I’ve played with so far highlight how seriously powerful it is if used carefully) and other more ‘hands on’ elements, though I think getting that grounding right is first and foremost.

More to follow during this weeks ‘holiday’ :)

Not a wasted weekend – Telerik & Machine Setup

Well, it’s been a productive weekend, though not on the MCTS front unfortunately.  Our core software package at work, suite-e, has for a while now had an out of date editor – it was a doddle to upgrade all of the other components we use from Telerik, but we’ve always avoided the upgrade of the editor as we use so many custom dialogs that were so reliant on the old scripts from the editor that we were using (the DLL is roughly 18months old).

This weekend has seen me perform that upgrade – it’s been something that has bugged me a for a while now as it’s the last legacy component we have in there really, and it forms such a major part of the system (content management being what the whole thing is about!)

I’ve finally gotten my dev environment how I want it now at home too, installed all the utilities that make life easier when working, and have started the meandering path I plan to take on MCTS, starting with class design, polymorphism, and interfaces just to get my head back around these before I crack on.

Finally gotten myself up and running with stackoverflow, and need to allocate some time each day to read and try to input where able too.  I’ll be updating my delicious bookmarks over the coming weeks too, I used to spurl, but I’m really liking the interface on delicious.