Verified Expert in Engineering
The most amazing...
...thing I've written is the first real-time tracking system (AI) used on live TV in 1995.
Senior Software Developer
Made to Order Software Corporation
- Handled many Drupal installations and created our own Drupal service.
- Created many PHP modules to extend Drupal 6 and sold them on Made to Software eCommerce website.
- Built a module to prevent the pounding of a website that happened several times. It would keep track of the IP address of clients, and if too many hits were received in a short period of time, it would block further access to the website immediately.
- Implemented a module to accept eCommerce payments with PayJunction. This included REST API commands and required encryption.
- Built websites for customers, including a radio station, a private school, and a digital office system.
Go and C++ Expert
- Worked on an implementation of the MP3 encoder and decoder in a multithreading environment, accelerating such processing by up to 24× on large files (1h long audio). (C/C++) Also worked on the ad server with VAST support in Go.
- Used Jira, Confluence, Coda, Google Docs, GitHub (GHE), Backstage, CircleCI, Kubernetes, New Relic, PagerDuty, and a few others.
- Worked on MP3 code. When the MP3 code above was first published, it helped add several million ad prints per month. A later version, which had the full support of any format as input, again increased the number of ads served by ten of thousands.
Virtual Entertainment Video Wallpaper
- Wrote a patent describing the technologies behind the video wallpaper.
- Drew figures for the patent using OpenOffice.
- Tested various settings to handle a high volume of video streaming using TCP and UDP.
- Tested various real-time image manipulations.
- Communicated with other C-suite personnel to ensure the patent filing deadline was met.
- Developed full-stack features. The project includes a watchdog, firewall (we automatically block IP addresses we view as dangerous), email management, multi-computer lock, cluster manager, and backup.
- Created a watchdog that verifies that the system is running smoothly and sends emails whenever it detects problems such as the need to upgrade system packages, high memory usage, disk drives being full, a process using 100% of the CPU, etc.
- Built a multi-computer lock that starts once there is a quorum of computers available (if N is the total number of computers, the quorum is N / 2 + 1). With a quorum, it can elect three computers as the computers that will allow locking through the cluster. Then the three computers use a bakery algorithm to handle the locking. This makes it very stable as any one of those three computers can go down (i.e., maintenance requiring a reboot) and the locking mechanism continues to work as expected.
- Developed a snapfirewall that adds (and removes) IP addresses to the iptables under Linux on all the computers of the cluster. So if we detect a client trying to access a page which we do not have (says /phpmyadmin) we immediately broadcast that IP address on our cluster and all computers will have it blocked for a year. Remember that hackers will have all your front-end computer IP addresses so they all need to be protected at once to avoid black-hat hackers from taking over.
- Worked with a CSS3 compiler (csspp) which allows me to compress CSS from C++ using the libcsspp.
Senior Embedded Software Developer
Volcano Corp/Philips (Healthcare Company)
- Converted the FFR from the DSP-based version to a full software version accessing an FPGA instead of the DSP. This was with Visual C v6.
- Fixed the library setup so we could use ONE set of flags to compile the entire environment (about 40 projects). This helped streamline the testing processes.
- Integrated the FFR with the IVUS so it can run on the same computer: you can switch between both technologies with a single click.
- Made the IVUS output work on an embedded device (it uses a processor similar to a smartphone computer) using assembly language because the OpenGL driver could not do it fast enough. I used the Intel SIMD 4.2 instruction set to reach the goal.
- Implemented an on-screen keyboard with support for all existing keyboards (as defined in Microsoft Windows.) To the users, it looked like they were receiving key events as if they were using an external keyboard, making it very easy to use.
- Worked on fixing many bugs to improve the stability of the system. This included very difficult-to-find bugs involving multiple threads, hardware, and slightly changing timings between systems (which would happen on upgrades).
- Ported the system from Windows 98 to Windows 7. Rewrote the installer completely, switching the database from Microsoft SQL Server to MySQL.
Virtual Video Wallpaperhttps://www.youtube.com/watch?v=Gxz1cDYQIPg
Because of the way the software is built, this CMS truly has the capability to grow horizontally. It supports any number of front end computers which can supports heavy incoming load. The server itself can reside on a back-end computer. The system includes many back-end processes that run on separate computers to not cause trouble on the front-end computers. The Cassandra nodes are all expected to run on their own separate computers.
The OpenSource core modules include a firewall manager, a watchdog to check the health of your entire cluster, an administrator front end, 50+ plugins to select per website functionality, a multi-computer crash impervious lock system, database backup (on top of the Cassandra replication), advanced RPC daemon, many built in security features (anti-pounding, instant block of IP addresses on entire cluster, Fail2ban, Tripwire, rkhunter, settings of Postfix, Apache, and Bind9 tweaked on installation to ensure PCI compliance, anti-virus), CSS compiler/compressor, REST, OAuth 2, and more.
The compiler is more or less replicating the Sass compiler. It supports variables, includes, multi-level blocks of CSS, etc. It also compresses better than many existing CSS compressors ("minifiers").
The compiler is also stringent on the syntax which makes sure that your source is correct. It also has the ability to expand or select rules so the final CSS works on more browsers (you could compile separate CSS files each for a specific browser.)
The compiler comes with a large set of tests which covers 100% of the code to make sure most cases are covered (see the "COVERAGE" link under Maturity).
All the features are also fully documented through Doxygen.
I worked on the patent, research, and implementation of the software tracking system which was artificial intelligence (albeit basic).
The system was sold to Weather Central which offered it with their system to many (100+) television stations around the US.
I have a video with Steve Raleigh, the weather caster of KRON 4 at the time. This is an early version. Steve says my name near the end of the video. The station had around 1 million viewers at the time.
I worked on the Eagle Eye, including development, bug fixing, writing unit and integration tests, and running performance tests.
.NET, Boost, Redux, Express.js
jQuery, Log4cpp, Standard Template Library (STL), OpenGL, ImageMagick, Node.js, React, jQuery Plugins, jQuery UI
WP eCommerce, NSIS, CMake, Postfix, Excel 2010, Microsoft Word, Open Office, Microsoft Access, Subversion (SVN), Microsoft Visual C++, Apache, Perforce, Git, Microsoft Outlook
Unit Testing, REST, HTML DOM, Concurrent Programming, Agile, Load Testing, Functional Programming
Apache2, Windows, Linux, Drupal 6, WordPress, NVIDIA CUDA, MacOS, Amazon EC2, Kubernetes, Ubuntu
MySQL, NoSQL, Cassandra, Database Performance, PostgreSQL, Elasticsearch, Memcached
PCI Compliance, Security Testing, Performance Testing, Integration Testing, Doxygen, FTP, SOAP, Localization, GUI, ZIP, Videos, Vector Images, Image Processing, Images, UDP, TCP/IP, RPC, Networks, SSL, SSH, Web Application Firewall (WAF), Firewalls, SIMD, Access Control, Website Performance, X11, Library Architecture, Multithreading, System Security Developer, Image Processing Software, Module Development, English-French Translation, BIND9, HTML5 Video, Audio, PHP Extensions, Adaptive Design, Performance Analysis, Algorithms, Elassandra, MP3, Ajax, Networking, TCP, Artificial Intelligence (AI), Boost.Asio, 3D