This is a NLP exploration during WFH period.

Intention and background

For a query like “can I get an egg sushi”, can the machine possible relate it to “tamago sushi” (in which tamago is egg in Japanese)

I would like to see if any pretrained models available can pick such kind of association. If that work, it might be possible to have an input query to search a pool of dish and pick up closest one.

What I tried

  • Load the language models, have them process some dish name, see their clustering
  • Load all dish into a Faiss index, try to query with dish name or…

This was one of the very first things I built during WFH.

Intention and background

There were occasion that I need some text from my laptop to my mobile phone (I forgot the exact scenario that drove me to build this site, I believe it should be some URL that would open an app in my mobile phone)

What it does

Here is the screen of resulting site. On top is showing what the camera capturing.

Image for post
Image for post

User (me) click “Capture photo” button, the camera would capture a picture, then I can drag and select an area of text and the site would OCR the text for…

In year 2020 till now, business have no been blooming and quite some time for working from home, I would like to start a series on sharing what I have built.

Hopefully this help me to summarize and review the stuff I built and also give me some new insight on enhancement and new ideas.

Phishing email are usually easy to identify, most of them are not really carefully crafted, like followings:

Sample 1

The subject “IT-” with domain sender email “” simply don’t align, and with Hotmail, I am expecting beautiful HTML email with graphics and better layout (and capitalize “Hotmail”)

Image for post
Image for post

Sample 2

Similarly, how would Google (which Google Photos Hosting does not even imply it’s the famous Google company we know) send email from domain “”? And Google normally have specific subject and better footer design and disclaimer

This is the great reference I followed to get start using React to build a browser extension:

I consistently got this error when I Inspect the extension

Image for post
Image for post

Without bore you with the failure path, the key discovery is a inline script block being injected into all html, and according to the last line, we see “webpack”


H K gov is planning to have all people using an app “Le@ve_H0me_$afe” (this is trying to fool the search engine, hopefully it work for now) under the name of tracking COVID spread.

According to the claim of HK gov, the data are supposed to be stored only in local device, secured with encryption and removed after 31 days.

(Original link and web archive link below — future historian can fact check if the news would stay in the gov site the same as when it’s being archived)

On the other hand, another group blog about the app proven the…

Intention of this article

To share the information regarding the change in configuration and practice I made recently. Also as a starting ground of my next article regarding potential monitoring app we might be soon be compulsory use in H K.

Disclaimer: I am not professional expert in network security and privacy, I read quite some amount of articles online from some reliable sources like followings, and I would configure some tools myself. Some of the description is just based on my limited understanding (and limited brain horsepower)

Reliable references

My new online practice

On mobile

I am 24/7 using Outline VPN (which setup on a server owned by myself)


Remove docker containers that’s exited

Old way

docker rm $(docker ps -a -f “status=exited” -q)

New way

docker container prune

Remove docker images that’s dangling

Old way

docker rmi $(docker images --filter "dangling=true" -q --no-trunc)

New way

docker image prune


Lately, I have been receiving spam/phishing email, which are using the familiar tricks of having a delivery for me with a email need to be corrected and asking me to click a link.

I have been receiving such email from time to time, some are filtered by spam filter and some not. But there are some observation, they are repeatedly from some services provider, and .

Image for post
Image for post
Phishing email delivered through

Quick experiment on running tfjs code on Colab, figured out most article is trying to create a ijavascript kernel in Colab, which does not align with what I intended to do — to create some self notes on comparing code between Pytorch (Python) and tfjs (Javascript) in 1 code platform.

So here is my solution that work (at the moment for a simple test case of creating a tensor and print it to the Colab cell’s output panel)

My Solution

The idea is to add the tfjs reference to the HTML and wait for it to load.

%%javascript const loadDynamicScript = (callback)…

Stephen Cow Chau

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