The DaxMindMapper Reloaded

Darrell Russell. A Software Contractor with over 10 years development experience. He is an experienced Microsoft .NET software developer specialising in C#, VB.NET, SQL Server Databases, ASP/ASP.NET web sites, XML, Web Services, WinForms, WCF and WFF development and consultancy work on a freelance basis. Based in the South West of the UK (Tetbury, Gloucestershire) and available to do work within South Wales, the M4 corridor, Gloucestershire, Dorset, Oxfordshire, Wiltshire and Somerset including Bath, Bristol, Swindon, Cheltenham, Gloucester and Salisbury. At the moment he is particulary interested in Agile Software development methodologies including Test Driven Development (TDD).

December 22, 2007

Climbing over the last two weeks

Filed under: Rock Climbing, Training — Dax++ @ 1:22 am

Am I a pessimist or an optimist?

Well on the plus side .. climbing has been alright. Even with a cold and studying long hours I’ve managed to keep my indoor climbing level at 6B and got a lot of overhanging* routes in too (the main aim since I got back from my climbing holiday in Spain).

Oh almost forgot .. led my first indoor route where I needed to perform a ful on dyno to complete it (it was the last move and the top of the wall was a good 15cm out of reach without the dyno). So yeah .. that was pretty cool .. full on leap off of small holds (6B route) to the top :)

Anyway I visited the Link last Tuesday, the Warehouse on Thursday, Sunday and Thursday again.

However, it’s not looking good on the injury front. My right shoulder has just started to exhibit the same early signs of Supraspinatus Tendonitis (Rotator Cuff Tendonitis) that I suffered in my left shoulder last year (I wasn’t able to climb for a month and my climbing as a whole suffered for months either side of that enforced break) .. so that’s a real downer. But at least this time around I know the exercises that will probably help cure it AND I’m about to take a two week break over Christmas.

Continuing the injury issues, my index finger on my left hand is beginning to flare up in and around the A2(? I think - will double check?) pulley area .. sensitive to touch at times. Actually, all of my fingers have taken a bit of a hammering over the last three - four months so I may have to tone down the climbing in the new year for this reason alone.

Hmmm .. it’s a bugger. Climbing is so addictive (and competitive) that to slow down or stop is a real blow. I’ll think about what I’m going to do in the New Year over the holidays and try and come up with a cunning plan :)

* The increase in the number of overhanging routes I’m attempting and the tendonitis in my shoulders may be related .. TBH I’m not very strong in my upper body so I tend to climb seriously side on and then reach and power through from my shoulders rather than relying on arm strength .. it’s good technique for weak arms becuase you can keep them straight (and thereby conserve your arm muscle) but perhaps it’s all a bit too much for the shoulders themselves? I’m hoping that various exercises will reduce the inflammation and over time my shoulders will just learn to live with the strain.

December 19, 2007

New contract

Filed under: .NET v3.5, Professional Development, Tiered Solutions, Training — Dax++ @ 9:09 pm

I’ve just negotiated 20 days worth of work spread out over the next month and half .. which works out that I’ll be doing normal client work 3 days a week and for the other 2 days a week I can do what I like.

As long as I don’t go off climbing (must resist) I’ll use that 2 days a week to continue my development work of the File Watcher system and my own personal training in all of the various .NET 3.5 technologies as well as best practices for OO, advanced TDD and the like.

TBH the last month or so has been too much .. trying to study out of hours at the rate that I have (till gone midnight for many nights a week, all weeks) is just not sustainable.

However, looking back, this is all working out perfectly .. I’ve now got enough experience of these new technologies and techniques under my belt that come these 2 day stints I should be able to really research and investigate well. If I hadn’t done the initial studing then I would have “wasted” this golden opportunity just getting my mind up to speed.

Although the ultimate aim all along has been to increase my knowledge and software coding skills in areas of .NET software development that I simply wouldn’t have time for during client work .. I’ll probably end up generating a whole bunch of useful resources and code too :)

December 17, 2007

alt.NET

Filed under: .Net, ALT.NET — Dax++ @ 10:21 pm

alt.NET

What is it?

It’s a group of people sharing ideas on how to best develop software for the .NET platform.

However, before going any further I reckon an introduction is required:

Introduction

Having an opinion on something is all very well but for someone reading that opinion then they really need to know who the hell I am first. So that they can take that opinion in some kind of context. So here goes:

