Coding and Dismantling Stuff

Don't thank me, it's what I do.

About the author

Russell is a .Net developer based in Lancashire in the UK.  His day job is as a C# developer for the UK's largest online white-goods retailer, DRL Limited.

His weekend job entails alternately demolishing and constructing various bits of his home, much to the distress of his fiance Kelly, 3-year-old daughter Amelie, and menagerie of pets.

TextBox

  1. Fix dodgy keywords Google is scraping from my blog
  2. Complete migration of NHaml from Google Code to GitHub
  3. ReTelnet Mock Telnet Server à la Jetty
  4. Learn to use Git
  5. Complete beta release FHEMDotNet
  6. Publish FHEMDotNet on Google Code
  7. Learn NancyFX library
  8. Pull RussPAll/NHaml into NHaml/NHaml
  9. Open Source Blackberry Twitter app
  10. Other stuff

Fhem DotNet Ingredients - Source Control, Build and Integration Tools

This post is the first in a series of posts talking about the ingredients that have gone into the project so far.  I'm still acutely aware that there's no public code yet, but as a sort of stalling tactic, let me talk about some of the things that have gone into the project so far.  This first part is a look back at the first few days of the project, way back in November last year.

If we use a bread-baking analagy (a crummy analagy, I know), these ingredients are the standard essentials whether you're making .Net web-bread or Java app-bread - things like a bread tin (source control), an oven (continuous integration tools), a rolling pin (build tools), etc.  My next few posts will look at some of the later ingredients in the process, such as the tools I'm using for testing, exception handling and event logging, isolation frameworks , dependency injection, etc.

More...


Permalink | Comments (0)

Flashing a CUL device for use with FHEM - Thrilling stuff!

Hi all,

Bad things happening tonight - I've just succeeded in (almost) killing my CUL USB device, for the second time, meaning my FHEM server has been temporarily unable to talk to any of my FHT hardware.  Fortunately the next day I managed to rescue the situation, so here's two posts in one - the horrible "I've broken it!" moment, and the jubilant "It's fixed!" moment.

More...


Categories: FHEM
Permalink | Comments (0)

TDD - It may be driven, but it's not exactly directed

As some of you might know, and this blog will attest, I've been talking about doing open source work with FHEM for some time now - around 3 or 4 months now I'd guess.  As of yet, nothing's been published, and this isn't good.  I'll be honest, there's not been a ton of work going into this project (around 5 to 10 hours a week), but still, 3 months and nothing to show for it?  What the hell!?

When I think about it, there seem to be two big reasons for this this, the first I'm going to talkabout in this post, and the second in an upcoming post.  Where my testing problems are concerned, to spoil the ending a little, it does involve BDD with Specflow, but we'll come to that.

More...


Permalink | Comments (2)

Fhem DotNet - Let's Try That Again

Hi all,

I have a confession to make - my initial efforts to create a .Net FHEM front end have become mired in the deepest depths of geek porn - I've spent the last 2 months building the coolest (but mostly pointless) Fhem <-> POCO (Plain Ol' Code Object) mapper à la Fluent nHibernate, using all sorts of stuff I'd not really dug into before, such as generics, consuming lambda expressions, Moq-based isolation testing, fluent APIs, etc.

But so far, as much fun as it's been, I've got squat to show for it.  I'm as annoyed as anyone, I've been boasting about having this nifty central heating control thing, and when anyone asks about it up comes a Putty console, and suddenly it all seems just lame.  Plus it's pretty clear that at this rate, as soon as I have anything useful out the door, I'll be basking in a freak British summer heatwave, with central heating concerns a distant memory.

I've decided the way forward is to start with a clean slate and what I hope to be a cleaner methodology.

More...


Permalink | Comments (0)

.Net FHEM Front-End - Ingredients

Now that I'm about to start developing the front end, as well as potential features, let's talk a little about the "ingredients" that I'm going to need.

In this post I'm going to talk about the development and integration platforms (.Net 3.5 and Hudson respectively), a little about development methodology, the tools I'll be using for testing (NUnit, Rhino Mocks / Moq), and a few other bits and pieces (Log4Net, NAnt, Fluent NHibernate, Subsonic, etc)

More...


Categories: FHEM
Permalink | Comments (0)

.Net FHEM Front-End - Feature Brainstorm

Hi all,

I'm at the point where I feel my FHEM installation is sound - it works, it's logging the data I need it to log, I can remote into it and it looks like it's behaving, all in all it's a solid, friendly enough piece of software.  

So I want to shift focus to my planned .Net front end, and I'm sitting on the train each day, and on my lunch break each day, brainstorming - what can it do for me?  The following are my own thoughts, I'd love to get some more suggestions from anyone else with this kind of setup.

More...


Categories: FHEM
Permalink | Comments (0)

Configuring FHEM To Run as a Windows Service

So that FHEM is running constantly, even when noone is logged into my server, I'm going to try to get it running as a Windows Service, which I can configure to run as a particular user as soon as the server boots.

I'm going to base the some of the following on the excellent tutorial to install uTorrent as a service - http://www.deciphered.net/blog/2007/04/25/howto_install_utorrent_service_windows_home_server_whs_ctp, so many thanks to the original author.

More...


Permalink | Comments (0)

Troubleshooting Remote Access to an FHEM Server

Hi all,

A quick one tonight because I've just spent a good half an hour scratching my head over it!

If you're running an FHEM server, and you'd like to be able to access it via Telnet from a remote box, here are four quick steps you can take to troubleshoot any issues you're having.

More...


Permalink | Comments (0)

FHEM Setup on Windows Home Server - Part 2 of 2

In Part 1 of this tutorial, we installed Perl onto our server, we setup a CUL device and did some basic testing to prove the hardware was working and installed correctly.  In this second part, we're going to install FHEM, configure a basic FHEM setup and install the necessary add-ons to Perl to get it all working.

More...


Categories: FHEM
Permalink | Comments (3)

FHEM Setup on Windows Home Server - Part 1 of 2

For a few weeks now I've been running an FHEM installation on my laptop so I can play around with the software and get a feel for it, the time has come to install on our Windows home server.  Hopefully this will be a straight-forward process, let's see.

This first on a two-part series looks at installing the Perl environment, installing a CUL USB computer controller and testing the hardware using PuTTY.

More...


Categories: FHEM
Permalink | Comments (0)