How to sync Livox time when the computer doesn’t support hardware timestamp.


Nowadays, we could see a lot of robots are running next to us and many self-driving cars are under development. The main tech underneath is the Lidar detection and high-definition maps built by Lidar. Normally, the small robots are using 2D Lidar like RPLidar to capture the information from a…

Converting my most frequent programming language from Python to Rust as 10 years Python programmer.


Since I will write some my personal options about “why not Python”, I will introduce my background a little bit. Currently, I am Co-Founder of my company, MotivEdge, after a hard quitting from my last…

Using Tonic as backend and gRPC-web as frontend communication to build chat system. Protobuf + gRPC + rust/tonic + envoy + gRPC-web.


Rust is static, fast, and safe. gRPC is static and popular as well. Why cannot we try to use Rust + gRPC to create a web-chatting system? To make this article simple and quick to read. …

There are lots of calendar apps to sync calendar data. It’s worth exploring how to use Rust to fetch CalDav data.


In our daily work, we may use several calendars at the same time, one for group work, one for self-work, one for family TODO, etc… Sometimes it’s hard to follow the schedule. SO, in my company, we created a small python script to fetch all events and TODOs which will…

Rust Client for ROS2

The easiest way to create an interface code for a target app is by using `CMake` and `empy`. Explore the simplest version of how both can be used in ROS2.

This is the second article appearing in this series: Rust Client for ROS2 from Scratch.

The other parts are: 0. Integrate C API to Create ROS2 node


It has been quite some time since I published the first article in this series. Over the last month, I’ve been busy moving…

Rust Client for ROS2

Link ROS2 C API with Rust via `bindgen`, and create a `node` in Rust. Simple steps on how to use `bindgen`.

This is the first article in this series: Rust Client for ROS2 from Scratch.

The other parts are: 1.1 Create the Dynamic Library via CMake & Empy


ROS2 is the latest version of ROS (Robot Operating System), which forms the basis for building applications related to robotics, and also provides…

Rust can be used to speed up Python code, but how fast can it be? This article highlights the comparison between the performance of: Rust, PyO3, and Python3, and an easy way to setup PyO3.

Rust has seen rapid growth ever since Mozilla began sponsoring the project in 2009, and later announcing its development and release in 2010. As stated by the Octoverse in 2019, Rust has been the second fastest programming language in terms of growth and adoption by developers. Additionally, Rust has been…

Marshal SHI

Robots make our life easier | Robotics, Reinforcement Learning, Web, Python, Rust & Life Hacking. At

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store