I love the smell of green unit tests in the morning 


Filed under: General on Friday, May 9th, 2008 by Jack Hughes | No Comments

Well, technically it’s afternoon but the reference to Whoops Apocalypse wouldn’t have worked otherwise. ;)
All green baby!

The tests for PowerTime have been green before, but the tests and therefore the functionality, have now progressed a lot further. There’s still plenty of way to go…but at least we’re getting closer. Things have progressed far enough to allow Dean to commence work on the PowerShell integration. The basic idea is to implement a PowerShell container provider so you’ll be able to interact with the database in a natural way.

Release dates? Not sure about that I’m afraid…there’s no point in releasing something that isn’t ready or isn’t at least minimally functional. So, until we’re confident that the software is robust enough to be trusted with your data I think it best if we don’t release it publicly.

Fortunately, we’re approaching the point when I can start implementing some really brutal tests that will really stress the database. If it passes those tests then it will be ready for its first release. I was contemplating a library release initially, but I don’t think that would be sensible.

More news soon!

Popularity: 4% [?]

Hub projects in open source network management 


Filed under: Network Management, Open Source on Thursday, May 8th, 2008 by Jack Hughes | 2 Comments

Almost as a doodle I thought I’d create a graph depicting the dependencies between a selection of open source network management projects.

Once I’d done it, it occurred to me how much just about everything depends on just a couple of projects or project variants of, RRDTool & Net-SNMP.

A Selection of Open Source Network Management Dependencies

The main conclusion I draw from the above graph is that if you wish to create a thriving platform for open source network management, you’d better have something like those two hub projects.

What is perhaps most surprising is not that there are hub projects, but that there are only two of them in the whole of network management. I think that there should be a lot more.

Popularity: 7% [?]

Whither Met Office openness update 


Filed under: General on Tuesday, May 6th, 2008 by Jack Hughes | No Comments

A couple of months ago or so I lamented the fact that the raw temperature data from the UK met office is not publicly available.

I’ve just received some further feedback from the Met Office.

I was partially wrong, there is a lot more information available than I thought. Here’s a quote with a list of resources:

There is a wide variety of historical information that is available on our website and information can also be obtained from our National Meteorological Library and Archive (see http://www.metoffice.gov.uk/corporate/library/index.html).
National monthly and seasonal climate data for mean temperature and rainfall can be found back to 1914, and for sunshine back to 1929, from the following link:
http://www.metoffice.gov.uk/climate/uk/2008/february.html
Monthly station data for a range of stations can be found from the following link and goes back to 1853 for Oxford.
http://www.metoffice.gov.uk/climate/uk/stationdata/index.html
The Central England Temperature (CET) monthly series goes back to 1659 and daily series back to 1772.
http://hadobs.metoffice.com/hadcet/
There is also a HadUKP monthly series available which goes back to 1766 and daily series back to 1931.
http://hadobs.metoffice.com/hadukp/
Much of the above information is summarised on the following page.
http://www.metoffice.gov.uk/climate/uk/about/archives.html

The problem, and the reason I’m only partially wrong, is that all of the above data is normalised and averaged. What I’d like are the raw readings from the weather stations themselves, information that is not available without charge.

On the one hand I can understand why the information is charged for. The government sees a service that they have to provide for the armed services among others and then wonders whether they can offset some of the costs by selling services on the side.

The main problem I can see is that innovation is stifled by restricting access to the raw data. At present the Met Office has a monopoly on the presentation and interpretation of the raw data. If the raw data is opened up then others would have the opportunity to present it in new innovative ways.

I doubt that opening up the data would adversely affect the Met Office. My expectation is that most of their commercial customers are not interested in the raw data, they want the interpretation that the Met Office provide. Wouldn’t it be better for the Met Office to win business not just because they are the only supplier, but because they are the best?

Competition is good, and the Met Office should welcome it.

Popularity: 7% [?]

Creating open source software using Microsoft’s .NET framework 


Filed under: Open Source on Friday, May 2nd, 2008 by Jack Hughes | No Comments

Whilst developing PowerTime (not there yet!), I’ve kept in mind the requirement that I need to ensure that the software can be built using only freely available tools.

Of course we will eventually provide an installer, but I like the idea that people can build the software on their own machine if they want to.

One way to make self building easier is to minimise the number of external dependencies required. To that end, everything is written in C# and only standard .NET framework libraries are used. No external libraries are required to create a functional build.

Build Environment

A free command line build tool is available with the .NET framework called MSBuild. The tool uses the same build files used by Visual Studio so duplicate maintenance of separate build scripts is not required.

Unit Testing

One area of .NET development positively overflowing with options is unit testing. A number of very good open source tools exist, including the excellent NUnit framework that I’ve employed.

Microsoft does have their own unit testing framework nicely integrated into the IDE, but it is only available to people who have stumped up for Visual Studio Professional 2008.

The only real problem with NUnit is that it isn’t integrated into Visual Studio. A solution is available through TestDriven.NET but unfortunately that is a (modestly priced) commercial product. Fortunately it doesn’t impact anybody else so I may buy it anyway because it would certainly improve my productivity.

A binary installer for NUnit is freely available so satisfying this code dependency shouldn’t be too onerous.

Development Environment

The following development environment options are available:

  1. Use the command line compilers supplied with the .NET software and use your favourite text editor; or
  2. Use the free Visual Studio Express IDE for whichever language you are interested in; or
  3. Use the (paid for) Visual Studio Professional; or
  4. Use the open source mono project on Linux with your favourite IDE.

Options 1 & 2 are not open source, but they are free. Option 3 is a paid for option and most certainly isn’t open source. Option 4 is completely open source and free. Only problem with mono is that it isn’t complete as yet. Mono has implemented most of .NET up to and including v2. For me that isn’t a problem because I’m targeting .NET v2 anyway. If you need features beyond v2 then you’d better look at the other options.

I’ve gone with option #3 because it is the most productive for me and I’ve already got the software. Fortunately using Visual Studio Professional doesn’t impact my goal of ensuring that anybody can build the code because if you haven’t got it you can use either MSBuild or Visual Studio Express.

Code Coverage Tools

One of the central tenets of unit testing is that you’ve got to make sure that you are testing as much of your code as possible. Believing that your code is being tested when it isn’t is far more dangerous than knowing it isn’t. That’s where code coverage analysis tools come in. Whilst a number of options exist (NCover & dotTRACE) for .NET developers, none are available for free.

Whilst JetBrains offers their IntelliJ IDE product for free to open source developers, I couldn’t see a similar offer for their .NET based products.

Again, whilst it would be nice to have a free high quality tool available to everybody there are no code dependencies to resolve with a code coverage tool. Those who have one can run it against the software without affecting those without it.

Conclusion

Nobody said that developing open source code on Windows was cheap. There are a wide variety of high quality tools available, unfortunately they cost money and most certainly aren’t open source.

Having said that, a viable development environment can be created either for free or cheaply. When compared, from an open source development perspective, to the Java environment, .NET doesn’t come out too favourably.

Perhaps Microsoft, if you’re listening, you could provide software like code coverage tools as a standard part of .NET just like you’ve already done with the compilers. Just very simple command line tools would be fine…no need to tread on the toes of the commercial ISVs.

Popularity: 12% [?]

If it works… 


Filed under: General on Monday, April 28th, 2008 by Jack Hughes | No Comments

…it’s not AI.

Funny. :)

