PHP 5 Developer in Orangevale, CA, United States
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.
- ExDox (Development)https://exdox.com/
A system to track a company ROI when that company has many different profit centers (as found in a gas station.)
This system runs on 12 computers to allow a load of 1,000 companies (each of which are likely to have about 10 staff working on the system during the day.)
- Virtual Video Wallpaper (Development)https://www.youtube.com/watch?v=Gxz1cDYQIPg
Worked with the company on writing a patent to protect the technology. The basics: It includes audio and video streaming to a videowall. Click the link to see samples of what the final product is likely to look like.
- Drupal 6 (Development)
Worked quite a bit to make Drupal 6 itself more usable and secure. I submitted several security issue reports to the Drupal security team.
- Snap Websites (Development)https://snapwebsites.org/
An Ubuntu (Linux) based CMS built in C/C++ which interfaces with the Cassandra NoSQL database.
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.
- Csspp (Other amazing things)http://csspp.org/
I wrote a CSS preprocessor ("compiler") which I wanted to use to compress CSS files from C++. So the implementation is in C++ and it offers a library which does all the preprocessing as required.
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.
- SkyTRACK (Other amazing things)https://www.youtube.com/watch?v=Av4_amc2QUc
In 1995, I worked on SkyTRACK, a telestrater system that would display graphics behind a weather caster.
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.
- IVUS (Development)https://www.usa.philips.com/healthcare/product/HC85900P/eagle-eye-platinum-digital-ivus-catheter
"The Eagle Eye Platinum digital IVUS catheter is the #1 choice of physicians for intravascular imaging (in the US)." – Philips
I worked on the Eagle Eye, including development, bug fixing, writing unit and integration tests, and running performance tests.
Frameworks.NET, Boost, Redux, Express.js
Libraries/APIsjQuery, Log4cpp, Standard Template Library (STL), OpenGL, ImageMagick, Node.js, React, jQuery Plugins, jQuery UI
ToolsWP e-Commerce, NSIS, Gimp, CMake, Postfix, Excel 2010, Microsoft Word, Open Office, Microsoft Access, Subversion (SVN), Microsoft Visual C++, Apache, Perforce, Git, Microsoft Outlook
ParadigmsUnit Testing, REST, HTML DOM, Concurrent Programming, Agile, Load Testing, Functional Programming
PlatformsApache2, Windows, Linux, Drupal 6, WordPress, CUDA, MacOS, AWS EC2
StorageMySQL, NoSQL, Cassandra, Database Performance, PostgreSQL, Elasticsearch, Memcached
OtherPCI Compliance, Security Testing, Performance Testing, Integration Testing, Doxygen, FTP, SOAP, Localization, GUI, ZIP, Video, Vector Images, Image Processing, Images, UDP, TCP/IP, RPC, Networks, SSL, SSH, Web Application Firewalls (WAF), Firewalls, SIMD, Access Control, Web Performance, X11, Bash Scripting, Library Architecture, Multithreading, Module Development, Marketing, English-French Translation, Security, BIND9, HTML5 Video, Audio, PHP Extensions, Adaptive Design, Performance Analysis, Algorithms, Elassandra, Artificial Intelligence (AI), Boost.Asio, 3D