Michael Truog
Verified Expert in Engineering
Erlang Developer
迈克尔是一位顶级建筑师, engineer, developer, 和一个被证明有能力高效发展的企业家, scalable, 以及针对复杂问题的容错服务器解决方案. 他在所有级别的软件和架构方面都有丰富的经验和技能.
Portfolio
Experience
Availability
首选的环境
c++, C, Python, Rust, Go, Linux, Git, Cloud
The most amazing...
...我开发的软件是CloudI, 用Erlang和c++编写的多语言编程的云功能实现.
Work Experience
Founder
Nd FORGE
- 开发具有各种不同客户端的可靠分布式系统.
- 作为开源R开发和维护云技术&D.
- 改进软件以避免由于人为或技术错误而导致的未来失败.
高级软件工程师
NDT Solutions LLC
- 创建的可稳定运行的c++ /Qt图形客户端源代码. 修复了关键的线程并发性错误,以确保端到端操作成为可能. 内存消耗bug被识别并修复.
- 改进了测试和调试过程,以追求未来更稳定的开发. 沟通并使用了用于并发问题的可靠调试器. 追求单元/集成/回归测试的使用.
- 简化的构建过程,以确保在创建指定版本化依赖项的脚本后,可以实现可重复的构建.
高级软件工程师
VDX.tv
- 为Java JNI C集成提供了安全的C纤维线程池使用和Java GC. 为IP数据库创建了高效的接口, messaging, JSON编码/解码与回归测试,以验证正确的引用计数.
- 在添加FreeBSD支持的同时,用更有效的级别触发Epoll和Kqueue取代了libev C文件描述符事件循环. 为未来的C源代码更改确定了额外的性能改进.
- 创建跨平台负载测试结果,并与Nginx进行比较,以证明C源代码更改的合理性.
- 开发SWIG接口文件,用于从C源代码结构自动生成Java pojo.
高级软件工程师
亚马逊网络服务(AWS)
- 为Aurora PostgreSQL功能提供Babelfish的关键修复信息,为其公开发布做准备.
- 添加Babelfish (SQL Server)客户端功能到github.com/dbeaver/dbeaver.
- 确定了Aurora PostgreSQL预发布版本的几个Babelfish错误.
高级软件工程师
VDX.tv
- 创建了高效的分布式文件缓存, 可靠的并发原子读, write, 并删除对任何具有分层冗余的文件的访问. 它包括用于文件缓存的Solaris和Linux实用程序tar/mv/rm/ln/touch/bootstrap-exec.
- 创建了一个HTTP和HTTPS JSON OpenRTB路由器,包含和排除过滤规则和动态配置.
- 使用setjmp/longjmp创建协程实现,以使用现有的光纤实现.
- 减少光纤堆栈内存消耗, 提高光纤的可靠性和效率, 修复内存泄漏.
高级软件工程师
AT&T
- 使用Ansible和Terraform开发了一个Python自动化API,用于可靠的广播媒体管道修改. 使用API自动化任务在几分钟内完成处理,而以前需要几个月的时间.
- 修复了自动化API中一个严重的并发错误,该错误由于需要使用全局数据和资源而导致之前的操作不可靠.
- 改进了内部媒体爬虫,使其操作更可靠,更不容易出错,用于非结构化JSON数据处理. 固定Nomad cron格式使用可靠的作业执行.
高级软件工程师
Exponential
- 消除了核心源代码库中的十多个内存泄漏,并修复了与内存泄漏检查器的光纤使用相关的争用条件.
- 在20多个模块中添加了JSON集成,用于运行时类型自省,以帮助调试.
- 增加并发模块初始化系统,明确服务器初始化依赖关系,避免初始化相关错误.
- 添加了一个最小的测试框架,使用宏进行回溯,以实现简单的重用. 使用测试框架验证两种算法,并将所有使用迁移到较新的算法.
- 开发广告服务C源代码,用于高效的实时生产使用,具有非常具体的风格指南.
高级软件工程师
Samvia
- timehake iOS应用的所有后端服务器开发都是为了实时存在匹配语音通信吗.
- 为iOS客户端和回归测试创建配对测试,并管理开发/测试操作任务.
- 增加了对clouddi的监控(Graphite, OpenTSDB, SNMP, StatsD)集成.
高级软件工程师
Adroll
- 为实时招标(RTB)服务器的每周生产部署创建了一个全局部署和回滚系统.
- Used Python, Erlang, 以及使用AWS和EC2进行Bash开发,为发布源代码创建可靠的工作流程.
- 自动化了一个复杂的发布过程,而以前手工完成这个过程需要8个多小时.
高级软件工程师
Ubiquiti Networks
- 开发CloudI源代码,提供CloudI集成支持.
- 用JavaScript、Perl和PHP创建了CloudI API实现.
- 为Riak和OAuth v1集成增加了CloudI服务.
- 扩展的HTTP牛仔集成与websocket相关的特性和多部分处理.
高级软件工程师
Voalte
- 开发基于遗留系统限制的数据库集成和模式.
- 使用BossDB创建了一个带有数据库对象的身份验证服务器(来自Chicago Boss).
- 使用PostgreSQL创建了第四个带异步状态通知的标准模式.
高级软件工程师
Jana
- Created a reusable, 可扩展的后端服务器,用于协调新兴市场中http://mcent移动电话用户的调查和抽奖活动.com.
- 为CouchDB数据和后端服务api开发核心数据库接口.
- Used Python threads, Gunicorn, Eventlet, 和Tornado来创建可重用的软件,可以根据需要增长,而无需重写. 为管理接口创建核心业务逻辑, surveys, sweepstakes, and authentication.
- 创建一个自动化的回归和集成测试框架,并使用Tsung进行负载测试.
高级软件工程师
SiXiTS
- 开发了基于scala的MMOG服务器. 该服务器用于Facebook和Android游戏《欧博体育app下载》."
- 创建了一个任务系统(称为活动),广泛使用MongoDB.
- 为所有有状态的游戏内物品创建了物品状态机表示.
首席IT架构师
E*Trade
- 开发了一个C和Erlang服务器来取代Oracle Tuxedo的安装.
- 通过消除全局状态和添加健壮的超时和错误处理来改进可伸缩性.
- 在开发中利用OTP行为和最佳实践来创建最少量的易于维护的源代码.
高级软件工程师
Nokia
- 创建了一个集成测试框架,用于验证两个独立的XMPP服务器,以确定兼容性问题.
- 开发Erlang XMPP服务器代码,以提供遗留XMPP服务器中的特性. 通过确保协议兼容性,这些修改使得对遗留客户机的转换变得透明.
- 修改了一个Erlang分布式哈希表(DHT)实现,为Java和Erlang API提供了容错键超时.
Co-founder
PortfolioWatcher,有限责任公司
- 与私人投资者一起创建了一家互联网初创公司,使用基于规则的电子邮件提醒提供投资跟踪服务.
- 使用PHP、Perl和MySQL来创建自动化的投资组合管理.
- 使用Python开发了一个股票比较程序, Qt, Qwt, Curl, 以及用于财务和技术分析的SQLite, 作为通过HTTP免费每日金融报价的订阅者.
- 创建PreferredSearch, 一个使用Qt的开源Python web scraper, SQLite, PyParsing, Libcurl, Psyco, 和Py2exe显示优先股收益率和价格数据后,从量子在线处理的信息.com and Yahoo.com.
- PreferredSearch在创建10多年后(2005-09-22至2017-11-01)只需要很少的维护,为任何投资者提供可靠的操作.
高级软件工程师
Sony Pictures Imageworks
- 使用c++、Python和Boost为图像和电影查看器开发bug修复和特性. 查看器具有作为服务器或客户端的远程同步功能,并通过SOAP RPC订阅数字资产信息.
- 修改查看器以允许远程会话的不同分辨率和媒体类型. 在印度和洛杉矶,从动画师到导演,整个流水线都在使用观看器.
- 添加了注释功能,改进了管道的各个部分.
- 增加音频和视频同步校准功能,解决了长期存在的口型同步问题.
- Created a reusable, 跨平台的点放置工具,手动操作动作捕捉数据, 在Linux和Windows上使用Python成功地在请求后四天内交付, PIL, and Py2exe.
- 为切表生成创建了一个测试框架,以确保回归测试的数据完整性.
- 维护各种c++库, 为64位编译添加bug修复, media formats, and business logic.
平台与服务器核心软件工程师
永恒的娱乐
- 领导c++平台中间件(PEPSDK)的开发. 通过在PEPSDK中进行必要的更改,协调了许多特性并添加了协议, game server, and client.
- 开发PepPublisher, 一种游戏服务器进程,用于向平台报告游戏内容和持久性数据,以便实时更新在线游戏中玩家的进度.
- 修正了游戏服务器和PEPSDK中许多难以捉摸的多线程和分布式竞争条件和死锁,提高了游戏服务器的稳定性.
- 创建套接字连接线程池,以有限的内存消耗强制实现实时服务质量,从而实现高效的XMPP聊天通信. 设计为协议不可知的.
- 为游戏服务器和客户端功能创建分布式集成测试框架.
- 增加了对PEPSDK API和数据结构的本地化,包括正则表达式功能.
Software Engineer
签名研究公司.
- 为军队测试和评估项目开发了基于物理的全局照明渲染器和光线追踪器. 包括三个跨平台多线程的分布式系统, developed with C++, Boost, MPI, Pthreads, and UML.
- 提高了RenderView的效率, 用Visual c++编写的基于Windows物理的光线追踪器, 在研究之后至少是十倍, implementing, 并测试了一个空间划分算法.
- 将使用IRIS GL和Fortran 77为SGI编写的基于物理的遗留全局照明渲染器转换为使用OpenGL和C的Linux. 在使用硬件加速时,超过了以前的多边形限制,大约快了六倍.
- Improved PRIMUS, 一个Visual c++ Windows OpenGL 3D模型查看器和转换工具,帮助内部集成两个基于物理的热特征预测程序.
Experience
云:最底层的云
http://cloudi.org在云上进行高效容错处理的基本要素!
原始Erlang安全工具(PEST)
http://github.com/okeuday/pestclouddi HtmlUnit Service
http://github.com/CloudI/cloudi_service_htmlunitSkills
Languages
Erlang (OTP), SQL, C++, C, Python, Java, Erlang, Python 3, Go, JavaScript, OCaml, Bash, HTML, C++11, C++14, UML, Objective-C, Perl, Haskell, Scala, PHP, R, C++17, Rust
Libraries/APIs
REST APIs, Node.. js, Log4cpp, CppUnit, Qwt, Pyparse, Libcurl, OpenGL, PyQt, PIL, JMS, MPI, Spark ML, HDF5
Tools
Git, Cloud Dataflow, Apache Tomcat, Tsung, GDB, AWS简单通知服务(SNS), CMake, Ansible, Terraform, Elastic, NGINX, Apache, SWIG
Paradigms
并发编程, Socket Programming, Design Patterns, Microservices, REST, API /服务架构, 函数式编程, 面向对象编程(OOP), 面向服务的架构(SOA), Microservices架构, Data Science, 面向对象分析 & 设计(OOAD),数据库设计,移动开发
Platforms
OTP、Linux、Solaris、亚马逊网络服务(AWS)、Docker、Amazon EC2、Mobile、FreeBSD
Storage
PostgreSQL, NoSQL, Databases, 关系数据库, Amazon DynamoDB, Data Pipelines, JSON, MongoDB, MySQL, SQLite, CouchDB, Elasticsearch, Microsoft SQL Server, DB, Amazon Aurora
Other
Distributed Systems, CTO, Cloud Computing, Cloud, Cloud Engineering, Cloud Security, Server Security, Multithreading, Concurrency, 并行计算, APIs, 软件工程, Back-end, 软件架构, Architecture, Message Queues, 低级编程, WebSockets, Web Scraping, Integration Tools, 软件实现, 软件集成, Data Scraping, Algorithms, Machine Learning, Big Data, Oracle Solaris, Distributed Caches, 技术领导, Leadership, 分散的系统, 数据库模式设计, Startups, Boost.Asio, Ejabberd, py2exe, XMPP, Gunicorn, Eventlet, Tornado, APNs, MessagePack, 人工智能(AI), Nomad, 实时竞价(RTB), OpenRTB, HAProxy, Social Media Apps, Data Structures, Java本机接口(JNI), 机器人过程自动化(RPA), Robotics
Industry Expertise
Trading Systems
Frameworks
Apache Struts 2, Qt, Boost, Realtime, CloudI, Spark, Flask, HtmlUnit, JNI
Education
计算机科学学士学位
美国密歇根州霍顿市密歇根理工大学
Certifications
面向大数据和机器学习的Scala和Spark
Udemy
人工智能A-Z:学习如何构建人工智能
Udemy
机器学习A-Z:数据科学中的Python和R
Udemy