Intro

Bespoke software solutions provider/software architecture consultancy for the corporate sector. Builder of quality, redundant, scalable, flexible systems (specialising in microservices architectures).

Specialties: Sports betting and financial trading solutions, distributed applications development, inter-process messaging, third-party API integration, high-level architectural design, large-scale statistical analysis, .NET development. Check out a sample of our work.

Roles: Applications/solutions/systems architect, technical team lead, data modeller, data migration specialist, principal software engineer.

Work

Responsible for the architecture, design, development, deployment, and support of a distributed automated low-latency exchange horse racing trading system implementing a real-time trading algorithm based on runner probabilities. This system covered the three main sports betting exchanges: Betfair, Betdaq, and Matchbook. This was a solo effort, from start to finish, and I built the system from concept through to deployment and support, based on the same framework as previous sports betting systems. At peak, turnover through the system was around $200M per year.

Responsible for the architecture, design, development, deployment, and support of a distributed automated sports betting system. Working on the system on a full-time basis, the system was essentially "built from scratch" for one of the biggest syndicates in the Australian sports betting market, employing over 10 full-time staff, with an annual turnover more than $100M. My role included full control over the software architecture and data model, leading the development team, managing ongoing deployment of the live system and associated updates, and supporting the system 24 hours per day, 365 days per year. The system comprised over 50 inter-connected message-based applications, a 500 GB database with billions of records, and pushed out over a million message-based data updates daily to multiple client applications.

Re-architected/re-designed an alarm monitoring system that (still) monitors all branches and ATMs for one of Australia's major financial institutions. The initial system was deployed in 2006, with a major upgrade in 2007, and again in 2010 to migrate from a Windows-based GUI to a web-based GUI. The system comprises multiple logical and physical tiers, connected through a message-based framework implemented over TCP. System reliability is such that no server application has needed a restart since the last update 3 years ago, apart from that required due to infrastructure maintenance.

Tennis Match Simulations

How quickly can you simulate a tennis match by assigning each player a "known" winning serve percentage?

Well, if you try really hard, and use lookups and cram everything into the L1 cache, pretty darn fast!

I developed code that averages around 12 clock cycles per point (around 3 nanoseconds), and I performed 30 trillion (that's 30,000,000,000,000) match simulations, in a week, for differing winning serve percentages and differing "starting scores" for a standard 3-set match decided by a first-to-7 point tiebreaker (on a hosted server I run).

About

MC Software Solutions is run by Misha Charrett. Misha has more than 30 years' experience as a quality software engineer building complex systems with high reliability. Specialising in message-based, distributed, multi-threaded applications (built using a microservices architectural framework), Misha has an exceptional ability to distil complex multi-faceted problems down to simpler component-based solutions.

Elements

Text

This is bold and this is strong. This is italic and this is emphasized. This is superscript text and this is subscript text. This is underlined and this is code: for (;;) { ... }. Finally, this is a link.


Heading Level 2

Heading Level 3

Heading Level 4

Heading Level 5
Heading Level 6

Blockquote

Fringilla nisl. Donec accumsan interdum nisi, quis tincidunt felis sagittis eget tempus euismod. Vestibulum ante ipsum primis in faucibus vestibulum. Blandit adipiscing eu felis iaculis volutpat ac adipiscing accumsan faucibus. Vestibulum ante ipsum primis in faucibus lorem ipsum dolor sit amet nullam adipiscing eu felis.

Preformatted

i = 0;

while (!deck.isInOrder()) {
    print 'Iteration ' + i;
    deck.shuffle();
    i++;
}

print 'It took ' + i + ' iterations to sort the deck.';

Lists

Unordered

  • Dolor pulvinar etiam.
  • Sagittis adipiscing.
  • Felis enim feugiat.

Alternate

  • Dolor pulvinar etiam.
  • Sagittis adipiscing.
  • Felis enim feugiat.

Ordered

  1. Dolor pulvinar etiam.
  2. Etiam vel felis viverra.
  3. Felis enim feugiat.
  4. Dolor pulvinar etiam.
  5. Etiam vel felis lorem.
  6. Felis enim et feugiat.

Icons

Actions

Table

Default

Name Description Price
Item One Ante turpis integer aliquet porttitor. 29.99
Item Two Vis ac commodo adipiscing arcu aliquet. 19.99
Item Three Morbi faucibus arcu accumsan lorem. 29.99
Item Four Vitae integer tempus condimentum. 19.99
Item Five Ante turpis integer aliquet porttitor. 29.99
100.00

Alternate

Name Description Price
Item One Ante turpis integer aliquet porttitor. 29.99
Item Two Vis ac commodo adipiscing arcu aliquet. 19.99
Item Three Morbi faucibus arcu accumsan lorem. 29.99
Item Four Vitae integer tempus condimentum. 19.99
Item Five Ante turpis integer aliquet porttitor. 29.99
100.00

Buttons

  • Disabled
  • Disabled

Form