Projects

Here are some of my side projects.

Robotics and Computer Vision

RoboMasterPy

Github | PyPI | Docs

RoboMasterPy is a Python library and framework for RoboMaster EP, a DJI educational robot. The framework deals with video streaming, push and event, provides a high-level interface for controlling and communication. You can build your controlling logic basing on it.

With help of tools like OpenCV, I made some work that might interest you.

Fun

O’RLY Cover Generator

Website | Github | Fun Examples

O’RLY Cover Generator is a parody book cover generator, implemented in Golang and Vue.js, supporting a wide range of languages including CJK.

I started O’RLY for three reasons:

  • Fun;
  • Pioneer like dev.to’s does not support languages other than English;
  • I saw little Go’s projects on graphics and typesetting, so it’s worth a try.

Middleware and Libraries

Golang gzip Middleware

Github | go.dev

A dull gzip middleware for Gin and net/http.

A gzip middleware is so common, fundamental and dull in almost every web framework that I thought implementing one should be easy. However, there are actually some details need to be taken care of:

  • does the client support uncompress?
  • which kinds of contents should be compressed? by MIME or file extension?
  • is the stream compressed already?
  • how many bytes does it make meaningful to do compression?
  • which gzip level to take?
  • how to decide the payload size when streaming?

I learned a lot when implementing this project.

Golang Etherscan API client

Github | go.dev

Go bindings to the Etherscan.io API, with nearly Full implementation(accounts, transactions, tokens, contracts, blocks, stats), full network support(Mainnet, Ropsten, Kovan, Rinkby, Tobalaba), and only depending on standard library.

More

See Github.