I’m a freelance software developer based in Tetbury, Gloucestershire in the South West of the UK. I’m Microsoft baised .. I code primarily within the .NET framework, C# by preference, and have been doing so for the last 5 years or so.

I’m always interested in getting better at what I’m able to do becuase:

1. TBH the main driving force in my professional life is that the average capabilities of today’s software projects are an order of magnitude wider in application than the average project from, say, 10 years ago. That’s not to say that the software is more complex or that the code being written is more “difficult” .. it’s just the problems we’re trying to solve are being solved in a more sophistiocated way. Eg Distributed computing, GUIs, huge databases, large numbers of concurrent users are the norm for many of today’s average software project. This increase in sophistication usually means for me a whole raft of new technologies to understand and digest. This is not to say I consider this driving force to be the most important but it is the one that pushes me to study and investigate the most.

2. Inner desire to do better - I have a pretty well developed sense of competitiveness. This is probably the root cause of why I actually try new ideas rather than giving up and sticking with the status quo.

3. I want to be able to supply customers with the best solution that I can possibly help them create.

Get on with it! .. what the hell is alt.NET?

alt.NET is a group of peoples thoughts on how software should be developed within the .NET framework from Microsoft.

How software should be developed is, of course, open to debate .. so I suppose the debate itself is a major part of what alt.NET is centered on.

Another pretty important thing to realise about the alt.NET community is it’s refusal to accept that M$ (or indeed anyone) knows best on all aspects of .NET development.

There are already many blogs out there about what alt.NET is so I won’t go over any more old ground but list a few links and then outline what alt.NET means to me:

Roy Osherove: ALT.NET - Alternative tools and approaches to mainstream .NET
Jon Galloway: Are you ALT.NET?

My view

I believe it’s usefull to have a community of .NET developers that investigate, develop and communicate non biased ideas and techniques on how best to develop .NET solutions. And that is what I believe ALT.NET is and should be about. If the current ALT.NET group where ever to stop following that credo then I’d walk away.

For me the last 10 years has been a journey of, it seems, continual learning. However I’d say approx. 80% of that learning has been just some new technology (eg XML, HTML, Browser scripting, Relational Databases, Assembler, Managed code, ..) or, just as likely, a particular implementation of a technology (eg SQL Server, IIS, .NET, ..).

However, the other 20% of the learning has been centered on how to improve how I do my job .. or, to put it bluntly, how to create better software based solutions regardless of the products.

.. and for me, that 20% is what ALT.NET is all about .. how to do my job more effectively by writting better software. By understanding the processes that go into creating software and through that understanding .. becoming more accomplished.

WPF Rules .. or what does the developer do and what does the designer do?

Filed under: 5. WPF, UI Patterns — Dax++ @ 10:03 pm

Trying to think up some general rules of thumb for the seperation of responsiblity between developer (who supplies the data) and the designer (who is responsible for how the data is presented).

Well .. the first one i can think of/encountered is:

1. Default values = Developer. This is actually a business rule of sorts and should therefore be made to be consistent across all consumers of the data .. including the designer.

WPF Resources, Links and reference material

Filed under: 5. WPF — Dax++ @ 9:51 pm

I’ll build this list up over time:

Binding Declarations Overview

Data Binding How-to Topics

A game writing blogger - looks v. interesting.

UI Framework and Workflow

Filed under: Software Architecture and Design, WFF — Dax++ @ 9:50 pm

I’ve been meaning (when I’ve got the time) to investigate some better ways to create th UI parts of a business work flow solution. Found the following blog article and thought to save it as a starter into this investigation.

Matt W’s Windows Workflow Place - Introducing the Pageflow Sample - Most people think of workflows as a tool to represent and automate back-end business processes. Back-end business processes normally require some user interaction but their main purpose is not to drive the user experience or manage the UI. However, there is a growing type of application that leverages workflow as a tool to drive the user interaction and drive the user experience of an interactive process. This type of technology is called page flow.

December 16, 2007

Wow! This WPF is pretty bloody awesome

Filed under: 5. WPF, Professional Development, UI Patterns — Dax++ @ 12:32 pm

After reading the excellent introduction to data visualisation from Ivan Towison, I reckoned I could probably sort out my file monitor GUI using a “custom list within a custom list” style data template.

So I sat down at my desk about ten minutes ago to investigate the problem, I’ve got two machines at the moment - on one I opened up VS2008 and was going to attach the problem via the XAML view .. on the other machine I’ve installed M$ Expression Blend .. so that I could see how well this could help me investigate the UI problem.

