Curriculum Vitae

GAVIN DAVID CARADOC BAKER

 

Sex:

Male (single)

Town:

Cowes, Isle of Wight

Nationality:

British

 

 

Misc:

Full clean driving license.

Telephone Number:

07793 563 978

 

 

Mobile Number:

07793 563 978

 

 

 

 

Email Address:

endhousesoftware999@gmail.com

Web Page:

www.endhousesoftware.com

GitHub:

github.com/gavinbaker999

NPN (Package Manager):

 www.npmjs.com/~gavinbaker

 

 

Bio:

 

A portfolio of my main work can be found at  http://www.endhousesoftware.com/promosheets/promosheet.htm, and my project blog can be found at https://www.endhousesoftware.com/projectblog/projectblog.htm.

 

Experience of (Mirco)Python and Electronics includes,

 

·        PCB design using Easy-PC application

·        Pilot instrument console training aid - 8031 CPU

·        Design and Prototyping of a radio comms link (PIC 16C57 and Manchester Coding).

·        Renoir product development at Mentor Graphics - C++, VHDL and Verilog

·        Raspberry PI 400 and Sense HAT / GPIO projects

·        Weather station - Raspberry PI Pico and Anvil application

·        Home security - Raspberry PI Zero with a PIR sensor and camera

·        CamJam robot - Raspberry PI Zero

·        Arduino Mega projects

 

Experience of JavaScript/TypeScript includes,

 

·        Scripts on web pages including jQuery, React, Azure insights and Google analytics

·        Couple of NodeJS modules, hosted on NPM - https://www.npmjs.com/~gavinbaker

1.      A message queue store, used in Chatter Box

2.      General-purpose toolbox and utility modules

·        Exploring converting to the new ES6 modules from CJS modules

·        Jest testing library for unit testing

·        A GraphQL API server (EHS API) - Queries data in my local/remote MySQL and MongoDB databases providing data for my Admin Control Panel and Project Tracker applications

·        Chatter Box - https://ehschatterbox.herokuapp.com - NodeJS (with the express framework))

1.      Graphical custom aviators

2.      Graphical room backgrounds

3.      Background room sounds

4.      Room hotspots

5.      Private club rooms

6.      Speak and whisper text bubbles

7.      SignalR hub to process and distribute chat messages

8.      Chat message translation to 5 languages (pro version)

9.      Speak aloud and dictate chat messages (pro version)

10.   MongoDB backend

11.   Message of the day (Azure storage blobs)

 

 

Experience of .NET/C# to develop projects including,

 

·        Aladdin Update - Updates the data files for the Aladdin’s website. (Windows Forms App) - Not now used

·        Admin Control Panel - Reports on the status of my services, e.g., the SignalR hub. It uses the EHS API to query and display data from remote data sources. (Blazor Application)

·        Electronics Work Bench - A new project idea maybe using the Java VHDL/Verilog compiler and simulator as a backend. (Blazor Application)

 

Main Projects,

 

·        ChatterBox - Graphical chat application

·        Raspberry Pi Projects - Weather station, Home alarm system and various robotic projects

·        Job Control System - Allows me to track my project's tasks, costs, meetings, releases, etc. (Microsoft Access)

·        Project Tracker - Tracks product registrations, submission of support tickets and administrative functions (PHP)

·        Electronics Workbench - A new project idea (.Net Blazor)

·        Admin Control Panel - Reports on the status of my services

·        HDL Workbench - VHDL and Verilog hardware description language compiler and simulator (JAVA)

·        UML Workbench - Graphical UML data modelling simulator (JAVA)

·        EHSSupportBot - A webbot (with LUIS module), hosted on Microsoft Azure, to connect to the Project Tracker application. Allows, for example, us to send the phase �send info on <product> to <email>

 

Other main areas of experience include,

 

·        HTML, CSS 3, JSON, YAML and XML

·        Web Components, extending HTML Element and the shadow DOM

·        Responsive web design - CSS3, Container queries, Media queries, Flex Box, Grid, etc.

