Virtual Colour Systems
Port of large Silverlight C#/XAML app to Blazor C#/HTML
A large Silverlight application containing around 8,000 lines of XAML and 60,000 lines of C# required porting to a modern web hosted environment with maximum code retention. I ported the application to Blazor retaining around 80% of the C# code and modifying the remaining 20% to interface with the new UI and fix porting related code issues. Application developed in VS2019 using .Net 5 with Radzen and Smart controls, and Blazor Extensions Canvas
WPF/XAML/C# and Excel API
A system upgrade required Weir to change all of their world-wide accounting codes that were embedded in thousands of Excel spreadsheets used across six continents. These account codes were used in embedded Cognos Controller (CC) functions either directly, as potentially nested Excel references (across sheets) or nested within Excel functions. In addition, the CC functions could be directly nested, nested using a chain of Excel references, or nested within Excel functions; the CC functions supported optional parameters and the account code mapping were often not direct one-to-one but dependent upon a number of other factors (often other mappable parameters within the CC function). I designed and built a WPF application to detect and parse CC functions within an Excel workbook that handles all of these scenarios, the tool was deployed worldwide and successfully converted all Weir’s global Excel objects without any issues.
Winforms, C#, and SQL server development and optimisation
Scottish Widows internally developed and deployed a Windows & SQL Server based commercial banking application. I was specifically engaged to address database and application performance, and user issues including poor user perception. Worked with users to identify areas of concern, optimised and performance tuned the database and T-SQL queries, implemented caching and re-worked front-end screens. Succeeded in delivering an eleven-fold increase in the performance of the application (on the same hardware and with no reduction in functionality) and enhanced user satisfaction across the organisation.
Virtual Colour Systems
WPF, XAML, C#, Silverlight & Winforms
Virtual Colour Systems had developed a windows application using winforms that utilised a significant number of complex interpolation and extrapolation algorithms on data sets. It was determined that a large number of potential clients were Apple users and the solution needed adapting to provide access to this customer base. I ported the application to Microsoft Silverlight (WPF/XAML – originally v3) as this provided a single code base that could be executed on both platforms and still enabled local execution of the complex and time-critical algorithms that generated display information (the data had to be calculated and displayed in less than a second). I subsequently upgraded and expanded the application to Silverlight 4 and then Silverlight 5. Approximately 80,00 lines of C# and 8,000 lines of XAML
WPF/XAML/C#: Surfacing of TM1 reports on mobile devices
Ignis Asset Management
C#, finance and complex algorithm
Ignis had purchased a custom build application to provide decision planning for quantitative investment for a £30bn portfolio of funds. The system was to enable senior traders to specify house rules (broad, regional, country, etc.), benchmarks, exclusion mandates and fund specific rules to calculate target positions for all Ignis managed funds based on custom target calculation and breach resolution algorithms. Feeds from fund management systems (including ThinkFolio) provided actual positions of the funds including support for collectives, sub-funds and ACI funds; the difference is used to determine how the funds deviate from their target positions. The system then proposes trades (collectives, futures and direct stock) for funds with one or more deviations in excess of a user definable threshold (at the broad or regional level – either system wide or at the fund level) that balance the fund to zero or to a user-defined target deviation (either system wide or fund specific). However, the system was delivered incomplete and with issues, particularly with the core algorithm responsible for detected and correcting breaches and rebalancing the portfolio and a significant portion of missing functionality from the specification sent to the development company (mostly relating to options with the core re-balancing engine.) I was contracted by Ignis to address these issues due to my mathematical background and experience with complex algorithms and simultaneously train a permanent member of staff on the engine. During my 6 months at Ignis the issues were cleared, a significant portion of the missing functionality added and the support of the code successfully transferred to a permanent employee.
Student Loans Company
Winforms, VB.Net, Oracle and Excel
I was contracted by Student Loans to develop a time-sheet system for the IT department to replacing their existing system that has usability and performance issues. Their timesheets were complicated in that their personnel had to track their time against accounting codes that could vary depending on the individual, track flexi-time allowing monthly carry forward as well as holiday, maternity leave, and sick-time. Student Loans also wanted to upload their timesheets to an invoicing database to automate end-of month invoicing to clients. I replaced their multi-tab weekly time sheet with a monthly Excel timesheet significantly reducing object size whilst improving ease of use – this was achieved by direct liaison with the prospective users. Extensive event driven VBA logic provided a responsive and easy to use user interface. I developed a separate windows application to load and validate the timesheets, provide reporting support and administration services – each timesheet could be customised to a department area or an individual user. The solution proved so effective and popular that by word of mouth from the users the timesheet system replaced all of the other timesheet applications across all six departments.