个人简历 Resume

English version is behind.

简介

姓名:刘晓明

目前所在地:北京海淀

出生日期:1982.12 教育程度: 工学学士

电子邮件:harry.python@gmail.com

手机:15110036108

weblog:

职业专长

CDN,分布式计算,存储技术,数据库,音视频识别

工作经历

2017年11月-至今 滴滴出行

职位:基础平台部 专家工程师

2017年2月-2017年8月 萝卜太辣(北京)科技有限公司

职位:中国区软件工程总监

2014年6月-2017年2月 北京格灵深瞳信息技术有限公司

职位:高级研发经理

2012年6月-2014年6月 中视广联(北京)媒介咨询有限公司

职位:技术总监

2010年6月-2012年6月 果壳网 guokr.com

职位:技术总监(22人团队)

2009年5月-2010年5月 游艺星际(北京)科技有限公司

职位:助理架构师,后端组team leader(3人团队)

2007年3月-2009年3月 土豆网 tudou.com

职位:助理架构师,Python组team leader(2人团队)

2006年7月-2007年1月 中视广联(北京)媒介咨询有限公司

职位:开发工程师

专业技能

技能 熟练程度 使用时间
Linux C编程 熟练 10年
Python编程 精通 14年
Linux服务器管理 熟练 10年
Erlang编程 熟练 3年
Lua编程 熟练 3年

在如下关键词的 Google 中文搜索结果中,我的文章曾进入搜索结果前10名的,绝大多数只是排在官方网站之后:

  1. zenoss:开源监控系统
  2. pypcap:Python的抓包工具,信息安全
  3. mod_python:Apache的Python插件,由我翻译手册文档
  4. twisted web:使用twisted来做web开发
  5. twisted threadpool:Twisted的线程池实现
  6. SQLAlchemy:Python的ORM框架,由我翻译手册文档
  7. SQLObject:Python的ORM框架
  8. Webware DBUtils:Python的数据库连接池,我翻译的文档进入官方主页
  9. lunit:LUA单元测试框架
  10. sendpkt:兼容linux/win32的Python发送原始数据包的组件
  11. Parallel python:并行计算框架
  12. Python threadpool:Python的线程池框架
  13. OpenWRT:无线路由上的Linux操作系统
  14. libusb:Unix类操作系统用户空间操作USB设备的库
  15. PyUSB:Python通过libusb连接USB设备操作的库
  16. zdaemon:Python的守护进程管理器
  17. Cython:使用类Python语言开发C模块的框架
  18. Erlang C Node:使用C开发Erlang的消息通信客户端的库
  19. greenlet:Python的协程实现
  20. eventlet:SecondLife开发的协程支持框架
  21. google protobuf:Google的序列化协议
  22. qemu:虚拟机
  23. libevent:多种操作系统下异步调用封装库
  24. python-memcache:Python连接memcache的库
  25. Stackless:Python的微线程平台

由我翻译和编写文档而开始引入国内的技术:

  1. mod_python:翻译version3.2.8文档,比国内的第一份文档规模扩大3倍多
  2. zenoss:国内第一份中文文档
  3. Twisted网络编程必备:翻译完该书的1/2,开始让网上的文章不仅限于hello world
  4. Stackless Python:与朋友合作翻译,首次引入
  5. DBUtils:我的翻译已被官方采用
  6. Programming Erlang:翻译了该书的1/3
  7. SQLObject:翻译官方文档
  8. SQLAlchemy:翻译官方文档
  9. Python的C扩展模块:翻译了Python标准发行版中《Extending and Embedding》的70%,让网上的例子不在局限于hello world
  10. sendpkt:我的开源项目,让Python具备了发送数据包的能力,不再仅仅监听
  11. pysqlite:国内最全的文档是我从官方文档翻译的
  12. greenlet:国内最全面的文档
  13. protobuf:国内最全面的文档
  14. Apple Swift:国内第一份文档

项目经历

2006年4月-2006年7月 集川信安 上网行为管理系统

通过使用网卡混杂模式抓包后的分析和发送劫持包实现局域网的监控和管理,对违法信息及时中断,并带有网络入侵检测的功能(NIDS)。负责开发其中网络数据包的格式解析和组包部分。应用层协议负责MSN和XMPP。

2007年5月-2007年8月 土豆网 用户行为分析系统

对用户的播放行为统计后与样本用户特征对比得到读未知用户的特性分析结果,如性别、年龄、职业。依此数据进行广告的精确投放。负责分析引擎的开发。

