About
This was saved/printed from https://jai.ghostify.ca/ - please visit the site to view the full verison.
Hi, my name is Jai.
Computers and technology have been my main interests my whole life, starting with using BASIC on a Commodore 64/128 at the age of five. I was already the type that always took my toys apart and computers were a natural progression. I love technology and learning new things.
I've had the opportunity of growing up while the Internet was growing up. Logging on before the Internet crossed one million active users, I first signed on in late 1993, using DOS, dialing to a local BBS and using its "telenet" (brand) telnet gateway service - at first, all text-based systems and then eventually downloading WinSock and getting connected using the first Netscape version running on Windows 3.1. I attended to Alberta's first online school in its first years for Jr. and Sr. High and I have developed web pages starting from before HTML 3.2 was popular, up until now and have seen and been a part of all the changes since, from using tables for layout to today's niceties like flexbox.
Much of my experience has been running my own businesses and teams, mostly in the technology sector but also automotive. I operated Shaped, developing applications, mobile apps and websites, myself and with team members, until about 2015 when I wanted a change and started an automotive technology and engineering business, serving thousands of customers over the next five years installing remote starters and audio, designing and building custom subwoofer enclosures, designing custom power systems for trailers, building custom wiring harnesses, installing and tuning engine computers/modules and much more while being an official dealer for many premiere brands such as CompuStar, Pioneer & more.
My most recent experience was over two years employed at one of Canada's leading stable coin vendors and crypto-currency exchange. Challenges included managing and working with the development team, designing and managing the full infrastructure - including cyber-security concerns - for customer-facing services as well as internal developer services such as company VPN and CI/CD development services. Was available on-call 24/7/365 to ensure high-level uptime and quick response for any issues. Wrote internal software for managing transactions, specifically for reverse-engineered integration with Interac and its E-Transfer system - which had no available APIs at the time - which improved transaction processing time from 2-5 minutes to under 8 seconds, with my software reliably processing over $116,000,000.00 CAD in transactions, quickly and accurately along with full database-level auditing for accounting which logged all database changes (like git) and logged all changes - regardless whether they were made by any code or database administration tools.
I love and am always open to learning new things and am always striving to keep up to date with the latest technologies. I enjoy building things and love watching projects come together.
I'm looking for somewhere where I can learn, grow and contribute; where I can fit in and be part of a team that creates; a team that can benefit from my experience, knowledge and time; and ultimately, a team I can be proud to be a part of.
Skills
General Skills
- Software Development
- Developing software for all types of platforms and end targets, in various languages. Front end, back end and UI development.
- Web/App Development
- Building apps and websites from scratch, including the entire web platform/CMS/templating system, back-end and front-end as well as doing integrations with 3rd party systems and platforms like oAuth, PayPal and more.
- Cloud & Developer Systems Design & Administration
- Extensive experience with servers and infrastructure, networking, cyber-security, cloud providers (such as AWS, Azure, GCP). Have designed and managed full company-wide infrastructure including developer CI/CD systems, team interaction and planning software, source code control systems and providers (such as GitHub and GitLab). Extensive experience with Kubernetes and AWS products.
- Sound & Audio Engineering
- From producing electronic music to recording, mixing, mastering and delving into the technical aspect of audio such as room treatment, designing custom enclosures and more, sound engineering is a serious interest of mine.
- UI/UX Design & Development
- Applications need user interaction and an interface goes beyond what the user or customer sees on the screen, devleoping successful user interfaces and user experiences requires having a deep understanding of various types of software, good planning and a solid knowledge of your end user - even if that requires testing.
- Firmware Development
- Developing hardware devices that work in the real world requries them to be programmed in a way that works. Often, a device will never have the opportunity to be updated - so testing and making sure it works when shipped is crucial.
- Server & Systems Administration
- As a creator of many of my own apps and working with small teams, it's always been fundamental that developers also have a deep understanding of the architecture their apps will run on, especially in the cloud and with scalable technologies - thus I have a good understanding of managing deployments and scaling, especially on Linux-based servers and cloud providers.
- Database Design & Administration
- Applications use data, constantly. Data is what makes most applications useful in any respect and developing applications from the ground up for me has always involved also developing the database design & schema and managing/administrating the database through the applications lifetime.
- Network Design & Administration
- The majority of my development has been with internet facing web-based applications, thus a solid understanding of network design has always been needed. From running a null modem cable between two 486s to play Doom to the first 10baseT networks (with terminators!) to todays 10gbE+ optical networks and software defined cloud networking, I have experience with it all.
- Facility Infrastructure/Security Design
- Working as a low-voltage electrician and security camera designer for a few years, I have experience with installing networks, cameras and access control systems in buildings, including budgeting and designing camera layouts, network layout and racks and door and access control.
- Electrical Engineering, PCB & Product Design
- I enjoy making hardware and love seeing a project come together from scratch. I've had the opportunity to design more than a few different PCBs for use in projects and am always looking to expand my knowledge. From the initial idea, to sketching a schematic, laying out the PCB and eventually soldering it up and loading the first firmware is something I enjoy and have experience with.
- Automotive Electrical & Engineering
- Many of the electrical projects that I've worked on have targeted automotive applications and aside from that I have experience running an automotive aftermarket business for several years and am familiar with most automotive technologies including flashing ECUs, CANBUS communication and more.
Technical Skills Details
Programming Languages & Platforms
| Language | First Used | Proficiency |
| Go | 6 years ago | 5.5 |
| C/C++ | 30 years ago | 7 |
| Assembler (x86/x64 ASM) | 26 years ago | 5 |
| Assembler (Other Architectures) | 21 years ago | 6 |
| C# | 14 years ago | 6.5 |
| Objective C | 14 years ago | 6.5 |
| PHP | 23 years ago | 9.5 |
| Perl | 25 years ago | 7.5 |
| BASH/zsh/Shell Script | 27 years ago | 7.5 |
| JavaScript / ECMAScript | 27 years ago | 9.8 |
| Java | 25 years ago | 7 |
| NodeJS | 14 years ago | 7 |
| SASS/SCSS | 11 years ago | 8 |
| TypeScript | 10 years ago | 7 |
| Python | 11 years ago | 5 |
| WebAssembly | 7 years ago | 5.5 |
| BASIC (8-bit) | 33 years ago | 5.5 |
| SQL | 27 years ago | 7.3 |
Operating Systems & Platform Architectures
| System | First Used | Proficiency |
| Microsoft Windows (all versions) | 33 years ago | 9.2 |
| DOS | 35 years ago | 9.8 |
| MacOS (all versions) | 30 years ago | 8.8 |
| Linux (multiple distros) | 30 years ago | 9.89 |
| RTOS / Embedded / Realtime | 15 years ago | 8 |
| FreeBSD | 24 years ago | 8 |
| Solaris / SPARC | 24 years ago | 7 |
| OS/2 Warp | 29 years ago | 4 |
| x86 / x64 | 33 years ago | 9 |
| ARM | 17 years ago | 7 |
| NXP IMXRT | 7 years ago | 9 |
| ATMEGA | 11 years ago | 8 |
| RISC | 24 years ago | 5 |
| RISC V | 6 years ago | 4 |
| PowerPC / Motorola 68k | 25 years ago | 7 |
| OKI 66k | 11 years ago | 7 |
| Raspberry Pi & Similar SoCs | 10 years ago | 8.2 |
| nRF52840 | 10 years ago | 8 |
Networking / Vendors / DevOps
| System/Vendor | First Used | Proficiency |
| Cisco | 15 years ago | 6.5 |
| HP/Aruba | 15 years ago | 6.5 |
| Ubiquiti/Unifi | 6 years ago | 9 |
| IP Networking (TCP/IP, UDP/IP) | 30 years ago | 9.8 |
| IPv6 Networking | 20 years ago | 8 |
| VoIP / SIP | 20 years ago | 7.5 |
| pfSense | 17 years ago | 9.5 |
| Git | 17 years ago | 8.2 |
| GitHub | 13 years ago | 7.5 |
| GitLab | 8 years ago | 9.5 |
| SSH, SSL/TLS, Secure Protcols | 28 years ago | 9 |
| Apache Web Server | 28 years ago | 9.5 |
| NGINX | 20 years ago | 8 |
| Azure Cloud | 7 years ago | 6.8 |
| AWS / Amazon Web Services | 14 years ago | 9.7 |
| GCP / Google Cloud Platform | 8 years ago | 7.2 |
| Docker | 11 years ago | 8.5 |
| Kuernetes (k8s) | 9 years ago | 8.2 |
Software / Frameworks / Libraries
| Program/Vendor | First Used | Proficiency |
| React Framework | 10 years ago | 6.4 |
| Electron | 10 years ago | 5.5 |
| Express.js / Fastify | 9 years ago | 8 |
| Cordova (PhoneGap) | 16 years ago | 7 |
| jQuery | 16 years ago | 9 |
| FreeForm Framework | 24 years ago | 10 |
| Adobe Premiere | 25 years ago | 7.5 |
| Adobe Photoshop | 27 years ago | 8 |
| Blender | 10 years ago | 6.8 |
| Maya | 20 years ago | 5.8 |
| 3D Studio Max | 20 years ago | 7.8 |
| Autodesk AutoCAD | 28 years ago | 6.5 |
| PlatformIO | 7 years ago | 7.5 |
| Solidworks | 12 years ago | 6.9 |
| Autodesk Fusion 360 | 7 years ago | 5.3 |
| Steinberg Cubase / Nuendo | 30 years ago | 9.5 |
| Apple Logic (formerly Emagic) | 25 years ago | 9.5 |
| Autodesk Eagle | 8 years ago | 4 |
| Unity | 11 years ago | 6 |
| Unreal Engine | 9 years ago | 6 |
| Altium Designer | 7 years ago | 4 |
| Ableton Live | 16 years ago | 7 |
| Room EQ Works | 12 years ago | 8 |
| OBS Studio | 10 years ago | 8.5 |
| Waves Plugins Suite | 20 years ago | 9 |
| Visual Studio | 25 years ago | 7 |
| VScode | 7 years ago | 7.8 |
Open Source
keiboard.js
keiboard.js (view on github.com) is a pure JavaScript on screen keyboard intended for kiosk/embedded apps.
See the Pen keiboard.js Example by Forbidden Era (@forbiddenera) on CodePen.
More Open Source
sortable.js
sortable.js (view on github.com) is a helper for easy table sorting for webpages - and - you're looking at it! As an example, all the sortable tables on this page are handled by sortable.js.
Sorted tables can be implemented with no additional code once the script is included. Alternately, you can trigger a sort on any table at any time using your own custom sorting function if needed.
webusb-ftdi.js & Google's WebSerial Polyfill
webusb-ftdi.js (view on github.com) is a pure JavaScript WebUSB implementation of a driver for FTDI USB-to-Serial devices. FTDI did not want to make a JS driver available, nor were they willing to provide the required information, so the driver was reverse engineered - mostly thanks to the Linux kernel driver.
Google has expressed interest in including portions of my driver in their WebSerial polyfill (view on github.com), particularly to enable FTDI devices to work via WebUSB on Android devices in Chrome and other browsers since WebSerial is not implemented on Android. Once I can ensure Android compatibility, I will attempt to incorporate the driver as part of the polyfill and make a PR for inclusion as it's not ideal for the polyfill to require a third-party dependency (my driver) just to support one device class out of of many, thus needs to be re-written as an integral part of the polyfill.
amdpwrman
amdpwrman (view on github.com) is a Linux bash script for managing AMD GPUs from the console. It's a very simple script with no dependancies (other than the amdgpu driver) that allows management of power targets and fan speeds for multiple GPUs.
This is primarily used for controlling banks of GPUs in mining or AI traning scenarios while enabling control with a smaller host image due to not requiring additional external dependencies.
sharedDedicatedWorker (Polyfill)
I wrote a SharedWorker polyfill/ponyfill (view on github.com) to enable SharedWorkers on all browsers and for other scenarios where it would not be available.
SharedWorkers are useful for websites/webapps that need a single worker to be shared amongst multiple tabs or windows. In many cases and most browsers, one can simply use the native SharedWorker implementation. However, on other browsers such as Chrome on Android or in other scenarios, such as Private browsing in Firefox, SharedWorkers are not available.
This fill enables the use of a standard dedicated worker in these scenarios to seemlessly act like a standard SharedWorker, allowing the developer to use SharedWorkers without worrying about them not being available in some scenarios.
To implement this, the polyfill will detect if SharedWorkers are available and if not, will start a single dedicated worker in the first tab/window that requests a worker. When a second tab/window opens and requests a worker, normally with SharedWorkers, it would just get a port connecting to the initial SharedWorker instead of starting one for each tab - when SharedWorkers aren't available, the polyfill emulates this functionality using Broadcast Channels. Since the worker isn't shared, the polyfill needs to run a worker shim for each tab which uses leader election to ensure that only one copy of your actual worker script runs at a time and ensures that if the tab the worker is running in closes, that a new one is started in a remaining tab.
Projects
CWA-WP Controller
Designed a custom controller for CWA waterpumps allowing interfacing with many aftermarket/programmable ECUs or can be used standalone.
The controller reads a temperature input and outputs the appropriate signal to control the pump based on the programmed temperature/duty cycle map.
The module can be programmed in-browser (desktop and mobile) with WebUSB allowing precise configuration of pump speed vs engine temperature.
FlexFuelIO
FlexFuelIO is a module I designed for converting the output from common GM flex fuel analyzers to an input that's usabe for most aftermarket or programmable ECUs.
Developed the firmware with support for in-browser (desktop and mobile) firmware updates and configuration via WebUSB.
The module also has flexible inputs/outputs for additional datalogging features and integration with specific ECU software.
OneDollarTemplates.com
OneDollarTemplates.com was a website developed to market high quality but low-cost valid HTML/CSS templates for use with various websites. The templates were designed by professional designers who received profits from their template sales. The goal was to offer templates that were a big step above what free sites offered at the time while still being cheap, fully validated (HTML5 killed validation) and accessible to everyone.
This site was a full build from scratch including a full administration control panel and content management system as well as a full PayPal payments with a PCI-DSS direct web integration using PayPal's Java libraries from PHP.
Templates included basic pages including a full style playground and an example contact page. Users were able to keep up to date with newly released templates through the automated RSS feed.
Site administrators were easily able to upload new templates which were automatically verified and packaged into a standard format, easily track and view sales and statistics as well as generally manage the content on the site.
After many years of solid service, the web evolved quite a bit gaining a huge focus for mobile and the owner decided to move on; thanks to archive.org - we can still go back and see what the web was like.
Torque Sensing System
I have designed torque sensing systems both for automotive racing use and construction piling use. These systems required over a year of dedicated research and development, testing different methods for data acquisition, noise filtration, wireless mesh transmission, slip ring testing and more.
To measure torque, a very small signal from a strain gauge is filtered and cleaned up and then read from a strain gauge attached to the shaft a reading is desired from. This signal needs to be filtered, amplified and relayed wirelessly from a custom PCB with custom firmware to a datalogging and human/machine interface (HMI) system.
The HMI/datalogging systems are also custom, running a webapp on embedded Linux and have the ability to push data to a central cloud server for immediate viewing and manipulation through a web-based administrative control panel.
ShoutCAST & IdealSound Radio
Around the time that Nullsoft was acquired by AOL, I was working with the Nullsoft team to port to Linux and other platforms and add additional functionality to the sc_trans (ShoutCAST Transcoder) project which initially was developed to run on Solaris.
I had completed the porting to Linux and some updates to the project that were released to the public. Unfortunately, shortly after, AOL reduced funding for Nullsoft while also restricting access and contribution from remote developers. After this, Nullsoft and ShoutCAST were sort of swept under the rug with only the original team performing any further development focused primarily on the final releases of Winamp.
Being a developer and contributor to the core technologies that powered internet radio at this time, I also owned and operated my own popular streaming internet radio station with several channels, our Drum'n'Bass channel was the most popular and before it's closure was competing for largest/most popular station in the world with BassDrive.
Hobbies
Racing Game
A racing game developed in my spare time with Unity. Physics engine simulates tires with the Pacejka magic tire model.
While I would absolutely love to finish this game and bring it to release, the unfortunate reailty is that I feel that the game really needs to have vehicle models that are actually cars available, this requires licensing from the largets automakers which is something an individual developer doesn't have the resources to acquire.
It was still a fun project to put together and I learned a lot about building games and developing physics engines.
Music Production & DJ
I've been interested in sound engineering and music production, especially electronic, almost my entire life. I had the chance to play around with some of the original sequencing software on my C64 (such as Steinberg 16) and while a bit lost as a kid, it still sparked my interest.
I've been seriously producing and DJing electronic music for at least 20 years and I have experience with all sorts of digital audio workstation software, mixing software, recording, mixing consoles and other hardware including synthesizers, audio plugins, MIDI, DMX & OST protocols and much more.
Cars & My GS-R
I've always been intersted in cars but didn't really get into them until I was a bit older, although since, like anything else technical, I couldn't resist just taking everything apart. Yes, I was the kid who always took all his toys apart. Now though, I have intracite knowledge of how engines work from deep knowledge of tuning theory, the electronics that run them as well as building engines.
I run a small side business, Ghostify Performance to represent the modules I am building and bring them to their niche market, including manufacturing, sales and customer support.
I am also the proud owner of a very rare 1993 Acura Integra GS-R. It's a classic Honda from the pinnacle of Honda's Formula One days; often called NSX Jr., as it was the first affordable car with VTEC in North America aside from the NSX. Only 255 of the exact model I own were produced (93/Canada) with only ~5000 being produced for all years & markets.
Just how amazing of a car the Integra was is shown in the fact that Acura has decided to bring the Integra back this year, just like they brought the NSX back a few years ago. Many people will gladly say that the Integra was one of the best driving experiences they've ever, especially from a FWD car and I completely agree.
I am working to fully resto-mod the car, including a full original engine rebuild upgraded to be turbocharged as well as fully designing the turbocharing system and accompanying intake charge air cooling system. The car is upgraded to be flex-fuel capable with my own controller design, waterpumps run from my own controller design and will also have upgraded electronic power steering running my own controller.
Contact
Want to get in touch?
You can send me an e-mail, jaiidealsound.ca.