Just ran across a great paper written by Eve Phillips documenting a history of artificial intelligence. Well worth a read. The title made me smile because my first job in IT was writing an expert system and it most certainly didn’t work. Must have been AI then. ;)

The above paper reference came from Dan Weinreb’s post Why Did Symbolics Fail?

If you ever want to start a company, you can learn a lot from reading “war stories” like the ones herein.

Alleluia to that, brother…or even if you just want to be a better engineer.

Popularity: 15% [?]

Microsoft myopia…update 


Filed under: General on Monday, April 28th, 2008 by Jack Hughes | 6 Comments

I complained in my recent Microsoft mypopia post that Microsoft had failed to support the main unit testing framework inside Visual Studio.

Happily, I’ve found a solution in the form of a Visual Studio add-in called TestDriven.NET. Now I can execute and debug my NUnit tests all from inside Visual Studio. :)

Just need a bit of wallet surgery first. ;)

Popularity: 16% [?]

RE: Why Only Two? 


Filed under: Network Management, Open Source on Friday, April 25th, 2008 by Jack Hughes | 7 Comments

John Willis over at IT Management and Cloud Blog posted an interesting post I’d like to reply to.

The key question is will “Enterprise” customers make an investment in companies like OpenNMS and Nagios with out the warm and fuzzy that “Software Companies” provide.

That’s certainly an interesting perspective John…

It isn’t that Nagios/OpenNMS aren’t hitting enterprise customers. It is the nature of the sale that is different.

Nagios/OpenNMS is more of a bottom up kinda sell. Network technicians use the projects without telling the higher ups and hopefully they can spring for consultancy and training later on after they’ve derived value from it.

The “mighty two” (Zenoss/Hyperic) sell in a more traditional “enterprise” way by going through the CIO and getting a “Big 4 lite” sale.

As impressive as OpenNMS, and Nagios have been bootstrapping themselves it is extremely difficult for them to compete at the enterprise level without the same kind of funding that Hyperic and Zenoss have.

Ultimately, If you are right, then the “mighty two” products should be substantially better, more feature rich than Nagios/OpenNMS.

What features in the “mighty two” aren’t available in Nagios/OpenNMS?

Popularity: 22% [?]

Power Round Robin Database progress 


Filed under: General on Tuesday, April 22nd, 2008 by Jack Hughes | No Comments

After a brief two week hiatus on the website (it was only supposed to be one) I am now back onto writing Power Round Robin Database with Dean.

I am currently in the never never land of broken builds and failing unit tests struggling for the time when everything just works again.

When things are green this time (end of the week hopefully) we’ll be pretty close to a release. Whether it will be close enough to release publicly I’m not sure. I doubt it.

With open source, as with pretty much everything else, every release has to solve a particular problem. In this case storing time series data.

Popularity: 20% [?]

Introduction to middle age 


Filed under: Off Topic on Monday, April 21st, 2008 by Jack Hughes | No Comments

Actor in makeupI passed the marker buoy on the journey to middle age last week. At least according to the Collins Dictionary anyway. Of course, according to the Oxford English Dictionary definition, I’ve got a further five years to go. :)

To celebrate I treat my family (all twelve of them) to a play at the Theatre Royal in York to see Twinkle, Little Star.

The protagonist plays a pantomime dame, for whom life hasn’t been altogether kind, playing his last ever season.

The play was expertly played by Kenneth Alan Taylor on top form. As good a 75 minutes straight of acting I’ve ever seen.

A review is available here and here. And there’s an interview with the writer here.

Popularity: 19% [?]

Chris Sanders on ARP poisoning 


Filed under: General on Wednesday, April 16th, 2008 by Jack Hughes | No Comments

Great post by Chris Sanders on ARP poisoning for protocol analysis. Well worth a read.

Popularity: 23% [?]