Basic Info


Profiles


  • Name:Zhen Yi
  • DOB:1992

Target


Tech Lead, R&D Engineer, web3/Smart Contract/Blockend Engineer

Experience


Senior Software EngineerTrust Native
Antgroup Inc.
Nov 2022 - Present
Sonar Smart Contract Language
Senior Software EngineerEngineering Productivity
Antgroup Inc.
Mar 2021 - Nov 2022
Robust Semi-parsing System; Gödel Programming Language System of Big-Data
Tech LeadLab of Compiler and Programming Language
2012 Lab, Huawei Research Shanghai
Apr 2020 - Mar 2021
Software Architect of DevEco Studio's Lowcode Tool for HarmonyOS JS FA
Software EngineerLab of Compiler and Programming Language
2012 Lab, Huawei Research Shanghai
Nov 2018 - Apr 2020
MapleFE/dex2mpl development for Maple/Ark compiler; HMS Core Toolkit development
Software EngineerCSTC ICG Tech & GFTS
Citigroup Inc.
Apr 2017 - Nov 2018
Full-stack development, RESTful API design and continuous integration for web application
Short-term research and development for an experimental machine learning project (3 months)
Research Assistant Intern
Guangdong Province Key Laboratory of Computational Science
Feb 2014 - Apr 2014
Conducted configuration, debugged and optimized codes, and wrote the documents

Education


Univesrity of EdinburghEdinburgh, U.K.
Master of Science in Artificial Intelligence
Sep 2015 - Nov 2016
Dissertation: Deriving Pretty-printing for Haskell
Supervisor: Prof. Philip Wadler
Courses:
  • INFR11073 - Machine Learning & Pattern Recognition
  • INFR11074 - Automated Reasoning
  • INFR09031 - Logic Programming
  • INFR11114 - Types and Semantics for Programming Languages
  • INFR10061 - Elements of Programming Languages
  • INFR11032 - Compiler Optimisation
  • INFR11098 - Secure Programming
  • INFR10055 - Database Systems
  • INFR11034 - Informatics Research Review
  • INFR11071 - Informatics Research Proposal
Sun Yat-sen UniversityGuangzhou, P.R.China
Bachelor of Software Engineering
Sep 2011 - Jun 2015
Final Project: NP−Complete Problem under Halin Graph
Major Courses: Discrete Mathematics; Linear Algebra; Contemporary Applications of Linear Algebra; Probability and Statistics; Numerical Computation Methods; Analysis of Algorithms; Data Structures and Algorithms; Artificial Intelligence; Data Mining; Computer Architecture; Operating Systems; Principles of Compiler Construction; Multi-core Programming;
Recommended for admission to SYSU and exempted from Gaokao because of well performance at NOIP
Tianjin Experimental High SchoolTianjin, P.R.China
Science
Sep 2005 - Jun 2011
Wrote down the own practical experience in NOIP and got it published in the journal for Olympiad in Informatics in China
Recommended for admission to Tianjin Experimental High(middle) School because of winning the second prize in the programming competition for pupils

Skill


Languages skills


  • English:Professional working proficiency

Programming Language and Framework


  • Languages in Use(MRU):Rust, TypeScript, Solidity, Vyper, C/C++, Java, Haskell, Python, Scala, Prolog, Coq, Scheme, APL, Turbo Pascal, Quick Basic, C#
  • Research Only:OCaml, F#, Erlang, Ceylon, Crystal, Haxe, Idris, Agda, Boomerang
  • Frameworks & Tools:ThirdWeb, Next.js, dotenv, React, Hardhat, web3.js/ether.js, Infura, IPFS, Wasm, Truffle, Geth, clangd/vscode-clangd, Soot, Apache BCEL, Spring, Ext JS, JUnit, Mockito, JDBC, JMS, Java servlet, SQL, TensorFlow, Tomcat, Git, SonarQube, Spark, Amazon EC2, NuSMV, Isabelle, LaTeX, Matlab
  • Editor & IDE:Vim, Emacs, IntelliJ IDEA, Xcode, Eclipse, Visual Studio Code
  • OS:Linux, MAC OS X (daily)

Professional Skills


  • Smart Contract/Blockchain/Crypto/DApp development of web3
  • Programming Language/Compiler/Low-code IDE system design and implementation
  • Machine Learning, Automated Reasoning and Knowledge Representation
  • Full-stack development, RESTful API design and Continuous Integration of web2
  • Experience with common Unix command line utilities and development tools

Miscellaneous


School Team


Sun Yat-sen University ASC Student Supercomputer Challenge Team
  • ASC14 required the participated team to wring the most HPC performance out of a 3000W power allowance, and also to compete scalability of 3D-EW on Tianhe-2 supercomputer
  • Mastered the numerical methods, relevant algorithms, multiprocessor and parallel programmings, GPGPU heterogeneous computing
  • Optimized the SU2 -- a Stanford University developed open-source C++ code for Partial Differential Equation analysis and designed things that adhere to PDE constraints, and assisted in the HPL event

