Author Archives: simon

Getting familiar with a new code base

Last week, I was looking at the code for a project. I was unfamiliar with the domain, some of the frameworks it utilised, and its architecture. In addition to this, the project documentation is extremely limited or out of date, … Continue reading

Posted in Uncategorized | Comments Off on Getting familiar with a new code base

Copy spreadsheet as values

Mmmm, a VBA post. Hopefully there won’t be too many of these. Our system has an excel interface, and many models are built on top of this interface. The issue with this is that when the spreadsheet opens, it will … Continue reading

Posted in Uncategorized | Comments Off on Copy spreadsheet as values

Generate a Patch with Mercurial

This is more of a note to myself so I remember the next time I need to do it, but perhaps somebody will find this useful. If you are generating a patch file for a Mercurial project, it appears that … Continue reading

Posted in Uncategorized | Comments Off on Generate a Patch with Mercurial

Making the tedious exciting – Automapper

If you take it as a given truth, that you do not want your presentation layers to be exposed to Domain Objects directly, then you need some way of “mapping” them to a Presentation Model/DTO structure. Developers hate writing this … Continue reading

Posted in Uncategorized | Comments Off on Making the tedious exciting – Automapper

How I Learned to Stop Worrying and Love the DVCS

Frankly, I have been a touch cynical about the love shown in the .Net community for Git and Mercurial.  Sure, I thought, they might be better than Subversion, but how much better could they be? Surely, this was just effort … Continue reading

Posted in Uncategorized | Tagged , , | Comments Off on How I Learned to Stop Worrying and Love the DVCS

Compiling Objective-C on Windows via Command Line

I’ve been tinkering with Objective-C for a few weeks on my Mac laptop. I wanted to find out if it is possible to compile on Windows for when I don’t have access to a Mac. I just wanted to be … Continue reading

Posted in Uncategorized | Tagged | Comments Off on Compiling Objective-C on Windows via Command Line

What to Log?

People keep coming up to me at Christmas parties and asking me what I log in my applications. And I tell them: All unhandled exceptions, via an Application-wide exception handler Performance data for certain critical areas of the app In … Continue reading

Posted in Uncategorized | Comments Off on What to Log?

Asynchronous Ado.Net Log4Net Appender

As I mentioned in my last post, the out of the box AdoNetAppender in Log4Net is a synchronous appender. This may be fine for many scenarios, but in cases where you have some latency between your application and your database … Continue reading

Posted in log4net, logging | Comments Off on Asynchronous Ado.Net Log4Net Appender

Centralised Application logging via Log4Net

Logging is now an essential part of any serious application. It is crucial to get unhandled exceptions from production and development environments logged. This removes the necessity for users to provide error messages, and allows the developers to have access … Continue reading

Posted in log4net, logging | 1 Comment

Everything I know about building a responsive Windows Forms application

The more I read about multi-threading, the less I feel I understand. Perhaps a good rule is don’t write multi-threaded code, similar to the first law of Distributed Objects. Fortunately, all I am going to talk about in this article … Continue reading

Posted in UI, Windows Forms | Comments Off on Everything I know about building a responsive Windows Forms application