1. Why talk about presentations?

In teams large or small, meetings often start with a presentation. I sometimes lose attention amongst the slides, because I couldn’t understand their relevance to the thesis. It’s especially bad in technical design reviews due to the large amount of new information presented. In my opinion, we can improve the audience experience, thus the overall effectiveness, of these meetings by implementing a narrative in the presentation.

2. What is a bad presentation like?

For example, the team is considering replacing their database with a SaaS offering, and Kevin is assigned to find out more. Kevin designs the migration and he calls a design review with the team.

Teotihuacan, State of Mexico, Mexico

In September of 2018 and January of 2020, I twice visited Teotihuacan, also known as the “Pyramid of the Sun” near Mexico City. Nobody actually knows the names of these large structures, because the city had fell some a millennia ago with no traceable lineage. The popular souvenirs are obsidian stones and pulque.

I can still remember my first time on the pyramid, strolling over an uneven floor of volcanic rocks glued together by limestone, holding myself against the racing wind. What was it like? The pyramid was likely an alter, which only accommodated the likes of shamans and kings…

Cgar (reCaptcha Guarded Archive Retriever) is a simple service that retrieves files from blob stores (e.g. S3) to serve to browsers once a reCaptcha is passed. On an initial GET request for a certain file, an HTML page with reCaptcha is shown. If passed, the file is served as a download attachment on a POST request from the Go button.

The motivation came from my job hunt. I want my resume to be publicly accessible by recruiters, but since it has my phone number on it, I want to protect it from web crawlers. I made the first version on…

Kut is a tool that allows commands to run via a web UI. There are many one liner commands that are useful, they vary in function from checking an IP address to removing all stale docker containers, they vary in complexity from a single segment to a piped multi-segment with template, and you may use them once a month or it may change for each project. Maybe you use a few, then you know it is a hassle to remember them, and replacing values in the middle of the command is an annoyance. As a result, I have observed people…

Photo Credits: Persnickety Prints, Liam Shaw, Unsplash

The Free Software movement carried a set of values that is no longer influential. It is superseded by free food, and has degraded into ideological freedom. The article is very opinionated.


My story with Free Software began in 2012 over an internship at Broadcom hacking the Linux kernel. However my introduction to its courage and ideal of took place in 2013 when I admired Aaron Swarts. Finally I found out how the movement affects the world at LibrePlanet 2017.

The GNU project was launched in the 70s to replace the proprietary Unix operating system. It’s better known from a later…

COVID-19 is preventing millions of people from going back to the office after the lunar new year holidays. I can only assume, right now, many software engineers in China are coding in their living rooms, i.e. working from home, a.k.a. wfh, a.k.a. working remote, which gives me a chance to reflect on 3 years of my career wfh.

I lived in Vancouver in 2015 as a Chinese national, when I started working for Auris Health, a medical start up focused on a novel bronchoscopy procedure, which allows doctors to inspect the inside of lungs through a manipulable wire tipped with…

The code is adapted from Chapter 4 of Max Pumperla’s Deep Learning and the Game of Go. The book includes a game of Tic, Tac, Toe in Chapter 4’s examples. We are adapting it to Hexapawn with new game rules but we are keeping the software interface the same such that the existing minimax agent can still be used as our opponent.

The rule of Hexapawn can be summarised as follows

Shaoqing Tan

Software Cloud Data 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