·        Unit testing using Jest (JavaScript) and PyTest (Python)

·        Application profiling - Chrome developer console, Azure insights, Google analytics, Log Rocket, Ray Gun, etc.

·        SE and promotion - Coding techniques, Word of mouth, Google search engine and Google Ads, Blog posts, Reciprocal links, etc.

·        Package managers used are NPM (NodeJS), NuGet (.NET), PyPi (Python) with Flit, Packagist (JavaScript), Composer (PHP), Crates (Rust) and Docker Hub (container images).

·        GitHub actions (trigged by a push to a GitHub repository) to run unit tests (e.g., Jest for JavaScript), check supporting services (APIs, SignalR hub, etc.) or to compose a Docker image

·        TypeScript

·        Python for Raspberry Pi development projects

·        Perl and PHP

·        Rust � learning

·        Stripe API for payment card processing

·        Twilio SMS for mobile messaging processing

·        Pushover service to send notifications to your phone from software

·        Magic Bell to send email, SMS, etc. notifications to users of your software

·        MySQL and MongoDB

·        REST APIs

·        SignalR

 

Experience of DevOps involves use of,

 

·        Main Linux software includes Python, Git, Samba server (backup server), Plex Media Server, CUPS, SSH, VNC and Arduino Mega IDE

·        SSH, VNC and FTP (for website updates, Linux box remote access, etc)

·        Microsoft Access - Job Control System - Project planning, etc.

·        Microsoft Excel - Budget planning spreadsheets, etc.

·        Microsoft Power Point - Presentations, etc.

·        GitHub for source code management - you can view my GitHub repos at http://github.com/gavinbaker999

·        GitHub actions to provide a CI/CD pipeline trigged by a push to a GitHub repository.

·        Docker Desktop for Windows, Docker CLI and Docker Hub to build containers containing NodeJS, Blazor, etc. applications and their dependencies to enable application isolation and as a means of getting new employees on-boarded faster with the required development environment. Also, a little Kubernetes experience

·        Microsoft Azure for the following,

1.      Storage blobs

2.      SignalR - Used at moment in ChatterBox

3.      Virtual machines

4.      Serverless function apps and logic apps

5.      Cognitive services (LUIS, QnA Maker, speech and language translation) - Language translation and QnA Maker are used in my Chatter Box application

6.      Application insights to provide various metrics for my applications

 

I enjoy working in small teams and with good time keeping, communication and organization skills can work well under pressure to meet project deadlines. I can take the initiative and responsibility for parts of the project, enjoying learning new skills which can be latter shared with other team members maybe even taking on a mentoring role. Over the last few years, with the increasing complexity of software deployment, I have also been involved in the role of DevOps to cover the tool chains need to build and deploy the software (including use GitHub for source control and GitHub Actions for CI/CD pipelines) and backup\hardware\software recovery plans.

 

Published Material:

The Bargain Hunter magazine - You & Your Computer Column.

Tech Exchange computer column in a local newspaper.

Letters published in Program Now - computer magazine and the journal of the MSDOS and CP/M user’s group.

Various other articles published (see website).

 

Planned Areas of Research:

Cross platform development with .NET MAUI (including the Android SDK command line tools) for Google Play Store, using React with NodeJS, Rust and Open AI.

 

Leisure Activities:

Programming projects, chess, reading/watching science fiction/crime dramas and listening to podcasts.

 

TRAINING COURSES

 

July 2021-May 2023

Premier Inn

Academy Online Training in food handling and processing, hygiene processes, front of house, cellar management, etc.

April 1992

Azonia Microchip

PIC Micro Controllers

November 1999

Learning Tree International

Advanced C++

August 2000

Doulos Trainning

VHDL and Verilog (hardware description languages)

 

WORK EXPERIENCE

 

2023-Current

 

 

 

2021-2023 (1 Year + 9 Months)

Jul23-Current

 

 

Jul21-May23

Yokogawa Ltd.

Software engineer – Cowes, Isle of Wight

 

Premier Inn – Royal Tunbridge Wells