Publications


  • Z. Cao, Y. Zhen, G. Fan and S. Gao, "TokenPatronus: A Decentralized NFT Anti-theft Mechanism," arXiv:2208.05168 [cs.CR], Aug. 2022.

Projects


ERC721G: Anti-Theft ERC721 Solutionauthor
World's First Anti-Theft NFT Series and Solution
Jun 2022 - Jul 2022
A universal technical solution to be adapted to any ERC721 standard smart contract to help NFT holders guard their property security jointly
    • ERC721G: major smart contract. The solution helps NFT holders protect property safety through pre-protection, mid-blocking, and post-compensation
    • ERC721GAdmin: GUI for ERC721G Operations
    • BigBroOracle: Oracle smart contract of communication between BigBrother risk control engine and web3 user
    • Designer of BigBrother risk control solution
  • KeywordsEthereum, Oracle, Solidity, React, TypeScript
  • Github Addresshttps://github.com/turtlecasedao/OpenERC721G
  • Project AddressTurtleCase-Origins TurtleCaseGang
Gödel Domain-Specific Big-Data Solutionowner at Ant Group
Datalog-based OO Programming Language; Data Analytics Engine
Jul 2021 - Present
Gödel datalog-based OO programming language system, with many contemporary features, such language focus on big data analytics, integrated with soufflé as the datalog execution engine
    • Programming Model: logic, declarative, objected-oriented, query-based
    • Lambda Calculus and Desugar: closure is a great feature, Gödel implemented lambda as a grammar sugar in early version, and will have a real closure in next release
    • Name Resolution: name analysis, closure capture analysis, path resolution
    • Type Inference and Type Check: Gödel has a simple type system, the type inference and checking based on intuitionistic logic
    • Multi-IR Hierarchy: Gödel has several layers of IR: AST->HIR->MIR->LIR->soufflé
      HIR stands for "high-level IR", roughly an abstract syntax tree
      MIR stands for mid-level IR, because the MIR comes between the existing HIR and LIR(in abstract conception)
      LIR stands for SSA-based "low-level" IR
    • Codegen: IR2IR transformation; Gödel2Soufflé transformation
    • Semantic Optimization: speed up the Soufflé code and solve ungrounded problem
    • Compiler Architecture: semi-pass based and semi-query based architecture
    • Session and Compile Environment: serialization and thread-safe global compile environment. Enbale incremental compilation, parallelizing compilation, support external library and dynamic loading
    • Documentation: composed and wrote language specification of Gödel
    • Business: research for web3 and decentralized edge streaming system
  • KeywordsRust, DSL, Soufflé, Datalog, Runtime, Compiler
Semi-Parsing Systemowner at Ant Group
Persistent Robust Compiling System for C/C++/ObjC
Apr 2021 - Jun 2021
Conducted research review of robust compiling. Make decision of technique selection and design the architecture that includes unbiased model, AST translator, DAO and robust compiling components. Implemented PoC mainly based on clangd and LLVM/Clang
  • KeywordsC++, TypeScript, vscode-clangd, clangd, LLVM/Clang, Prisma
Bitfun Codeless Platformtech lead at Huawei Research
Lowcode Tool of DevEco Studio for HarmonyOS JS FA
Mar 2020 - Mar 2021
    • SUBTASK 1 Communicate with more than four teams for undertaking dependency of render engine, runtime, plugin and language framework
    • SUBTASK 2 Lead team to determine the architecture of low-code IDE kernel with code generator and model checking engine for compiling from UI Model to CharUI source code. Designer of the meta model and inner DSL component
    • SUBTASK 3 SwiftUI-like component. Conducted reconciliation submodule for bidirectional preview of CharUI. Implemented BFS and Longest Increasing Sequence, a kind of Dynamic Programming, diffing algorithm
  • Websitehttps://developer.harmonyos.com/cn/develop/deveco-studio
HMS Toolkitengineer at Huawei Research
Huawei Mobile Service Core Framework
Oct 2019 - Mar 2020
HMS Toolkit is a plugin installed in Android Studio to facilitate App creation, API conversion etc. It helps developer integrate HMS APIs in the most efficient way
    • INNOVATION POINT Convertor for automated adaptation between HMS API and GMS API, dealing with Exception submodule, Collection submodule and TODO submodule
    • Improving technical documentation
    • Deobfuscation for GMS API
  • Websitehttps://plugins.jetbrains.com/plugin/13220-hms-toolkit/
Open Ark Compilerengineer at Huawei Research
A Compiler based on Maple IR
Dec 2018 - Oct 2019
MapleFE/dex2mpl development for Maple/Ark compiler, which is a kind of Ahead-Of-Time compiling alternative of Google ART/Dalvik on Huawei Mobile ecosystem
    • INNOVATION POINT Researched and implemented one invoke-custom(invoke-dynamic in Java Virtual Machine) instruction under maple front-end framework, converting this dynamic feature to static equivalently based on invoke-polymorphic opcode
    • Designed smali-like language grammar for MapleFE, front-end intermediate representation, and Implemented such parser part(details confidential)
    • Help interpreter team with instruction implementation; Writing simple string pattern-mathcing algorithm scripts for verification; Open Source supporting
  • Opcode IntroductionDalvik Opcodes for Dynamic Invocation
  • Websitehttps://www.openarkcompiler.cn/home
