Posted in 2017

The Effective Executive

This is the notes from book <The Effective Executive> by Peter Drucker. According to Drucker, the task of leadership is to create an alignment of strengths, making our weakness irrelevant

Read more ...


Introduction to Javascript

Javascript is the fundumantal programming language for frontend development. This blog introduces the basic concept of Javascript language.

Read more ...


Blockchain Introduction

Blockchain is the technology behind Bitcoin, this blog introduce what the Blockchain is.

Read more ...


Cloud for Dummy

This is a blog to explain what cloud is to dummies.

Read more ...


The Mckinsey Engagement

The book notes of <The Mckinsey Engagement>.

Read more ...


DevOps and Continuous Delivery

DevOps and continuous delivery are two hot topics these days, which play more and more important role in software development especially for the SaaS (Software as a Service) solution.

Read more ...


The Art of Simplicity

The original version was written in French named <L’art de la simplicite> by Dominique Loreau. This book show the tips regarding to have a simplified but high quality life.

Read more ...


Xunit Test Patterns

Xunit Test Pattern is a fantastic book which shares the experience and good practice to write tests.

Read more ...


Specification by Example

Specification by Example is a set of process patterns that helps teams build the right software product. With Specification by Example, teams write just enough documentation to facilitate change effectively in short iterations (Scrum or XP) or in flow-based development (Kanban).

Read more ...


How to Become an Outlier

Do you want to be an outlier? How do you measure success? Money? Friends and Family? Recognition? Fame? Making a difference? Does your definition of success drive the direction of your career? … Or is it the other way around?

Read more ...


Bash: Useful Commands

Bash is a widely shell, which is the default shell in many operating systems, e.g. Unix, Linux, Mac OS. Bash can help you achieve a lot. To invest time to learn some useful commands in bash is a good idea.

Read more ...


Authenticate Node.js App by OpenId Connect

OpenID Connect (OIDC) is an authentication layer on top of OAuth 2.0; while OAuth 2.0 is an authorization framework. The standard is controlled by the OpenID Foundation. This blog post will go through an example to use your google account to login a Node.js app by using OpenID Connect.

Read more ...


Security: Owasp Top 10

The Open Web Application Security Project (OWASP) is an open community dedicated to enabling organizations to develop, purchase, and maintain applications and APIs that can be trusted. The goal of the Top 10 project is to raise awareness about application security by identifying some of the most critical risks facing organizations. This blog is based on 2013 version, while 2017 version will come very soon.

Read more ...


Domain Driven Design: Introduction

Domain Driven Design (DDD) is about trying to make your software a model of a real-world system or process. The philosophy of DDD is about placing our attention at the heart of the application, focusing on the complexity that is intrinsic to the business domain itself. In using DDD, you are meant to work closely with a domain expert who can explain how the real-world system works. It also acts as the conceptual foundation for the design of the software itself - how it’s broken down into objects or functions. In this blog post, I will cover the key elements of DDD.

Read more ...


Kotter-Binwei Change Model

“Change is the only constant.” – Heraclitus, Greek philosopher. Kotter 8-step change model will help you to implement changes powerfully and successfully. In addition, Binwei adds 2 more steps to help you figure out whether you are doing the right changes. To implement right changes is even more important in the current changing world.

Read more ...


Work in Big Company

‘Hacker and Painter’ is a fantastic book for people work in IT industry, which enlightens me quite a lot. One point of view in this book is about the ‘dark side’ to work in big company.

Read more ...


Lean Toolkit for Software Development

Lean has huge impact on current software industry. No matter your team adopts Devops, Scrum, Kanban or other Agile methodologies, you can find impact from Lean methodology. Even though Lean was invented decades ago, the concepts are still shining and toolkit are still very useful.

Read more ...


The Mythical Deadline of Peopleware Man-month

This blog post is the book note of three famous books in project/people management in IT industry: The Mythical Man-month, The Deadline, Peopleware. They are enlightenment books to me on the management topics when I read these books decade ago. There are a lot of shinning points in these books, and I try to list them with my own thoughts. The book notes will be in Chinese, since I read the Chinese version that time.

