Release the power of your mobile phone with Web API and Javascript

Photo by Cameron Venti on Unsplash

Location service is a crucial capability of mobile devices. While enjoying all the advantages like direction service, checking the nearest inventory during online shopping, I am always concerned about how much and how detailed my data is collected. Using a VPN or turning off location service is insufficient to completely protect our identity and cause lots of hassle.

Today we will explore how to use the Web API to access the geolocation and get rid of being tracked by tech providers.

Long story short, let’s watch our final…

Create a Bubble Chart in Javascript and CSS

Photo by Max Gotts on Unsplash

The wave of Web 2.0, alongside the advance of mobile devices and the Internet infrastructure a decade ago, embraced a new paradigm of creating web and mobile application. It has changed our digital life to the next level, so do the skills we’ve learnt and used.

While technologies keep evolving rapidly, digital citizens have been accumulating a broad spectrum of skills throughout the journey. It is a challenge to match skills among job hunters and employers. …

A 5-minute guide to create a Node backend on Kubernetes cluster

Photo by Karim MANJRA on Unsplash

Kubernetes has gained tremendous popularity and becomes the de-facto container orchestration tool because it provides load balancing, auto-scaling, automatic redeployment, health checking, and most important, vendor agnostic.

It empowers micro services shops to run zero-downtime application and became a crucial skill for developers. Nonetheless, the learning curve of Kubernetes is steep, not only because of the giant ecosystem and complex architecture but also the high monetary cost of provisioning infrastructure. Minikube is helpful to simulate how Kubernetes works on a local machine. It is the best for development but not ideal if you want to experiment on a real multi-node…

Impress employers with an accustomed and interactive experience

Photo by Dawid Zawiła on Unsplash

If you haven’t read Part 1, I strongly encourage you to work out the groundwork with it.

In Part 1, we’ve created a CV in A4 format using HTML and CSS and published it as a website 👈. It freed us from a word processor and opened the door of creativity to the decade’s old CV experience.

In Part 2, we’re going to power it up with a practical and fascinating function to impress your audience by presenting your remarkable achievement visually.

Table of Content

Section 1: Menu bar

Section 2: Popup window

Section 3: A small tidy-up

Section 4: Custom domain


Impress employers with an accustomed and interactive experience

Photo by Clem Onojeghuo on Unsplash

The recruitment domain has been advancing by more accurate employers and employees matching using Machine Learning algorithms in recent years. Ridiculously when we get into the details of the candidates, the information presented in the old A4 MS Word format is still enormously popular.

Google Doc is a viable option to create a blank new CV. Unfortunately, if you have been working for a while, updating the current CV written in MS Word is a more direct approach. However, transforming formats from one tool to others can screw you up when you manage the sophisticated page break, section break, header…

Get rid of the dependencies with ease

Photo by Fitore F on Unsplash

Importing libraries to extend software capabilities is a productive approach in development. As described in the DRY (Don’t Repeat Yourself) principle, it is not sensible to reinvent the wheels in most cases. Building application with libraries makes much sense. However, in TDD, testing your functions depending on third party libraries could be tricky if it lacks planning.

Let’s warm up by writing a simple Typescript function to hit an external REST service SpaceX-API and retrieve the response’s name attribute. We will leverage the popular Rest library ‘Axios’ and ride on the get() function…

Photo by Chad Kirchoff on Unsplash

In 2021 one of our team priorities is to move toward Serverless architecture. It is tricky to build the unit tests on top of the AWS services. It dragged me a couple of hours to figure out the most comfortable way to mock the DynamoDB functionality.

aws-sdk-mock has a pretty detailed readme and examples for a quick start. The approach is intuitive and clean. When I messed around it in Typescript and Jest, there were a few hiccups that paused me a while without a useful error message. Then I realized that the order of invocation caused unexpected behavior.


Photo by Mika Baumeister on Unsplash





上兩篇講到手機分享相片有機會泄露行踪資料點樣喺iPhone安全分享相片。測試用上比較舊嘅Android 。如你用其他型號,介面可能有差異。


下載 Photo Exif editor。

用 Photo Exif editor app 消除 Exif (最重要係Geolocation)資料,然後分享。

Photo by Jamie Street on Unsplash





上篇講到手機分享相片有機會泄露行踪資料。本篇分享點樣喺iPhone安全分享相片。測試用上iPhone X。如你用其他型號,介面可能有差異。


下載 EXIF metadata。

用 EXIF app 消除 Exif 資料,然後分享。


Photo by Chris Yang on Unsplash






以手機為例,當你撳相機快門一刻,相片除左記低影像之外,還有一大堆資料,叫做Exif,Exchangeable image file format。以下係用 示範查看Exif。

Anthony Ng

Software Engineer

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