Well .. I didnt even bother using the XAML .. Blend was just drag and drop, create a stub of example event XML and, after a couple of successively better attempts, I’d created a multi-level list within a list data template for my multi-source events. Sorted! Bish, bash, bosh! Lovely jublee! :)

It’s not often I go wow with new technology but the ease at which I did the above (in about 5-10 minutes) was pretty bloody amazing.

It brings home just how well the’ve managed to seperate presentation issues from data production ones - I mean I was wondering how different WPF was over traditional style sheets, CSS, javascript etc but wasn’t prepared for this order of magnitude jump in ability.

Obviously this is early days for me .. there’s still plenty of scope for bad news .. but it’s looking good so far.

NB: I had a quick look at the XAML that had been generated by M$ Blend and reckon tools are the way to go for me for the time being.

December 15, 2007

WPF Tools

Filed under: 5. WPF — Dax++ @ 10:34 pm

Presentation Creation Tool built on WPF
Expression Blend Knowledge Center - Self-Study Tutorials,
Tutorials, Training Videos and Webcasts.

Snoop

WPF data visualisation/exploration demos

Filed under: 5. WPF — Dax++ @ 2:26 pm

I’m bringing together a number of links to ideas, code, demos, notes on WPF data visualisation/exploration:

What is Rich Data Visualization Anyways? Short discussion .. some usefull points.

Five steps to WPF data visualisation - Well thought out, simple article :)

The power of Styles and Templates in WPF - Quite detailed explaination on how to modify a listbox to quite stunning results. Some very usefull techniques .. using some of them in my new File Event Monitor.

Hierarchical View Carousel (including code) - The Hierarchical View Carousel is a prototype of a different model of navigating hierarchies, based on using a 3D effect that allows the user to better visualize the relationships between nodes.

Nice list of demo-able WPF applications - currently going through the list.

www.dotnetsolutions.ltd.uk demos
Wikipedia Explorer BETA - looks promising (even if it is of questionable usefullness) but doesn’t actually appear to work .. can’t navigate from the first page successfully :(
Investor Explorer - this one works but again is of questionable usefullness - I’m not trying to put the UI down but at the moment it’s eye candy, it’s an answer to a question that hasn’t been asked yet.
Network Explorer - more of the some .. very smooth UI. Searcg for “Ben Metcalfe”

Also rans
WPF Snowboarding Application - developed primarily using Expression Blend to create a unique experience around snowboarding. Utilizing GPS devices, data is recorded capturing all the details of a day on the mountain. NB: runs like a dog on my laptop .. really rubbish. Oh well.

December 14, 2007

FileWatcher 9 - Putting the reporting on hold and going back to the WPF monitor

Filed under: .NET v3.5, 5. WPF, Professional Development — Dax++ @ 7:30 pm

I had planned on widening the number of consumers of the Publish Subscribe event service .. instead I’ve gone back to the original WPF monitor.

I’ve been experimenting with various WPF GUI ideas all based around the following requirements:

- I want to be able to monitor multiple applications,
- these applications can reside on multiple servers,
- any given application can be composed of multiple sub systems, and
- each of these sub systems can generate multiple log files.

So I’m looking for GUI that can both group the various file events in a hierarchical manner but also not lose sight of whats actually happening within those different groupings.

So my first version was totally flat .. I could see all of the events occuring but there was no grouping .. no use what so ever when 20 different files from 5 different systems all updating many times a second.

I then tried using a tree view .. everything was organised nicely :) but the actual events soon disappeared.

[Pictures to follow]

So .. next I’m going to try and come up with a better UI metaphor; perhaps using windows style containers that can themselves contain other window containers. Reckon the containers themselves will need various decorators to help summarise the data they hold.

BTW during these graphical experiments I’ve refactored how the Views handled the event messages - this actually pushed some functionality into the IEventMessage interface and back into the message infrastructure. Which actually raises a question: if refactoring is changing the code (to a better design) but not changing the functionality of the system .. then where do you measure whether this functionality has changed? If I measured it from the users prospective then I was refactoring .. but if I measure it from, say, a consumer of the IEventMessage interface .. then I’m not refactoring I’m messing with the functionality. I want to blog a bit more about this effect and expand upon it; basically this puzzling question is a symptom of the dual nature of software development.

Next Page »

Powered by WordPress