Archives

Development of Angular 2 single page web app in a Micro Services Architecture

Developed an Angular 2 single page web application and a number of micro services. Written in Typescript using NodeJs (NPM), Gulp, Sass/Less and  Karma/Jasmine testing. Used Sublime Text 3 and MS VS Code editors and a Git repository:

– database REST service offering up JSON written in Python3 using Alembic and Sql Alchemy against a Postgres database running in separate Docker containers;
– Auth REST service offering up Java Web Token (JWT) that includes a number of claims and an Access Control List (ACL) as well as checking against Active Directory. Written in Python3 running in a Gunicorn Docker container hosted on a Digital Ocean droplet;
– configuration REST service written in Python3 using an ETCD cluster of Docker containers which defines the configuration settings for all running services in any environment;
– API abstraction service layer using Kong running in a Docker container.

Provided technical support for a busy organizations’ three websites

Providing on-call technical support for the organization’s three websites. Made a number of improvements to the server configuration to improve site performance 10 fold and prevented site lockups during peak busy periods. Optimized queries to achieve overall site response to the user’s browser in under 2 seconds. Added Social media links. Setup proper site backup and secondary site for standby. Ongoing and numerous site improvements and fixes to problems and issues that occur as well as planning and executing periodic site upgrades as new vendor components are released.

Designed and developed a number of commercial websites

Designed and developed a number of commercial websites, some in Dot Net but predominately in WordPress because of the speed of development and ease of customization that it offers. Many of the sites include product catalogs and payment gateways, and two-way links to popular social media sites such as Facebook, Twitter and Google+. Provide training and support to enable customer to load and maintain their data. Provide tools and training and ongoing support in Search Engine Optimization (SEO) to help them score high on search results. Developed a number of specialized themes and plugins.

Continuing to providing hosting, health monitoring, traffic analytics and ongoing technical support and maintenance services for each of the sites.

Provided technical support for back-end servers

Providing on-call technical support and routine maintenance and for their server environment. Acting in a DBA role for their Sql Server and providing support for the development team by redesigning quires and stored procedures for performance improvements. Redesigned data import stored procedures and reduced processing time from 48 hours to 14 minutes.

  • Investigated and developed key performance improvements.
  • Carried out a capacity planning analysis and recommendation for site upgrades.
  • Defined DBA role.
  • Developed a work plan and instructions for database versioning by the development team.
  • Constructed a number of DBA scripts to maintain database performance.
  • Investigated and made recommendations for re-architecting their main product into separate customer databases.
  • Defined a Server Upgrade Proposal and carried out the installation
  • Defined and carried out the migration of their product to Sql Server 2012
  • Redefined database architecture to separate customer data into separate databases.
  • Defined a Backup Strategy that included offsite to Amazon Glacier Storage.
  • Defined a process for database versioning, source control and automated builds and developed working procedures for development team.

Developed a Social Media Website

Developed a major social network website to allow members to interact with each other based on activities that they can enjoy together. Also constructed server-side processes to search the internet and build a database of websites about activities and events. Developed screen scraper tools to extract event based information from the websites. Developed services to interact with Google, Facebook and Twitter. Developed an IPhone application to synchronize a personal calendar.

Defined Requirements for CANPASS Border Crossing System

Documented user requirements from interviews with business clients and regional representatives from Customs ports. Designed a Powerbuilder 5 client-server system for the CANPASS border crossing program for RCCE/Customs. The system included biometric components such as fingerprint and hand-geometry templates; data replication between distributed databases. Designed the interface to request data from the CPIC, PIRS, and NCIC databases for security clearance of applicants and travelers.

Programmed a PowerBuilder/MS SQL Server component to print identification cards on Datacard Printer, and encrypt and encode information on optical stripe on card back.

Developed a Voter Registration System for the Island of Jamaica

Led a team of analysts and programmers through the development of a large-scale voter registration system for the Government of Jamaica. The system captures voter information from scanned forms and over-the-counter services and produces Voter Identification Cards and official voters lists. The capture, processing and storage of digital biometrics such as scanned 10-print rolled fingerprints, livescan fingerprint comparison, photographs, and signatures were a particular challenge of this project.

