Bill Gates explains his thoughts about a potential future crisis, clearly and thoroughly in the book <How to Avoid a Climate Disaster: The Solutions We Have and the Breakthroughs We Need>

The importance of “getting to zero”

We’ve heard the word “zero greenhouse gas commission” many times in the news or magazines because greenhouse gases absorb heat, trap it in the atmosphere, and cause global warming and rising temperature. We already know that if we don’t reduce emissions, the temperature would still grow between 4 to 8 degrees Celsius in this century. …

I’m writing to share my Japanese learning path last year, from Zero to JLPT N3, in seven months. It’s achievable and practical.

My friends during the journey

My experience

2020 has been, no wonder, a strange and challenging year almost for most people. We are isolated from the world where nearly no good news is going on, working from home and away from the office, colleagues, and friends since March, getting used to facing people under masks.

Being bored of the daily routine of WFH, I found out that there have been more chunks of spare time to spend, and because of my long-lasting curiosity towards Japan…

Keep a record of some highlights from the book “The Pragmatic Programmer: your journey to mastery, 20th Anniversary Edition, 2nd Edition” which might be useful to me, or your Software Engineer career path.

What makes a pragmatic programmer?

  1. Over the long term, your time investment will be repaid as you and your team become more efficient, write code that’s easier to maintain, and spend less time in meetings.
  2. You rarely take things as given without first getting the facts. When colleagues say “because that’s the way it’s done,” or a vendor promises the solution to all your problems, you smell a challenge.
  3. We who cut…

As I’m learning Rust language recently, LeetCode becomes a good place to write some small programs and to get familiar with Rust grammar and syntax. In the recent contests, I tried using Rust to solve some problems however it took a much longer time than I expected, to deal with the strict compiler. Pretty fun though, and I think it did help me getting hands dirty.

However, personally I won’t suggest using Rust in LeetCode contests or in real interviews as Python/Ruby would be a much better choice. Rust could be useful in some other aspects which I’ll check later…

Complete video tutorial is online! Please check the playlist here. Total time would be in 8 minutes.

  1. Explore Github GraphQL API:
  2. Download Insomnia client:
  3. Authenticate request:
  4. Useful features for editing:
  5. How to share my workspace?:

Use cases when we work with a GraphQL endpoint

  • Send my first request to a new GraphQL endpoint
  • Introspection query to fetch the schema
  • Manage environment-related variables like the authentication token
  • Manage a bunch of queries
  • Save/Share requests with others

How to use Insomnia to manage my requests?

Please check the complete youtube videos for a demo!

Follow the right guideline with the right tools to save your effort, and deliver the impressive, blazing fast website effectively! For React.js engineers.

Always use the right tool to do your job!

Nowadays there are many excellent React.js programmers but not all of them can quickly deliver a responsive, blazingly fast portfolio website in a weekend without using a proper toolkit.

It can be quite common that we want to quickly build a portfolio to showcase our awesome products, but we wouldn’t want to spend too much time on coding every detail of the entire website. What we need are just the right tools to do the job and…

image from Seats2meet Magazine


This is a introduction to my very recent project ‘Mark Notarize’, which is a very simple notarization DApp based on Truffle ( framework.

It’s open sourced with github link:, and you can visit it directly through:

You can check a demo gif below:

A simple recommendation system using synaptic.js, training in the browsers

Machine learning in JS? Why not!

Project overview

We’re going to build an artificial neural network based, simple recommendation system web application. The application contains two pages, with first page showing books, and the second page showing movies. The user can select the books he or she is interested in in the first page, and when he clicks the next page button, we would actually predict what movies he would likely be interested in in the background. After the user finished choosing the movies he like, we would give the user a result showing what he chose and what we predicted about his choice. …


Here in medium, I want to introduce a new state management library for Vue.js projects named Vuez. You can check the github repo at:

In short, Vuez is a centralized monitoring ‘store’ which is accessible for all your Vue components after installing Vuez. From each component, you can access the store through this.$store.

The store concept in Vuez is very simple, imagine an excel table with three columns: ‘name’, ‘object’, ‘actions’. Whenever you are interested in monitoring an object or an event, you would like to start a new column in the table with a new name, with an object you plan to monitor. Then put everything you want to do when the object changed, as functions in the ‘actions’ column. Whenever you…

Mark Feng

Chaoyi Feng, software engineer, Juventus fan @Singapore

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