Hank

Hi there! I’m Hank, a software engineer who loves to build things.

I’ve been coding for over 10 years and have experience in a variety of programming languages, including Python, Golang, Ruby on Rails, JavaScript, TypeScript. I also have experience in blockchain development, having worked on several projects using Ethereum, Solidity, and Web3.js, also contributed to the famous wallet project Metamask.

I also have a passion for DevOps stuff, such as cloud computing, Kubernetes, and DevOps. I enjoy learning new technologies and sharing my knowledge with others.

Plus, I’m a certified Advanced Mendix Developer, which is a low-code platform for building web and mobile applications.

Want to say hi, or need me to build something for you? Feel free to drop me an email to hank#momane.com. I will try to reply as soon as possible.

Some of My Certifications

Posts by Hank

RIP, Kobe Bryant

RIP![RIP, Kobe Bryant](https://s3.amazonaws.com/ogden_images/www.adirondackdailyenterprise.com/images/2020/01/26152959/BryantKobe05wiki-56

Read More

2019 nCoV

It's 23th Jan already.2019-nCoV virus is raging in China and some other countries, and also lunar new year tomorrow.Just like 17 years a

Read More

My First LEGO

Got a LEGO gift from an old friend. Finished it in two weeks :D Love it a lot.

Read More

Disable Web Search Result in Windows Search 2019

**TL;DR**: download this [windows reg file](https://github.com/HangYang/disable-windows-web-search) and double click to import it. OR- cop

Read More

Change Ubuntu 18.04 update source to mirror site in China

## In China, Ubuntu might be slow to updateTo use ubuntu is not a easy thing, and if you are in China, it's even more difficult. Once you

Read More

MySQL: Sort Number in String Format

TL;DR: use `key_name` `*` `1`; like``` select id, name, age from users order by salary * 1 ```Well, it's better to store data in a data

Read More

安装了梅林固件的路由器开启SSH以及超频

部分路由器可以通过安装Merlin梅林固件来实现更多的自定义功能。安装更多第三方插件来让路由器变得更强大。在软件自定义的时候不妨试试将路由器进行硬件超频来使其拥有更强劲的性能。实现起来也非常简单,不过需要注意的是,超频可能会造成不可恢复的硬件损害,俗称变砖。超频前要三思,

Read More

Boost your Frontend development speed in China

Waiting for something is wasting time, especially when development, you always need to wait for compiling, wait for install dependencies...

Read More

How to fix You have to set a contact email in Chrome Web Store

I have multiple accounts in Chrome Web Store to manage multiple Chrome extensions.Today I found that one of my extension [one click extens

Read More

Change Ubuntu 20.04 update source to mirror site in China

Ubuntu 20.04 has been released for a while, its code is `Focal Fossa`. Again, if you are in China, better change the update source to mirror

Read More

How to fix Git show all file as modified in WSL

## SolutionIf you open your code in Windows, and run git in WSL bash, you will have a big chance to meet an issue that `git status` shows

Read More

用 Taro 和 Vue 写了一个微信小程序

最近尝试写微信小程序,毕竟是现在的趋势。然后发现因为入场太晚,各种轮子已经造得遍地飞了。比如这里有一个框架,出自京东,叫做Taro,它的目的是写一份代码,就可以在诸如微信、支付宝、字节跳动(它家的什么app支持小程序?)等端作为小程序运行。于是拿来试了以下。我本来只熟悉Vue

Read More

How to trigger click event in Gmail

If you want to hack Gmail UI, to build web extension or any other similar tool that works on top of Gmail, you always want or need to trigge

Read More

Use git archive to zip your source code

To zip compiled project file is easy, normally I just use [archivejs](), write a small nodejs script, and then add a script in `package.json

Read More

Use Husky to manage git hooks

[Git hooks](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks) is a powerful tool to make your life easier.It fires off custom scri

Read More

how to use jQuery with TypeScript

It's 2020, why do you still need to use jQuery?Yeah, jQuery has 53.8k stars on Github. And still, there are more than 97% of websites are

Read More

How to copy image and text to clipboard with JavaScript

I used to saw my colleague add a 30kb lib only to implement a copy function that when the user clicks on a text, copy it to the clipboard.

Read More

如何在电脑上调试手机真机网页以及微信浏览器网页

遇到个需求需要调试在微信中打开的网页。之前没有做过,搜了一圈那个所谓的在微信对话框中打开debugx5.qq.com的方法已经过时无用, 打开就显示你所使用对内核非X5内核。至于TBStool更是在2017年就已经停止更新,打开就闪退,浪费时间安装。看来因为开发人员对QQ搞出

Read More

How to fix: Enzyme expects an adapter to be configured

Working on updating a legacy React project. It's still using React 8 and Node 7.9, I'd like to upgrate it to the latest React and Node.The

Read More

为什么不要买罗技K380无线键盘

罗技K380无线键盘,被很多平台吹为几乎最佳的移动设备伴侣键盘,深受很多iPad乃至MacBook用户的欢迎。其优点有:蓝牙连接,最多可以连接三台设备,切换便捷。轻薄小巧,手感和笔记本键盘非常相似。而多色键帽更满足了不同审美用户的需求。因为有移动办公的需求,而Macboo

Read More

A wrong solution on Leetcode

With all these years as an engineer, I never tried Leetcode.Maybe it's because I never prepared for interview before.Well, now I have to

Read More

Do not store file outside of WSL, it is slow

For some reason, I have switch back to Windows OS after years of working on MacOS.Most of the time I'm working on frontend projects, so to

Read More

how to skip git hooks when committing

Well, it's not very recommended skipping git hooks. These hooks are often for formatting code, running tests, etc.But life happens, someti

Read More

Firefox offline installer official download page

Why do I need offline installer of Firefox?Because its online installer is too slow. (Yes the installer that you download from its index p

Read More

Enable HTTPS on local, even with a customizable domain

Normally, when you're debugging your web app on local, you can access it with either `http://localhost:PORT` or `http://127.0.0.1:POST`.Th

Read More

A Simple bash script to modify macOS DNS by detecting SSID

I believe most of us have different DNS settings for different networks. For example, in my case, I use Google's public DNS `8.8.8.8` and Cl

Read More

Mendix: How to connect to built in hsql database from dbeaver

By default, Mendix project is using HSQL as the database.If you want to check the db tables and data, you can simply do this:- start the

Read More

The differences between React.memo, useCallback and useMemo

In React, `React.memo`, `useCallback` and `useMemo` are three hooks that can help you optimize your React application. They are similar in s

Read More

How to shuffle an array

In a small talk, one of my friends asked me, without searching or using AI, can you figure out how to shuffle an array in JavaScript? Surp

Read More

Fixing the Close Action for a Modal popup in Mendix

Our tester engineer recently reported an issue where in a Mendix app, it takes more than 3 seconds to close a popup after clicking the close

Read More

Mendix: How to debug javaaction with IntelliJ and VS Code

Sometimes, you may want to debug the Java actions in Mendix project. In the Mendix Documentation, it only shows how to debug Java actions wi

Read More

Mendix: how to set entity association in Java Action

In Mendix, you can set an entity association in a microflow by simply set the association attribute of the entity. But how to do this in a

Read More

Mendix: How to call Microflow in Java Action and use its return value

After you dive into Mendix for a longer time, you would find yourself writing java code now and then. Don't worry, good news is that you don

Read More

JavaScript :How to detect if an element is visible

There are many ways to detect if an element is visible on page. like```javascript element.style.display !== none && element.visibility !==

Read More