Read more ...


Threat Modeling: Introduction

With more and more data and software go to internet, the security becomes crucial for software development. OWASP (Open Web Application Security Project) lists top 10 security risks:

Read more ...


Book notes: Bian Zhi Lin Anthology

Bian Zhi Lin is modern poet, and is also alumnus of my high school (PuDong High School, Graduated in 1929). His poems are graceful, the most famous one is ‘The Fragment’ (DuanZhang).

Read more ...


NoSQL: Introduction

NoSQL originally refers to “non SQL”, “non relational”, or “not only SQL”. NoSQL databases are increasingly used in big data and real-time web applications. NoSQL databases are not replacing relational database, there are scenarios only fit for NoSQL database. This blog give a brief introduction of NoSQL databases.

Read more ...


Job Security

In your company, there is only one should care about your job security: that is yourself. Many people treat the company as their home, put all their energy and be 100% loyal to the company, but seldom to think about themselves. There is nothing wrong with the attitude only if you are aware of the job security. Marketing is up-and-down and most companies needs to be profitable to survive. They have to lay off people if necessary, these people can be you no matter you treat the company as home or not. It will put you into a very negative situation if you do not prepare well for your job security.

Read more ...


Lean: Principles

The core idea of Lean is to maximize customer value while minimizing waste. A lean organization understands customer value and focuses its key processes to continuously increase it.

Read more ...


Telemetry: Overview

Telemetry technology plays more and more important role in the ‘cloud era’. This blog will explain what is telemetry technology, how we can benefit from telemetry technology, and briefly discuss some technical choices.

Read more ...


Technology to Learn Next

Nowadays, we are in a rapid changing world, and the velocity of the change is increasing. Especially in some young industries like Information technology, new opportunities and exciting news keep popping-up everyday. If you are in IT industry like the me (Binwei, the author), you are lucky. And it is simply too many technologies for you to learn, this blog will discuss the topic: what to learn next.

Read more ...


How to Read Books

I like the following Quota post a lot: When I was a child I ate a lot of food. Most of it is long gone and forgotten, but certainly some of it became my very bones and flesh. Personally I like reading, almost read every day and enjoying reading. This blog post is to share my experience and lessons learned how to improve the reading skills.

Read more ...


Book Notes: Cai Gen Tan

‘Cai Gen Tan’ is an old Chinese book written in Ming dynasty. This book contains the wisdom from Confucianism, Taoists and Buddhism. It is a compact book but providing a lot of life advices.

Read more ...


Setup Blog: Using Sphinx and Ablog

Writing blogs is a good way to learn. The brain of human being has retention rate of what is learned. In order to learn efficiently, people need to be more active on discussing, practicing and teaching. No matter your blog has already got millions of followers or not, the blog writing itself is very beneficial for yourself to learn better. This blog post will teach you how to setup your personal blog by using open source technology like Sphinx and Ablog.

Read more ...


Git: Resolve Conflicts

Git provides various tools to resolve conflicts during the merge process, and in this blog we only discuss one of them gvimdiff in Windows Operating System.

Read more ...


Vi: Configuration Example

Among various text editors, I like Vi a lot. It help me a lot if I work on various operating systems and different environment since Vi is installed by default on most operating systems. There is GUI Vi tool available on Windows called Gvim, which can be downloaded from here: http://www.vim.org/download.php

Read more ...


Git: Branch Continue

This blog will cover the Git commands which to transfer the changes between branches. If you are not familiar with the basic Git branch commands, you can have a look of my previous blog: Git: Branch Basic

Read more ...


Git: Branch Basic

One of the biggest advantage of Git is branching. Git is very strong at handling branches, no matter on functionality or on efficiency. Let’s try out the Git branch commands.

Read more ...


Git: Areas

Git has four areas:

Read more ...


Git: Getting Started

Git is an open source distributed version control system, which plays important role in current software ecosystem. You may find many GUI Git tools like SourceTree, Github Desktop, TortoiseGit etc, however the best way to learn Git is to deep dive into the Git commands and understand the fundamental. Let’s start the ‘Git journey’ by using the basic commands.

Read more ...