Michael Truog
Verified Expert in Engineering
Erlang Developer
Michael is a top architect, engineer, developer, and entrepreneur with a proven ability to develop efficient, scalable, and fault-tolerant server solutions for complex problems. 他在所有级别的软件和架构方面都有丰富的经验和技能.
Portfolio
Experience
Availability
Preferred Environment
C++, C, Python, Rust, Go, Linux, Git, Cloud, Java
The most amazing...
...software I've developed is CloudI, 用Erlang和c++编写的多语言编程的云功能实现.
Work Experience
Founder
Nd FORGE
- 开发具有各种不同客户端的可靠分布式系统.
- Developed and maintained cloud technology as open-source R&D.
- 改进软件以避免由于人为或技术错误而导致的未来失败.
Senior Software Engineer
NDT Solutions LLC
- 创建的可稳定运行的c++ /Qt图形客户端源代码. 修复了关键的线程并发性错误,以确保端到端操作成为可能. Identified and fixed memory consumption bugs.
- 改进了测试和调试过程,以追求未来更稳定的开发. Dependable debugger use for concurrency problems was communicated and used. Pursued the usage of unit, integration, and regression testing.
- 简化了构建过程,以确保在创建指定了版本化依赖的脚本之后,可以实现可重复的构建.
Senior Software Engineer
VDX.tv
- 为Java JNI C集成提供了安全的C纤维线程池使用和Java GC. Created efficient interfaces for IP database use, messaging, JSON编码/解码与回归测试,以验证正确的引用计数.
- 在添加FreeBSD支持的同时,用更有效的级别触发Epoll和Kqueue取代了libev C文件描述符事件循环. 为未来的C源代码更改确定了额外的性能改进.
- 创建跨平台负载测试结果,并与Nginx进行比较,以证明C源代码更改的合理性.
- 开发SWIG接口文件,用于从C源代码结构自动生成Java pojo.
Senior Software Engineer
Amazon Web Services (AWS)
- 为Aurora PostgreSQL功能提供Babelfish的关键修复信息,为其公开发布做准备.
- Added Babelfish (SQL Server) client functionality to github.com/dbeaver/dbeaver.
- Identified several Babelfish for Aurora PostgreSQL pre-release bugs.
Senior Software Engineer
VDX.tv
- Created a distributed file cache for efficient, reliable concurrent atomic read, write, and delete access to any files with hierarchical redundancy. 它包括用于文件缓存的Solaris和Linux实用程序tar/mv/rm/ln/touch/bootstrap-exec.
- 创建了一个HTTP和HTTPS JSON OpenRTB路由器,包含和排除过滤规则和动态配置.
- 使用setjmp/longjmp创建协程实现,以使用现有的光纤实现.
- Reduced fiber stack memory consumption, improved fiber reliability and efficiency, and fixed memory leaks.
Senior Software Engineer
AT&T
- 使用Ansible和Terraform开发了一个Python自动化API,用于可靠的广播媒体管道修改. 使用API自动化任务在几分钟内完成处理,而以前需要几个月的时间.
- 修复了自动化API中一个严重的并发错误,该错误由于需要使用全局数据和资源而导致之前的操作不可靠.
- 改进了内部媒体爬虫,使其操作更可靠,更不容易出错,用于非结构化JSON数据处理. Fixed Nomad cron format usage for dependable job execution.
Senior Software Engineer
Exponential
- 消除了核心源代码库中的十多个内存泄漏,并修复了与内存泄漏检查器的光纤使用相关的争用条件.
- 在20多个模块中添加了JSON集成,用于运行时类型自省,以帮助调试.
- 增加并发模块初始化系统,明确服务器初始化依赖关系,避免初始化相关错误.
- 添加了一个最小的测试框架,使用宏进行回溯,以实现简单的重用. 使用测试框架验证两种算法,并将所有使用迁移到较新的算法.
- 开发广告服务C源代码,用于高效的实时生产使用,具有非常具体的风格指南.
Senior Software Engineer
Samvia
- timehake iOS应用的所有后端服务器开发都是为了实时存在匹配语音通信吗.
- 为iOS客户端和回归测试创建配对测试,并管理开发/测试操作任务.
- Added monitoring (Graphite, OpenTSDB, SNMP, StatsD) integration to CloudI.
Senior Software Engineer
Adroll
- 为实时招标(RTB)服务器的每周生产部署创建了一个全局部署和回滚系统.
- Used Python, Erlang, 以及使用AWS和EC2进行Bash开发,为发布源代码创建可靠的工作流程.
- 自动化了一个复杂的发布过程,而以前手工完成这个过程需要8个多小时.
Senior Software Engineer
Ubiquiti Networks
- Developed CloudI source code and provided CloudI integration support.
- Created CloudI API implementations in JavaScript, Perl, and PHP.
- Added CloudI services for Riak and OAuth v1 integration.
- 扩展的HTTP牛仔集成与websocket相关的特性和多部分处理.
Senior Software Engineer
Voalte
- 开发基于遗留系统限制的数据库集成和模式.
- 使用BossDB创建了一个带有数据库对象的身份验证服务器(来自Chicago Boss).
- 使用PostgreSQL创建了第四个带异步状态通知的标准模式.
Senior Software Engineer
Jana
- Created a reusable, 可扩展的后端服务器,用于协调新兴市场中http://mcent移动电话用户的调查和抽奖活动.com.
- 为CouchDB数据和后端服务api开发核心数据库接口.
- Used Python threads, Gunicorn, Eventlet, 和Tornado来创建可重用的软件,可以根据需要增长,而无需重写. Created the core business logic for the administration interface, surveys, sweepstakes, and authentication.
- 创建一个自动化的回归和集成测试框架,并使用Tsung进行负载测试.
Senior Software Engineer
SiXiTS
- Developed a Scala-based MMOG server. The server was used for the Facebook and Android game "Babies Everywhere."
- 创建了一个任务系统(称为活动),广泛使用MongoDB.
- 为所有有状态的游戏内物品创建了物品状态机表示.
Principal IT Architect
E*Trade
- Developed a C and Erlang server to replace installations of Oracle Tuxedo.
- 通过消除全局状态和添加健壮的超时和错误处理来改进可伸缩性.
- 在开发中利用OTP行为和最佳实践来创建最少量的易于维护的源代码.
Senior Software Engineer
Nokia
- 创建了一个集成测试框架,用于验证两个独立的XMPP服务器,以确定兼容性问题.
- 开发Erlang XMPP服务器代码,以提供遗留XMPP服务器中的特性. 通过确保协议兼容性,这些修改使得对遗留客户机的转换变得透明.
- 修改了一个Erlang分布式哈希表(DHT)实现,为Java和Erlang API提供了容错键超时.
Co-founder
PortfolioWatcher, LLC
- 与私人投资者一起创建了一家互联网初创公司,使用基于规则的电子邮件提醒提供投资跟踪服务.
- Used PHP, Perl, and MySQL to create automated portfolio management.
- Developed a stock comparison program using Python, Qt, Qwt, Curl, and SQLite for financial and technical analysis, acting as a subscriber to free daily financial price quotes over HTTP.
- Created PreferredSearch, an open-source Python web scraper that utilized Qt, SQLite, PyParsing, Libcurl, Psyco, 和Py2exe显示优先股收益率和价格数据后,从量子在线处理的信息.com and Yahoo.com.
- PreferredSearch在创建10多年后(2005-09-22至2017-11-01)只需要很少的维护,为任何投资者提供可靠的操作.
Senior Software Engineer
Sony Pictures Imageworks
- 使用c++、Python和Boost为图像和电影查看器开发bug修复和特性. 查看器具有作为服务器或客户端的远程同步功能,并通过SOAP RPC订阅数字资产信息.
- 修改查看器以允许远程会话的不同分辨率和媒体类型. 在印度和洛杉矶,从动画师到导演,整个流水线都在使用观看器.
- Added annotation features that improved various parts of the pipeline.
- 增加音频和视频同步校准功能,解决了长期存在的口型同步问题.
- Created a reusable, 跨平台的点放置工具,手动操作动作捕捉数据, 在Linux和Windows上使用Python成功地在请求后四天内交付, PIL, and Py2exe.
- 为切表生成创建了一个测试框架,以确保回归测试的数据完整性.
- Maintained various C++ libraries, adding bug fixes for 64-bit compilation, media formats, and business logic.
Platform and Server Core Software Engineer
Perpetual Entertainment
- Led the development of the C++ platform middleware (PEPSDK). 通过在PEPSDK中进行必要的更改,协调了许多特性并添加了协议, game server, and client.
- Developed the PepPublisher, 一种游戏服务器进程,用于向平台报告游戏内容和持久性数据,以便实时更新在线游戏中玩家的进度.
- 修正了游戏服务器和PEPSDK中许多难以捉摸的多线程和分布式竞争条件和死锁,提高了游戏服务器的稳定性.
- 创建套接字连接线程池,以有限的内存消耗强制实现实时服务质量,从而实现高效的XMPP聊天通信. Designed to be protocol agnostic.
- 为游戏服务器和客户端功能创建分布式集成测试框架.
- 增加了对PEPSDK API和数据结构的本地化,包括正则表达式功能.
Software Engineer
Signature Research, Inc.
- 为军队测试和评估项目开发了基于物理的全局照明渲染器和光线追踪器. 包括三个跨平台多线程的分布式系统, developed with C++, Boost, MPI, Pthreads, and UML.
- Increased the efficiency of RenderView, a Windows physics-based ray tracer written in Visual C++, by at least ten times after researching, implementing, and testing a spatial partitioning algorithm.
- 将使用IRIS GL和Fortran 77为SGI编写的基于物理的遗留全局照明渲染器转换为使用OpenGL和C的Linux. 在使用硬件加速时,超过了以前的多边形限制,大约快了六倍.
- Improved PRIMUS, 一个Visual c++ Windows OpenGL 3D模型查看器和转换工具,帮助内部集成两个基于物理的热特征预测程序.
Experience
CloudI: A Cloud at the Lowest Level
http://cloudi.orgThe bare essentials for efficient fault-tolerant processing on a Cloud!
Primitive Erlang Security Tool (PEST)
http://github.com/okeuday/pestCloudI HtmlUnit Service
http://github.com/CloudI/cloudi_service_htmlunitEducation
Bachelor's Degree in Computer Science
Michigan Technological University - Houghton, MI, USA
Certifications
Spring Framework Master Class – Java Spring the Modern Way
Udemy
Scala and Spark for Big Data and Machine Learning
Udemy
Artificial Intelligence A-Z: Learn How To Build An AI
Udemy
Machine Learning A-Z: Hands-On Python and R In Data Science
Udemy
Skills
Libraries/APIs
REST APIs, Node.. js, Log4cpp, CppUnit, Qwt, Pyparse, Libcurl, OpenGL, PyQt, PIL, JMS, MPI, Spark ML, HDF5
Tools
Git, pylint, Cloud Dataflow, Jira, Apache Tomcat, Tsung, GDB, Amazon Simple Notification Service (Amazon SNS), CMake, Ansible, Terraform, Elastic, NGINX, Apache, SWIG, Apache Maven, Gradle
Languages
Erlang (OTP), Go, SQL, C++, C, Python, Java, Erlang, Python 3, JavaScript, OCaml, Bash, HTML, C++11, C++14, UML, Objective-C, Perl, Haskell, Scala, PHP, R, C++17, Rust, Fortran
Paradigms
Concurrent Programming, Socket Programming, Design Patterns, Microservices, REST, API/Services Architecture, Functional Programming, Object-oriented Programming (OOP), Service-oriented Architecture (SOA), Microservices Architecture, Unit Testing, Data Science, Object-oriented Analysis & 设计(OOAD)、数据库设计、移动开发、持续集成(CI)
Platforms
OTP、Linux、Solaris、Amazon Web Services (AWS)、Docker、Amazon EC2、Mobile、FreeBSD
Storage
PostgreSQL, NoSQL, Databases, Relational Databases, Amazon DynamoDB, Data Pipelines, JSON, MongoDB, MySQL, SQLite, CouchDB, Elasticsearch, Microsoft SQL Server, DB, Amazon Aurora, Spring Data JPA, Spring Data
Industry Expertise
Trading Systems
Frameworks
Apache Struts 2, Qt, Boost, Realtime, CloudI, Spark, Flask, HtmlUnit, JNI, Spring, Spring Boot, JPA, JUnit, Mockito, Spring AOP, Spring MVC
Other
Distributed Systems, CTO, Cloud Computing, Cloud, Cloud Engineering, Cloud Security, Server Security, Multithreading, Concurrency, Concurrent Computing, APIs, Software Engineering, Back-end, Software Architecture, Architecture, Message Queues, Low-level Programming, WebSockets, Web Scraping, Integration Tools, Software Implementation, Software Integration, Data Scraping, Algorithms, Code Review, Large Scale Distributed Systems, Machine Learning, Big Data, Oracle Solaris, Distributed Caches, Technical Leadership, Leadership, Decentralized Systems, Database Schema Design, Startups, Boost.Asio, Ejabberd, py2exe, XMPP, Gunicorn, Eventlet, Tornado, APNs, MessagePack, Artificial Intelligence (AI), Nomad, Real-time Bidding (RTB), OpenRTB, HAProxy, Social Media Apps, Data Structures, Java Native Interface (JNI), Robotics, Spring Web Services, Abstract Syntax Trees (AST)
How to Work with Toptal
在数小时内,而不是数周或数月,我们的网络将为您直接匹配全球行业专家.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring