Alexis Wilke, Developer in Orangevale, CA, United States
Alexis is available for hire
Hire Alexis

Alexis Wilke

Verified Expert  in Engineering

Bio

Over the past 16 years, Alexis has been running Made to Order Software, mainly as a contractor, doing software development for customers in Sacramento, San Francisco, LA, the Netherlands, and more. Alexis specializes in PHP, JavaScript, jQuery, JSON, HTML/CSS, XML, XSLT2, Go, C/C++, Assembly, CUDA, Microsoft Access, and a broad range of other technologies. He has created and manages many websites. He had also worked on an embedded medical device.

Portfolio

Made to Order Software Corporation
JavaScript, HTML, CSS, PHP, C++, Go, Audio, WebSockets, NVIDIA CUDA, Videos...
Spotify
C++, Go, Java, Kubernetes, Ubuntu, Audio, Audio Processing
Virtual Entertainment Video Wallpaper
OpenGL, UDP, Transmission Control Protocol (TCP), C++, Audio, FFmpeg

Experience

  • PHP 5 - 11 years
  • MySQL - 7 years
  • jQuery - 7 years
  • C++14 - 3 years
  • HTML5 - 3 years
  • Node.js - 2 years
  • JavaScript 6 - 1 year
  • React - 1 year

Availability

Part-time

Preferred Environment

C, C++, PHP, JavaScript, Git, Linux, Go

The most amazing...

...thing I've written is the first real-time tracking system (AI) used on live TV in 1995.

Work Experience

Senior Software Developer

2007 - PRESENT
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.
Technologies: JavaScript, HTML, CSS, PHP, C++, Go, Audio, WebSockets, NVIDIA CUDA, Videos, NVIDIA Codec SDK, Video & Audio Processing, Video Processing, Video Streaming

Go and C++ Expert

2019 - 2023
Spotify
  • 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.
Technologies: C++, Go, Java, Kubernetes, Ubuntu, Audio, Audio Processing

CIO

2018 - 2018
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.
Technologies: OpenGL, UDP, Transmission Control Protocol (TCP), C++, Audio, FFmpeg

Full-stack Developer

2016 - 2017
ExDox
  • 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.
Technologies: CSS, Linux, MySQL, NoSQL, Cassandra, Ajax, HTML, JavaScript, C, C++

Senior Embedded Software Developer

2007 - 2016
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.
Technologies: Networking, Assembly, OpenGL, C++, Microsoft Outlook

Virtual Video Wallpaper

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 video wall. Click the link to see samples of what the final product is likely to look like.

Drupal 6

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

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

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

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

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.

Libraries/APIs

jQuery, Log4cpp, Standard Template Library (STL), OpenGL, FFmpeg, ImageMagick, Node.js, React, jQuery Plugins, jQuery UI

Tools

WP eCommerce, NSIS, CMake, Postfix, Excel 2010, Microsoft Word, Open Office, Microsoft Access, Subversion (SVN), Microsoft Visual C++, Apache, Perforce, Git, Microsoft Outlook

Languages

Go, C++, CSS3, PHP 5, Bash Script, XSLT, XML, Sed, Forth, Assembler 68000, Assembler x86, Assembler, PHP 7, C, HTML5, JavaScript 6, C++14, AWK, Visual Basic, Excel VBA, Sass, CSS4, JavaScript, PHP, Assembly, CSS, HTML, Ruby, Perl, Pascal, Ada, C++17, Java

Frameworks

.NET, Boost, Redux, Express.js

Paradigms

Unit Testing, REST, HTML DOM, Concurrent Programming, Agile, Load Testing, Functional Programming

Platforms

Apache2, Windows, Linux, Drupal 6, Ubuntu Linux, WordPress, NVIDIA CUDA, MacOS, Amazon EC2, Kubernetes, Ubuntu

Storage

MySQL, NoSQL, Cassandra, Database Performance, PostgreSQL, Elasticsearch, Memcached

Industry Expertise

Marketing

Other

PCI Compliance, Security Testing, Performance Testing, Integration Testing, Doxygen, FTP, SOAP, Localization, Graphical User Interface (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, Secure Software Development Lifecycle (SSDLC), Image Processing Software, Audio Processing, Module Development, English-French Translation, Security, BIND9, HTML5 Video, Audio, PHP Extensions, Adaptive Design, Performance Analysis, Algorithms, Elassandra, MP3, Video & Audio Processing, Video Processing, Video Streaming, Ajax, Networking, Transmission Control Protocol (TCP), Artificial Intelligence (AI), Boost.Asio, 3D, WebSockets, NVIDIA Codec SDK

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring