Skip to main content

Posts

Castle/Windsor schema enables Visual Studio intellisense

There has been a lot of noise recently about Inversion of Control (IoC) with .Net recently (stop sniggering at the back java guys!).... I've been using IoC via the Spring.NET framework for over 2 years now - it's a completely different approach to coding and once you get your head around it everything just falls into place and development is a real joy again. As I mention, Spring.NET is my framework of choice but a recent change in employer has seen me bump up against Castle/Windsor . First impressions are that I like it - it's not as powerful or feature rich as Spring but that's not always a bad thing! The one thing I did miss though was Visual Studio intellisense when editing the configurations - Spring has an online schema that can be associated with a Spring configuration. This got me thinking - if the VS intellisense can be hooked into that easily why not create one for Windsor configuration? So I did...you can download it from my new google code site here . Remem...

Monitoring (Part 1): Whatchoolookinat?

Continuing my "Business Agility" series (I promise to explain what I mean by this!) I wanted to talk about another area of software that is often over looked and lacking information...application performance monitoring. To start with why is performance monitoring important and what has it got to do with "business agility"? As with my previous post on debugging it is the lack of information that directly impacts the ability of the business to improve its software. The lack of performance information is a blind spot as to what is actually happening operationally with your software. Ignorance of a problem doesn’t always equal bliss! In my experience much business software is written without regard for performance. However this is not the sin - the sin in my eyes is that the ability to measure performance is often not thought about at all and if performance does become an issue then it is often too late to put in place a good, consistent monitoring framework. Performan...

Home Automation: HomeEasy + xPLMonkey

Update 4th March '08: Mal Lansell ( the xPL guru) commented!...check out the update to the xPL site with a dedicated HomeEasy page - excellent stuff Mal! I've been involved with Home Automation to some degree over the last few years. I've dabbled with zWave and installed a small home network to some success. zWave is a good technology - its mesh networking capability and bi-directional signalling is superb but the chronic lack of devices and support in the UK has really crippled its success and with it my enthusiasm for it. However, a new DIY project (fitting a new kitchen) meant an opportunity for more automation and by pure coincidence I happened upon the HomeEasy range of automation products that B&Q stock. They had exactly the things I needed to automate the kitchen under cupboard lights and kickboard L.E.Ds - a wireless PIR sensor and sockets and all at a very good price, the starter kit (3 sockets + remote) was £20 and the PIR about £11. Now when I walk into th...

Sysprepping a virtual PC

This is an aide-memoire for Sysprepping a Virtual PC. We use VPC/VServer extensively in our software development and testing and our regular "Sysprepper" Patrick fowarded me this excellent link in case we needed to do this ourselves... http://blogs.technet.com/megand/articles/357570.aspx

Debugging: Through the looking glass

Update 10-Jan-2008: I have added a link to a full trace log to one of our service calls to demonstrate the type and quality of information you should be logging... One of the biggest areas for improvement in software development is debugging - or put another way, reducing the time to understand and fix bugs - lets call this Time To Fix (TTF). Reducing TTF has some benefits directly related to "Business Agility"- more bugs can be tackled and fixed in a given period or a set threshold (severity) of bugs can be fixed in a shorter time. Rather nicely the means to improve TTF actually reduces the number of bugs being produced over time - we'll cover how this works later on. Objective Drawing on my "Business Agility through Component Software" concept and from hands on development these past ~three years I have experienced first hand how inefficient bug fixing can be and how enormous time savings can be made with a better approach to designing and implementing your s...

Act 1; Scene 1

As previously mentioned I want to write about my "Business Agility through Component Software" concept. This encompasses several aspects of software design and crucially includes operational considerations. I'll be writing a series of posts covering all of this...however in true "reuse" style I want to provide a common "set the scene" post to explain the work I have been doing and give context and background to the actual post that will reference it. I work for a Digital Media "supply chain" company. We ingest (take delivery) of media files (WMA,WMV, metadata & images) and perform a number of processing steps on them before eventual delivery to a consumer via a digital retail front end (website, WMP Online Store, gadget etc). This past twelve months I've been involved in re-developing the delivery services on our core retailer platform. These services are used to... Deliver a media file (WMA, WMV) to a PC/Client Generate Windows Media...

Service.Resume();

Hello everyone...er...anyone?! I'm dusting off the blog at last - and shocked to see my the last time I published was 6th Dec 2006.....oh gosh....oppps! I've been very busy working on rewriting the entire set of services for our Media delivery and licensing platform and integrating them with several large projects. I've finally surfaced from this and want to start sharing my knowledge and experience of the past year working on things such as.... Windows Media licensing (subscriptions, full licenses, revocation, generation) Type 1 Windows Media Player Online (Active) Stores ASP.NET as a service platform (http modules) Software design (Inversion of control, Dependency Injection, Spring.Net, Behaviour Driven Design) Business agility through software component design The future of Digital Media and general thoughts on where its all going and where technology fits in with it. I've started the ball rolling by updating my most popular blog post ( .Net custom configuration ) to...