2007年8月-2009年3月 土豆网 TudouCDN

遍布全国数十个节点的大型内容分发网络系统,由我做详细设计和大部分的开发工作。通过三台中心服务器调度约600台客户端,管理3200TB的分布式存储系统,并在每天完成超过2000万个文件(平均20MB大小)的同步和删除工作。并开发了系统周边的监控系统、统计系统。

2010年6月-2010年9月 果壳网 magicrpc远程调用框架

供果壳网使用的后端基础框架,基于Twisted框架,和Postgresql的通信协议。使得主要语言的客户端均可以用连接池来连接后端,并进行长连接高性能访问。

2010年7月-2011年1月 果壳网 果壳网第一版

使用Django等相关技术,开发出第一版果壳网。

2011年3月-2011年5月 果壳网 数据分片系统

应用Nginx SSI技术开发出的高性能数据集成和缓存系统,使得单一服务器提供动态服务时达到2000~6000req/s。正在逐步推广应用中,并在2010年初日本地震事件中,轻易让单台服务器轻松撑过百万级别的动态PV。

2012年6月-2012年8月 中视广联 音频特征识别系统

基于shazam和philips算法的改进,从大规模音频指纹库(20000小时),对新音频进行识别。180台服务器。

2012年9月-2014年1月 中视广联 音视频采集设备

基于Cubieboard(Cortex-A8)的音视频采集系统,包括Debian Linux定制、优化,USB采集卡驱动编写,H.264硬压缩支持等。视频采集部分基于STM32F407。

2014年6月-2014年12月 格灵深瞳 自动驾驶汽车平台

将六人座电动高尔夫球车进行了电传操纵改装,包括方向盘,油门,测速,加速度,磁感应等。用于发展自动驾驶技术。油门和转向控制信号基于STM32F030。

2015年1月-2015年8月 格灵深瞳 通用标注系统

为深度学习的样本标注提供的基础平台。包含样本的多层次管理,权限管理等。以及为优化标注效率的多种设计。

2015年8月-2015年10月 格灵深瞳 样本存储系统

将碎片化的图片样本组织和存储到一起,提供分布式存储和访问服务。为图片在机械硬盘的存储提供顺序读取优化,自动多备份。

2017年2月-2017年5月 萝卜太辣 CastleRock编程环境

供儿童学习编程使用的可拖放组件编程环境,编译环境和所有信息的存储在服务器端。

2017年11月-2018年6月 滴滴出行 Ultron自动化运维平台

批量在服务器上执行各类管理任务,无需维持SSH长连接来确保在数万台服务器的规模下的快速部署能力。

2018年6月-2018年11月 滴滴出行 AutoProxy自动管控平台

将5类基础服务封装为API,供公有云、私有云、自动化运维平台的调用,并提供对底层服务的性能保护。底层的基础服务包括DNS、LVS、NAT、NETCONF、DCS。

开源项目

MagicRpc http://code.google.com/p/magicrpc/

利用多种现有协议实现的RPC框架

SendPkt http://code.google.com/p/sendpkt/

Python发送以太网帧的包,可用于ARP注入

个人项目:

  1. 从2007年6月起三次破解forex.com外汇数据通信协议,并提出数种数学模型进行验证
  2. 基于AVR ATtiny13的红外通信识别,实现了常见红外通信协议的解析
  3. NOIP'2002进入复赛
  4. OpenWRT为核心的智能家庭
  5. 有刷直流电机控制器,用以发展室内机器人,高精度的PWM控制,以及通过负载波形检测电机转速、堵转等
  6. 基于MIC阵列的无人机方向识别

教育经历与证书

2015,2018 Python Conference China演讲

PyCon-2015 《Python与机器人技术》

PyCon-2018 《解锁GIL的新姿势》

2011年7月 国家体育总局

个人业余无线电台操作证书 四级

2002年-2006年 河北理工大学

学位:学士 专业:计算机科学与技术

2005年11月 信息产业部

软件设计师

Introduction

Name: Harry Liu

Native Place: Beijing Haidian

Birth: Dec 1982 Education: Engineering bachelor

E-mail: harry.python@gmail.com

Mobile: +86 15110036108

weblog:

Profession Field

CDN, Distributed computing, Storage, Database, Audio and Video Recognition

Work Experience

Nov,2017 - Now Didiwuxian

Position: Software Development Expert

Feb,2017 - Aug,2017 roboterra.com

Position: Software Director of China Area

Jun,2014 - Feb,2017 deepglint.com