Responsible for all database development in Sybase System 11 which included about 300Gb of data, 600 stored procedures, and the construction of a proprietary replication engine that installs as an NT service and uses a large modem-pool to maintain synchronization between the central site database and 65 remote databases scattered throughout the country. The team also constructed a 60-screen, PowerBuilder program that managed the registration process, and maintained voter data.

Defined Use Case models, Interaction diagrams and object analysis models in Rational Rose. Documented requirements from interviewing business clients. Maintained compliance with contractual requirements in Requisite Pro. Defined logical and physical model in ER-Win. Defined test plans in SQA Teamtest. Constructed stored procedures, and built a stored procedure generator to feed replication service.

Investigated production problems resulting from mistakes made by the prime contractor and prepared a briefing to executives. Maintained software problem tracking.

Constructed load and stress testing tools in stored procedures and DOS, to test critical components of the system such as database replication, and transaction processing. Constructed database administrator utilities in C++, DOS batch, and in stored procedures and using Sybase’s Bulk Copy (BCP) and ISQL utilities to automate the setup and upgrade of production databases and migration of system objects from integration test database. Found a means to encrypt stored procedures. Carried out performance tuning, by analyzing show plans and optimizing stored procedures.

Developed a Job Competition Website

Designed and developed a web-based HR Competition system as a pilot project for NDHQ. The system enabled applicants to register themselves for competitions that were posted and to take a series of pre-screening tests to qualify for the inventory pool. The tests were a combination of multiple choice, true or false and essay questions. Applicants were provided with their scores at the end of each test. The system was designed from UML use cases and programmed in ASP (VBScript/JavaScript/HTML) against a SQL Server 2000 database, and conformed to government online (GOL) standards.

Developed a number of Facial and Fingerprint Biometrics Applications

Developed a collection of systems for CryptoMetrics (Biodentity) that incorporated facial and fingerprint recognition technology into a variety of commercial and public applications. The work involved a wide range of technology from the development of low-level camera interfaces to extract facial images; manipulating the images to improve the generation of facial biometric templates; and matching the facial images against other facial images using commercial matching engines.

  • Area Perimeter System for the US Special Forces (USSOCOM) that integrated cameras at door entry points and hallways. The system extracted facial images from the live video streams and matched against a database to keep track of who was on-site and who had left the premises. The system also had the capability to match against a watch-list and generate alerts;
  • Camera control interface that automated the pan,  tilt, and zoom operation of a digital camera for the capture of high-quality cropped facial images for a Drivers License Bureau application;
  • Demonstration in Powerbuilder 8, of CryptoMetric’s face capture and image processing capabilities for the Canadian Passport Office;
  • Trusted Watch application for the Dubai Police Force, which streamed facial images from many cameras back to a central location for matching against a terrorist watch list. The system also demonstrated several aspects of a centralized control over a large number of surveillance cameras such as a dynamic area map (MS MapPoint) showing the location and status of each camera.
  • E-Served Hotel application that demonstrated facial recognition being used to recognize valued customers and retrieve customer preferences for a self-service kiosk at hotels;
  • MemoriesNow application that is being used on cruise ships and at amusement parks to locate all the photographs that were taken of a particular customer. In the kiosk mode, the customer’s image is taken from a video camera and matched against a database of pictures to produce a personalized photo album which can then be purchased.
  • PhotoFind School application that used facial recognition to identify students in school group photos. The application extracted each face in the group photo and matched them against a database of student Photo IDs thereby automatically providing the names of each student in the group photo;
  • Access Control system that used video cameras to extract a facial image at door entry points to verify the identity of a person attempting to gain access. The system would either do a one to many search to determine the persons identity or do a one-to-one verification from a card swipe or RFID card read;
  • Airline Gate Camera application that encoded the individuals facial biometric template when the boarding pass was issued and then verify the person at the boarding gate to ensure the boarding pass could only be used by the person it was issued to;
  • Airline verification kiosk application that verifies that the individual is the passport holder by comparing a live video image with the photo image on the person’s passport, using a passport reader.

Redesigned and Migrated an eCommerce Website

Backend developer on a project to redesign and migrate a large-scale (5 million user) commercial E-commerce website to the Microsoft Commerce Server 2007 platform for Brown Shoes (www.shoes.com). Constructed enormous set of database migration stored procedures. Rewrote Web Service stored procedures to improve query and update processing.