Is a B ENG Mechatronic Engineer

Click here for C.V Updated 14 March 2019  (or all previous versions found under downloads, re-written and updated 10 June 2018)
HTML/ JavaScript features - Specific functionality and features I have written.

What are modern programming languages are still missing?

Developer Blog Thoughts on developing, that attempt to move us forward.

Currently employed by Redblade Software

Project Description:

Work on the backend of a loan platform system that takes 6 minutes to process a loan until

the money is in your bank account and handles all billing interest calculations, debits, credits. billing.

Bug Fixes (Long Polling-Event Query, SFTP service) any other task, migration to typescript,

instrumenting code coverage, more tests and improved factory configuration to provide system

flexibility for swapping out subsystem with mock systems. Ideally allow one to run as many tests

locally as possible and then only certain sets, different build configuration, depending on 3rd party

support and cost of using their services. Developed a typescript framework we call JoiX (wrapper of joi),

that allows defining of runtime schema, while implicitly defining the typescript type constraints for

use at design time. This prevents us having to have any plugins or prepossesses, as it is natively

supported by typescript. It forms the base of our configuration loader with factories support framework.

Also written generic typings for mongoose database wrapper of mongo that are correct, instead of the

incomplete ones available on the internet, supports populate and deepPopulate, all modifiers with

defaults, so that the right types can be mixed, select and populate by path, all results type formats

are computed correctly automatically. See github, not all just there yet. Also revamped this to simplify

things drastically and allow runtime and typescript types to be define at the same time. It features an

adapter mechanism  were typescript is a first class citizen for defining the shape and structural form,

with an alternative approach to annotations for adapter specific configuration, for translation of schema

to different systems. Schema can also be partially defined index into a complete schema for runtime

database, ensuring all logic for unit code to work is in one place and not distributed all over the place.

The resulting re-write has 30% performance increase and seem to scale linear as opposed to previous

approach, that blew typescript compiler address space. Have come up with a new mechanism I call tail

recursive validation technique for typescript, that allow validation of recursive structures were the type

constraints vary with each nested iteration.

Uncovered a new approach to architect code structure for working with Amazon swf approach style,

that results in simplified contained units of work with all related code and lookups which can be type

checked across the board. Units of work are then index at compile time and are then used to assemble

a database schema with migration support and api endpoint code.

This approach should be suited to both c# dot.net with annotations and typescript, with 2.0 typing

enhancement for type extraction as above. The abstract pattern is suited to abstract data capture

and interrogation of capture data or potentially cross interrogation of captured data, were by a harnus,

will compile the database and maintain the database schema dynamically with version mutation support.

Each abstract unit can be used in swf type flow or own swf implementation or run on api interface as all

the same abstract pattern. front end is free to change the layout of the captured information.

This means that the system should remain maintainable at scale with high productivity and ability to easily

change the wiring as the whole system is type checked, can detect a problem at build time.

Also migrated system from typescript 2.8 to 3.2.

Many submission to the typescript communities and likes for improvements and solutions

Also solutions to improve on async/await pattern in all languages(hardware). https://github.com/dotnet/corefx/issues/30959

Mongoose Relation Types


Currently employed by Alphawave previously know as EMSS Consulting as a Software Engineer.

Click here to see the real details of work undertaken and examples.
  • IXUS SiteInspector (C# .net 2/4 Framework Backend, Android Frontend)
    Android mobile application, which is a cellular base stations data capture tool for compliance visits to sites,
    required work on both application and backend server written in C#.

  • IXUS Netcon Import (C# .net, EF Core Beta/ V1 and RX)
    (Base Station antennas and sites) import process for doing compliance.
    Live dump of all base stations antenna from cellular network into excel document.
    Implementation of a new backing database and scratch re-write of Phase 1 and Phase 2 import process,
    with implementation of export process 
    to the old system for yet to be re-written Phase 3. System was
    re-written on C# dotnet core starting with the early beta releases, makes use of async workloads.
    The system boast a full unit test suit and additional new reports

  • IXUS Simulation software (CAD in QT and C/C++) 
     - Features and some soap API changes.

  • IXUS Manager (ASP.NET, C#)
    - Changes to services and web frontend to fix bugs and upgrade of soap API changes.
    - Changes to services communication protocols and workflow sync processes for Site Inspector.

  • www.farmtracksa.com built using (NodeJS/Aurelia/TypeScript) for about a year now, while finishing off
    couple of netcon issues an site inspector issues, which all resolved by mid 2017.
    Click here to see 
    HTML/ Javascript Features - farmtracksa.com developed

Previously Employed by GLS Software with the title of Engineering software developer.

Work on Albion a sophisticated 2D CAD product for rendering GIS (geographic information system)

Website and archives of the site I have developed over the years.

CNC 2D Optimization - Masterwood 313 - 2008

Optimization of 2D rectangular grid pattern for position location (drilling/sub program) on a CNC that does not support
a to 2 axis drill command. Read more

One of the biggest limitations is being limited to 999 programs on a stiff and hard disk drive
as well as there being no ability to file programs descriptively or by function they perform. Read more

First developed due to the need of a simple free program that would facilitate the running
and setup of a gala once a year, to provide results, record breakers instantly at the end of a gala.
This being the requirement by Parel Vallei High School for their Inter-house. inter schools meet.
It was then later used to run Grey Dogs Swimming Gala in 2010. Read more

The program function is capture the basic essance of a product, store it and be able to easly
recall the information at in suitable logical format. So that a similar product could be accurately
manufactured,costed with minimal user input in matter of seconds and
eliminating the chance of error. Read more

Outlook Express does not allow for the ability to have roaming profiles, like Microsoft Outlook.
With some minor registry tweaks namely exports/imports of registry files on log on/off,
that can be easily set up in server 2000/2003 or any server software. Read more

This program provides you with a basic manner in which for you to connect to your
TMII (Team Manager 2) database,  through a graphic user interface to compile meet results
of swimming galas into a highly sophisticated HTML document, which would be easy to use
and upload to the Web.. Read more

Muffin is a simplistic death match, free for Half life 1 map, and one of those that you design, so
that it will at least compile so you and your mates can play in your creation. Read more