Position: Senior RD Manager

Jun,2012 - Jun,2014 CTC Media Consultant Co., Ltd.

Position: Technical Manager

Jun,2010 - Jun,2012 guokr.com

Position: Technical Manager (22 team members)

Alex Traffic Rank: 6015, Page View: 900K/day(Avg.) 4.7M/day(Top)

May,2009 - May,2010 yooeee.com

Position: Assistant Architect, Backend Team Leader (3 team members)

Mar,2007 - Mar,2009 tudou.com

Position: Assistant Architect, Python Team Leader (2 team members)

Alex Traffic Rank: 43, Page View: 200M/day(Avg.), Video View: 140M/day(Avg.)

Jul,2006 - Jan,2007 CTC Media Consultant Co., Ltd.

Position: Software Engineer

Skills

Skill Familar Years
Linux C practiced 6
Python master 10
Linux Administrate practiced 7
Erlang practiced 3
Lua practiced 3
AVR Microchip normal 4
ARM Microchip normal 3

The keywords below are link to my articles and blogs searched from Google in top 10 in chinese, many of them are just under the technical authors. This can prove my professional ability.

  1. zenoss
  2. pypcap
  3. mod_python
  4. twisted web
  5. twisted threadpool
  6. SQLAlchemy
  7. SQLObject
  8. Webware DBUtils
  9. lunit
  10. sendpkt
  11. Parallel Python
  12. OpenWRT
  13. libusb
  14. PyUSB
  15. zdaemon
  16. Cython
  17. Erlang C Node
  18. greenlet
  19. eventlet
  20. google protobuf
  21. qemu
  22. libevent
  23. python-memcache
  24. stackless

Project Experience

Dec 2007 - Jul 2008 Tudou CDN

A content distributed network for tudou.com 's video service. It's design and develop by me. Deploied 600+ servers in 40+ cities, with 4000TB harddriver storage. Up to 30M files copying or deleting per day.

Serve hundreds of Gbps bandwidth, only less than the youtube.com. Average 600Mbps per server, up to 4Gbps per server (4 NICs).

Mar 2011 - May 2011 Data Slice System

Use Nginx SSI technology to combine data slice to complete webpage. Make the server serve 2,000 ~ 6000 req/s dynamic requests.

During 2011 Japan earthquack, loaded 1.7M/day dynamic page view in 1 server.

During 2011 QQ.com marketing, loaded 4.7M/day dynamic page view in 1 server.

May 2010 - Dec 2010 guokr.com

Use Python/Django/PostgreSQL to build the guokr.com website.

Jun 2010 - Sep 2010 MagicRPC Framework

A Python framework to implement a RPC server, by Twisted and PostgreSQL protocol. So the client can connect backend by connection-pool, and get long connection in high performance.

Sep 2008 - Nov 2008 Video Fingerprint Match

To find out illegal videoes by calculating any video's fingerprint, and match it in video storage cluster. There are 200 servers for concurency match.

Jun 2012 - Aug 2012 Audio DNA Recognize System

Base on shazam and philips audio recognize algorithms. Match new audio in large audio fingerprint library(more than 20000 hours). 180 servers.

Sep 2012 - Jan 2014 Video and Video Record Device

Base on ARM Cortex-A8 chip's audio and video record device, include customize and optimize the Debian Linux, USB video capture driver, H.264 hardcore support.

Jun 2014 - Dec 2014 Autonomous Vehicle Platform

Modify a six-seater golf EV to autonomous vehicle platform, include steering wheel, accelerator, velocimetry and IMU. For development of autonomous vehicle technology.

Open-source Projects

MagicRpc http://code.google.com/p/magicrpc/

RPC framework collect, implement exist protocols include PostgreSQL and MySQL. Developer may use this framework to develop his own server like a PostgreSQL/MySQL server.

Stratosphere-DB http://code.google.com/p/stratosphere-db/

In-memory NOSQL database with Key-Pointer data model. Restoration data from redo-log.

Markov Language http://code.google.com/p/markov/

Lisp dialect for stratosphere-db's query language, or run standalone.

SendPkt http://code.google.com/p/sendpkt/

Python package to send ethernet frame. Useful for ARP-inject.

Education & Certificate

Jul,2011 General Administration of Sport of China

Certificate: Amateur Radio Operator (Class 4)

Sep,2002 - Jul,2006 Hebei United University

Degree: Bachelor, Major: Computer Science and Technology

Nov,2005 Ministry of Information Industry

Certificate: Software Designer (Class middle)