CLIENT-SIDE SOFTWARE ARCHITECT
Will deliver compelling client-side video, geospatical and graph visualization tools and solutions for the web and mobile devices. 10+ years experience in object-oriented software design with a passion for learning new technologies. Skills summary:
- Adobe Creative Suite: Audition, Flash, Illustrator, InDesign, Photoshop, Premiere Pro.
- Build tools: Ant, AutoConfig, CMake, Glup, Jenkins, Node-gyp, NSIS.
- Client/server protocols: AJAX, EWS, GeoJSON, JSON, MQTT, REST, SOAP.
- Computer vision: CUDA, use of Unreal and Unity game engines, homography, machine learning using DNNs (deep-neural nets), mixed reality, object segmentation, OpenCV w/ Python & C++, OpenGL shader programming, perspective warping, WebGL.
- Content markups: CSS, HTML, LaTeX math formatting, Matplotlib, XML, XPath, XSLT.
- Databases: IndexedDB, MongoDB, MySQL, Oracle, PostgresSQL with PostGIS.
- Development style: agile test-driven development, Scrum.
- GUI design: 2-D and 3-D canvas UIs, internationalization, responsive layout, SVG drawing.
- IDEs: Android Studio, Eclipse, Netbeans, Pycharm, Visual Studio Code, Visual Studio C++, XCode.
- Performance design: buffering, caching, co-routines, multi-threading, shared memory.
- Platforms: Android, AWS, Docker, Electron, ExpressJS, Hapi, iOS, Linux, MacOS, NodeJS, Windows.
- Project tools: Artifactory, Confluence, DockerHub, Git, GitHub, JIRA, Visio Pro (for UML).
- Software design: A.I., design patterns, framework design, MVC, object-oriented design, UML.
- Software frameworks: Angular, Emscripten, dependency-injection, Ionic, Meteor, WebAssembly.
- Video: FFMPEG, g-streamer, H264, HLS, MPEG4, OpenTok, RTSP, VLC, VP8 & 9, WebRTC.
SENIOR SOFTWARE/RESEARCH ENGINEER
June 2013 — present
Barco NV, (display technology) [Kortrijk, Belgium]
Barco Labs (technology research) [Milpitas, CA]
April 2017 — present
Worked with PhDs, staff and university interns researching disruptive technologies. Barco Labs deliverables are research papers, patents and demos. Any research that might become a viable product in 2 to 5 years is then passed off to one of the product divisions. (Due to the trade secret nature of this research some details cannot be revealed.
- Evaluated and prototyped text segmentation algorithms using DNNs converted from TensorFlow by OpenVINO into Intel Optimized DAG Models for OpenCV 4.3 with Nvidia GPU CUDA acceleration.
- Researched and prototyped “smart” exposure and white-balance algorithms using OpenCV/Python.
- Prototyped mixed reality mashups using homography and inverse perspective transforms to seamlessly insert overlays into video streams via OpenCV/Python.
- Implemented video frame motion smoothing using PDI and custom easing functions in C/C++.
- Implemented a low-latency, multi-stream web video app using OpenTok to convert RTSP videos into WebRTCs packaged by Docker to manage an OpenPose DNN prototype application. (Related patent pending.)
- Implemented a Progressive Web App (PWA) with native behavior on iOS, Android, Windows and MacOS using Ionic/Angular integrated with EWS (Exchange Web Services) and Leaflet interactive maps.
- Implemented web UIs showing DNN anomaly detections using Angular-Meteor and WebRTC packaged by Docker with post-playback and event timelines.
- Researched and prototyped 3-D situational awareness mashups for web delivery using WebAssembly (Emscripten), WebRTC, OpenGL shader programming and the Unreal game engine in C/C++.
- Researched papers on cinematic aesthetics for computer automation.
- Created labeled image training sets using the Unity game engine and Python for DNN training related to facial features. (DNN patent pending.)
New Experiences Division (enterprise R&D) [Sunnyvale, CA]
June 2013 — April 2017
VOLUNTEER WEBSITE TEAM COORDINATOR
October 2012 — June 2013
Profile of Santa Cruz, (non-profit) [Capitola, CA]
Successfully lead and trained the website development team in building a database-driven, CSS 3, HTML 5 social-networking website using Drupal 7. Received the January 2013 member of the month award for delivering beyond expectations. [HTML 5, CSS 3, PHP 5, MySQL 5, jQuery, Drupal 7 CMS, social networking]
2006 — July 2012
FlyteComm, Inc., (internet ASP) [Mountain View, CA]
Client-side RIA and mobile design and development
2006 — 2012
Designed and implemented complex, real-time, universal map display applications in Adobe Flash for the web and CocoaTouch for the Apple iPad that yielded a significant increase in revenue and helped achieve financial independence for the company (according to the President/CEO, Maurice Bailey). [Flash AS3, dependency-injection framework for plug-ins, AJAX, JSON, GeoJSON, map projection translation, geodic warping, tile indexing, WMS, TMS, iOS5, Obj-C, ARC, CocoaTouch, Core animation layers, storyboards] More...
Server-side application design and development in C++
2010 — 2012
Engineered the high-performance tile-map server technology for the company that provided all the custom map overlays displayed by the universal map applications (above). [C++, FastCGI, Python, GDAL, Mapserver, TMS, PostgresSQL, PostGIS, quadtree indexing, tile generation, map styling (fonts, lines, icons and glow effects), Apache, OpenSSL, RSA Webagent 7, HAProxy, Spread] More...
Yahoo! Research Labs music artists AI graph engine for artist clustering analysis; James Burke (of BBC Connections
fame) Institute K-WEB platform for science learning; FedEx’s main website which won the 2000 WebAward for best transportation website; Lucid C++ and Lucid Common Lisp/CLOS IDE development for UNIX/X11 with a specialty in C++ debuggers and Emacs; embedded systems C++ IDEs (Mentor Graphics Xray) for Windows (MFC) and UNIX/X11; RT operating systems design (Linus) and RT compiler design (Concurrent Pascal); and, digital signal processing hardware development (w/ 5000+ MSI ICs). More...
Degree: BSEE w/ honors, California State Polytechnic Univ., Pomona. Video training (2012-20) in OpenCV, Python, machine learning, linear algebra, Hapi, ExpressJS, Angular 2, TypeScript, ES 6, HTML 5, jQuery, CSS 3, Drupal 7, C++11, Java 7, Obj-C, CocoaTouch. IEEE Seminars: Workshop on Machine Learning and TensorFlow (2017); ACM Seminars: HTML 5, Test Driven OO Development, Design Patterns, XML Web Services with Java; Microsoft: .NET and COM+; and Communities-at-Work Facilitated Communications. UC Extension: Advanced C++ COM/ATL, OLE/ActiveX, MFC, Win32 Programming; SQL-92 (Oracle 8); Flash 5 course series. Previous extension courses in operating systems, compiler design, artificial intelligence (Prolog). Member: ACM and IEEE.
More details with screen shots and demos below: