Image by author composed from and

I was looking into executing untrusted Groovy Script in a sandbox. I was never a security guy, so the process was a valuable learning experience. I will use this article to summarize my findings.

I am working as a consultant at Many thanks to my colleagues who are generous with their comments. The opinions expressed here do not necessarily reflect those of the employer.

Java Sandbox

At a high level, a Java sandbox relies on the following three components working together:

  1. ClassLoader
  2. Security Manager and its policies

The bytecode verifier ensures that the compiled class files are valid and…

When I read about Flutter/Dart’s null safety beta, I was really excited to give it a try. This article talks about my experience migrating my Flutter Web application to fully embrace this exciting new feature.

Let’s get started.

Upgrade Dependencies

I started by building my old project “Carry On Baggage Allowance Calculator” from scratch (Old as in late 2020). Here’s a fragment of my pubspec.yaml :

sdk: ">=2.7.0 <3.0.0"

sdk: flutter
sdk: flutter
json_annotation: ^3.1.0
intl: ^0.16.1
yaml: ^2.2.1

With a fresh install, I did a % flutter pub get and was immediately greeted with an error:


Photo by Anete Lūsiņa on Unsplash

Do you want to have a blogging platform that is both beautiful and manageable? In the past, you are limited the clunky Wordpress or the snappy but not so user friendly static site generators. Recently, however, combining Gatsby and Ghost has finally brought about the revolution we need to take personal blogging to the next level.


Starfield Library in Seoul (Image by author)


I read a lot of online news sites to help me catch up with the latest stories. From time to time, I found that some news stories from different sources are simply rephrasing each other. This happens sometimes with technical articles too, but I digress.

This love of reading news stories lead me into the idea of text summarization. Wouldn’t it be great if I can summarize across multiple news sources and let me gather all the information?

I have another goal in mind. I love computer languages. Rust has been on my radar for a long time but I…

Have you heard of Flutter? The next Big Thing? Or the UI framework that’s built for the Fuchsia OS, the OS that is going to replace Android? I was skeptical because of all these marketing push. However, I was recently persuaded to give Flutter a second look and I was glad I did just that.

This article briefly talked about my experience in building my first Flutter application on the Web. Why web? Because it’s still the easiest to deploy and the most relevant to my professional work. Notice that Flutter on the Web is still in Beta. …

Have you ever wonder what goes on in your backyard when you are sound asleep? This simple setup will reveal everything to you.

Maybe it’s just out of curiosity. Maybe you are a nature lover and don’t want to miss out on the nocturnals. Whatever it is, I am glad to tell you that it’s inexpensive to set up a night vision camera and discover everything you are dying to know.

For this project, you will need:

Simple Docker image for a Node + Java environment.

As I continue to build on my Raspberry Pi Infrastructure, I need to create a Docker image that contains both Java and Node. Unfortunately, no such thing exist as an official image and I don’t like using images created by others due to security concern. So, I will have to do it myself and you can do it too.


The first step to create a docker image is to have a Dockerfile . The content of the file tells docker what to do. Here is what it looks like:

FROM arm32v7/node:10.19.0

A functional personal development pipeline and deployment infrastructure

This winter, I have decided to try building a Pi’s cluster to test a small but meaningful installation of Kubernetes and Jenkins pipeline. There are many tutorials online that helped me along the way. However, as any developer will attest, none of the tutorials are perfect fits for your setup. It took me a couple of days but at the end, I am quite happy with my setup. I hope this article will help you achieve your Pi cluster setup as well.

My setup consist of two Raspberry Pi 4 (4G version)…

Charles Chan

A seasoned consultant specialized in Software Development and Architecture. Charles also loves to tavel, follow him on

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