Breakfast and dinner chef, record keeping, processing food deliveries and other kitchen duties. Academy Online Training in food handling and processing, Hygiene processes, front of house, cellar management, etc.

 

 

 

2021

(6

Months)

Jun21-Dec21

Duties:

Grub and Liquor pub – Royal Tunbridge Wells

Chef, record keeping, processing food deliveries and other kitchen duties. Left to concentrate on job at Premier Inn.

 

 

 

2002-2021 (20 Years)

Aug02-Jan21

End House Software Web and Program Design Consultant.

 

A portfolio of my development work can be found at http://www.endhousesoftware.com/promosheets/promosheet.htm.

My project blog can be found at https://www.endhousesoftware.com/projectblog/projectblog.htm.

 

Search Tracker - SEO For web pages - HTML and PHP

gavinbaker999/Projects

Project Tracker System - HTML and PHP - https://ehsphpapps.herokuapp.com/applications/devtrack/devtrack.php.

The Links Database = HTML and PHP

ehsphpapps.herokuapp.com/linksdatabase/webpages/linksidx.php.  

 

EHSSupportBot - An Azure webbot with a LUIS module. The beta version can be found on my homepage - http://www.endhousesoftware.com/.

 

Chatter Box - NodeJS (with Express framework) - ïhttps://ehschatterbox.herokuapp.com

·        Graphical custom aviators

·        Graphical room backgrounds

·        Background room sounds

·        Room hotspots

·        Private club rooms

·        Speak and whisper text bubbles

·        SignalR hub to process and distribute chat messages

·        Chat message translation to 5 languages (pro version)

·        Speak aloud and dictate chat messages (pro version)

·        MongoDB backend

·        Message of the day (Azure storage blobs)

 

Public Projects Github Repository gavinbaker999/Projects

Hardware Description Language Work Bench Github Repository (Based on my Java framework - Java and PHP simulation libraries) gavinbaker999/Java-Framework-Apps 

UML Work Bench Github Repository (Based on my Java framework � Java and PHP) gavinbaker999/Java-Framework-Apps 

Web Rings Github Repository gavinbaker999/WebApps.

End House Software GraphQL API Server (NodeJS and JavaScript) https://ehsapi.herokuapp.com/.

