Get Adobe Flash player
You are here: About Me > About my work > C#

I have been working with .NET since Visual Studio 2003 getting up to speed with the technology. During this time a couple of books were published in October 2002 using VB.NET. I was asked to contribute a couple of chapters for ASP.NET 1.1 Component Toolkit in 2005 again using VB.NET but this is where I realised that C# was probably the best way forward.

The following are projects that were not ASP.NET C# based.

Each of the systems detailed below are generic details as this would be potentially detailing company information.

Position and trade management system

It was with Visual Studio 2005 that I started a rewrite of a VB6 GUI application in to C# WinForms rewriting a near real time trading system towards the end of 2006 and through 2007 which was quite advanced before Lehman Brothers demise. The project allowed for position management, trade booking and management as well as static data and system management functionality (security, user management, etc).

The backend was Sybase and an ADO.NET connection was made with stored procedure executions and results sets returned via a generic C# component. An improved version used latterly) will be uploaded to the site. Check under Projects.

The position management was near real time where position changes were sent from Sybase via Tibco to an in-house in-memory database that then raised events that fired an update to the position screen. Again check under Projects on an example of how to achieve these at some point in the near future.

This conversion project was being completed solely whilst still working on my normal day to day duties.

The overnight batch for this system was in Java.

Reuters price feed (15 minute delay) system

A need was found to write a 15 minute delayed Reuters price feed system in C# to keep prices up to date in a Sybase database. This was written as a Windows Service which brought the challenge of how to debug as a desktop application but work deployed on a Windows Server. It had to event log errors, heartbeat to Sybase to indicate that it was still "alive", as well as listen to real time prices and update the database. This was achieved via multi-threading as well as pooling share price updates so that the database was not being hit with every price update. The system was written to log when a server rebooted and to start when the server commenced.

Process monitoring - WinForms

The Research team had a number of disparate processes that required monitoring that they were still processing. I designed and implemented a process where these processes would write a heartbeat to the Sybase database. A system was built that then checked that these processes were still alive within an individually defined set of criteria and when this failed, a notification was raised. This was a winforms system that ran on a desktop computer and used emailing to send out any alerts. The system also could deal with adding new processes to monitor as well as maintain existing items. This system dramatically reduced unknown long system outages and brought to the attention any issues very quickly to the team.

General Utilities

General utilities DLLs were written for different scenarios. There was a MAPI and SMTP emailer, an error handling routine that recorded errors either in a flat file, database or Event Log and finally a database handling routine. All of these will be available to see code snippets in the Projects menu in the near future. Each of these projects have WinForms testing systems as well