I always love reading technical books, from Clean Code, Clean Coder to Clean Architecture. I learn many things from these books to become a better software engineer.

Refactoring: Improving the Design of Existing Code

In 2018, the 2nd version of the Refactoring book is released: Refactoring: Improving the Design of Existing Code, its examples are written in Javascript. Because I work with Javascript in my daily job, I decided to grab the book at no doubt.

Refactoring means changing the code without changing the code behavior. In short, we should leave the code in a better state than we found it.

Here are some things I learn…

Font Awesome is a popular icon library that I used a lot in my Vue.js related project. Since it’s updated from Font Awesome 4 to Font Awesome 5, I have confronted with couple of problems when integrated with VueJS project. I would like to share the ways I’ve been used to add Font Awesome to my VueJS project.

In this article, I only deal with the free version of Font Awesome. For the Pro version, the process is pretty much similar.

The easiest way

The simplest way is using CDN. …

In many drawing tools (Adobe Photoshop, Sketch, and so on), if we hold the SHIFT button when drawing a line, we can create perfectly straight lines horizontally or vertically.

Recently, I tried implementing this feature in canvas by JavaScript. The process is really interesting. I would like to share the progress of how I approach it.

Demo: To easier understand the idea, you can check a demo version at the demo page.



  • A base point (B)
  • Current mouse position (M)


  • Projection of current mouse position on x-axis or y-axis (P)

For convenience, in all graphs, we will mark…


When working on a project with multiple stages (development, staging, production), developers use the command firebase use to switch between projects. It’s very easy to run a command on the production environment instead of the development. This is very dangerous.

Thang Minh Vu

Software Engineer https://me.coddeine.com/

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