CIO2018 - 2018Virtual Entertainment Video Wallpaper
Technologies: C++, TCP, UDP, OpenGL
- 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.
Full-stack Developer2016 - 2017ExDox
- 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 Developer2007 - 2016Volcano Corp/Philips (Healthcare Company)
Technologies: C++, OpenGL, Assembly, Networking
- 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 was not able to 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 you were receiving key events as if you were using an external keyboard making it very easy to use with existing widgets.
- 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 MS SQL to MySQL.
Senior Software Developer2007 - 2011Made to Order Software Corporation
- Handled many Drupal installations and created our own Drupal service.
- Created many modules to extend Drupal 6.
- Built a module to prevent pounding of a website which 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.