EHS Control Panel (Blazor Server App and C# - using the GraphQL server) gavinbaker999/Projects@main/dotNET_Projects/EHSControlPanel.

NodeJS Modules npmjs.com/~gavinbaker - A general support module and a message queue processing module.

Job Control System - A Microsoft Access database based job control system allowing me to track my project's tasks, costs, meetings, releases, etc.

 

Other Areas: GitHub actions to create CI/CD pipeline. Projects hosted on Microsoft Azure, Heroku and Google cloud. Design patterns, SignalR, Stripe, VHDL, Verilog, PHP, MySQL, C/C++, Perl, Python, Rust, and Java.

 

I have also been in the following employment during this period,

 

Valley Services Property Services - Spain

Duties include,

·        Website design, etc.

·        Customer service

·        Visiting properties to obtain photos and specifications

·        Sales assistant

·        Security

 

Aladdin’s Antiques and Collectables - Spain

Duties include,

·        Website design, etc.

·        Customer service

·        Stock control

·        Testing new electrical stock items

·        Managing stock display areas

·        Security (including opening/closing procedures)

·        Night security

 

Eagles Nest Restaurant - Guadalest, Spain

·        Duties include,

·        Website design, etc.

·        Front House Service

·        Barman

·        Food preparation

·        Washing up and keeping kitchen clean

·        Stocktaking and ordering

 

Heritage Homes - Spain

Duties include,

·        General handyman

·        Painting and decorating

·        Groundwork within the hotel and cabin complex

 

 

 

2001-2002

(1 Year)

July01-July02

Steve Arliss, AeroSystems, Yeovil Dorset

Registered under the British Secrets Act

 

Duties:

The Nimrod Fighter simulator project

 

 

 

1999-2001

July99-July01

Avtar Bahra, Mentor Graphics

(2 Years)

Duties:

Development of Renoir � Graphical entry of VHDL and Verilog

C++ and design patterns (singleton, visitor, command, factory, etc.)

 

 

 

1998-1999

Apr98-July99

Mike Owen & Kevin Holdford, Softel Limited.

(1 Year + 6 Months)

Duties:

Development of a 32-bit subtitling product � SWIFT 32

 

 

Design, Coding, Testing and Debugging

Visual C++ and MFC (32 Bit) with MKS source control.

 

 

 

1995-1998

Mar95-Apr98

Dr. Damitha Liyanage, Andrew Lester and Associates.

(3 Years + 1 Month)

Duties:

Development of an analytic and display tool for world-wide postal market research data and associated utilities. Visual C++ 1.5x and the Microsoft Foundation Classes (MFC). Carried out role of system manager for a couple months before new systems manager started.

 

 

 

1993-95

Dec93-Jan95

Mike Woolley, Pixel Innovations Ltd.

(1 Year + 1 Month)

Duties:

Microsoft Windows C++ Programming. Terminal Emulation product � TERMiTE 6.0. Visual C++ 1.5x and the Microsoft Foundation Classes, Multimedia Control Interface, Modem Auto Dialer, VideoTex Emulation, Edit Control validation and Install script.

 

 

 

1993

July93 - Nov93

Professor H.Ahmed, University of Cambridge, Cavendish Laboratory, Microelectronics Research Centre.

(5 Months)

Duties:

Microsoft Windows programming with Borland C++ (Graphs/Surfaces of simulated data, Installation software, Hardware Interrupts C++ and Object Window Library (OWL)).

 

 

 

1993

Easter Vacation

Ian Benson, Micro Power Electronics Ltd.

(29/03/93 - 16/04/93, 3 weeks)

Duties:

Design and Prototyping of a radio comms link (PIC 16C57 and Manchester Coding).

 

 

 

1991-1992

July91 - Sep92

Ian Benson, Micro Power Electronics Ltd.

(Degree Placement 14 Months)

Duties:

Participation in Design and prototyping of two embedded micro-processor projects: Flight Simulator (8031 CPU) Max Demand Indicator (PIC 16C57) C Programming Language and PIC Assembler. Hardware Design and PCB Design/Layout (Easy-PC).

 

 

 

1990-1991

Easter/Summer Vacations

G. Lee Vaughan, Surrey.

 

Duties:

Assembly and Calibration of the test instruments. Also Packaging and dispatch of test instruments.

 

 

 

1987-1990

 

J. Sainsbury Plc. & Waitrose

Vacations

Duties:

Cashier

 

EDUCATION AND ACADEMIC QUALIFICATIONS

 

1989-1993

University of Greenwich, London

BSc. (Hons) Computer and Communication Systems.

Third year in industry - see work experience section.

 

 

 

 

Degree Class Obtained:

2.1 (Hons)

 

Final year subjects:

Network Design and Optimization, Communication Systems, Advanced Computer Architecture, Distributed Computer Systems

 

Final year project:

Simulation of a SPARC I Processor Using VHSIC Hardware Description Language (VHDL) (Mentor Graphics Package running on a SUN IPX Workstation)

 

Second Year Subject:

Communications (B), Maths (B), Project Planning (B), Software Eng. (C)

 

First Year Subjects:

Computer Systems Architecture (A) Maths (A), Electronics (A), Business (B), Applications (B), Software Eng.(B)

 

1987-1989

Purley Sixth Form College, Old Coulsdon

 

1989

GCE 'A' Levels:

Electronics (C), Physics (D), Maths (E)

 

GCE 'AO' Level:

Maths (C)

1988

GCE 'O' Levels:

English Lang. (C)

 

GCSE Levels:

Electronics (C)

 

 

 

1985-1987

Purley High School, Old Coulsdon

 

1987

GCE 'O' Levels:

Chemistry (B), Maths (C), Physics (C), Biology (C), Geography (D)