WIREengineer at Citigroup
Wire Transfer system for block trading agent
Aug 2017 - Nov 2018
Customers book payment, pre-advice and deposit wire transfers on the platform
    • Full-stack development for Currency Eligibility module: Developed front-end using MVC model with the help of Ext JS. Implemented CRUD, approval and drill-down analysis of Available Straddle value. Using Facade, Factory and Dynamic Proxy patterns designed and implemented controller, services and DAO for back-end
    • Developed reconciliation module for downstream data warehouse team: abstracted business logic to 2PC-like protocol(similiar to Two-Phase Commit) through Finite State Machine model
    • Implemented component of unmarshalling SOAP message to JavaBean
    • Debugging existing bugs and analyzing daily logs. Continuous Integration
EWARAengineer at Citigroup
Anti money laundering platform
Apr 2017 - Aug 2017
    • Implemented approval logic for tree-form entities. Developed general DAO for arbitrary tables by JDBC
    • Participated in email alert ability implementation, RESTful API design, PDF report module enhancement
    • Using reflection techniques to implement Automated Test Framework for POJO
HAMSTERengineer at Citigroup
AI project for bank statement understanding
Jun 2017 - Aug 2017
    • Recognition and NLP for scanning image of bank statement. Writing and debugging image alignment algorithm with Hough Line Transform and Affine Transformation
Project Lambdafounder
web app
Nov 2016 - Jan 2017
A Hacker-News-like social information platform focusing on IT industry and computer science, which users could publish general news, academic contents and questions through it. Reducing time wasting on nonnutritive information is the major goal
PPrinter: A generic derivable Haskell pretty printerauthor
package
Jun 2016 - Aug 2016
PPrinter is a Haskell library that supports automatic derivation of pretty printing functions on user defined arbitrary data types (the deriving mechanism supports the automatic generation of instances for functions)
Compiler of Small-Cauthor
system software
Oct 2015 - Dec 2015
A compiler for the subset of C language that compiles the source code to Java bytecode. It contains the essential parts of a standard compiler including lexer, parser, semantic analyzer and code generator
Interpreter of ML-like Programming Languageauthor
system software
Oct 2015 - Oct 2015
An interpreter written in scala for a simple ML-like programming language which supports syntactic sugar, type checking, recursive function and first-order lambda calculus
The Chinese Wiki Rating Systemdeveloper
unsupervised learning, clustering
Nov 2013 - Dec 2013
People with little education may find it hard to understand the content in the wiki. Our new system made wiki much easier for people to read. The GUI can display different colors in one page. Each color stands for one education level
  • Project HomeNone. Screenshot
  • KeywordsPython 2.7.5, C/C++, linux/win, QT
  • My duties
    • Designed the kernel algorithm which take linear complexity of time
    • Determined ratings and conducted initial data training
The SAC Room Reservation Systemfull-stack developer
web app
Apr 2013 - Jun 2013
Designed a room reservation system for the Student Activity Center in Sun Yat-sen University. Students can use this system to book rooms in SAC and managed their own information
  • Project homeNone(internal use only). Screenshot
  • KeywordsPython 2.7.5, Javascript, MySQL, web.py, Bootstrap, jQuery
  • My duties
    • Developed the back end system
    • Designed the UI
    • Tested and debugged the system before release
The Kernel of Online Judgeindie developer
server-side module
Mar 2012 - Apr 2012
This is an online system that can compile and execute codes and then test them with pre-constructed data. Users submit code and run it with restrictions (time limit, memory limit, etc.). The output of the code will be compared with the standard output and then return the result to the users. This project is critical to the online judge system which provides the interfaces of the methods described above

Awards


Cluster Competition


The ASC Student Supercomputer Challenge 2014 (ASC14)
2014
Set a new world record of HPL(Linpack) performance and won ¥10,000 CNY

ACM-ICPC & Programming Contest


The ACM-ICPC China Guangdong Provincial Programming Contest 2014
2014
The Sun Yat-sen University Collegiate Programming Contest (SYSUCPC '2014)
2014
The Sun Yat-sen University Novice Programming Contest (SYSUNVPC '2011)
2011

Olympiad in Informatics


Two-time recipient of First Prize
The National Olympiad in Informatics in Provinces

Physics Olympiad


Chinese Physics Olympiad for Junior High School Student
2008

Olympiad in Informatics for Pupils


The Tianjin Olympiad in Informatics for Pupils
2004

Scholarship


Two-time recipient of Individual Scholarship
Award for well-performance in academic
2014 & 2012
Other competitions: CUMCM, MCM

Self-assessment


  • Excellent quick learning and problem-solving ability under time constraints
  • Books:Software Foundation, SICP, CLRS, Programming Pearls, Functional Programming in Scala, Machine Learning: A Probabilistic Perspective, A Philosophy of Software Design