All Posts

Measure Anything

If you don’t measure it, you can’t manage it; If you don’t measure it, you can’t improve it; If you don’t measure it, you probably don’t care; If you can’t influence it, then don’t measure it. - Randy A. Steinberg

Read more ...


Data Science Basic

Data science involves principles, processes, and techniques for understanding phenomena via the (automated) analysis of data. This article talks about the basic part of data science.

Read more ...


Enlightenment from Singing

Recently, I have been using app “QuanMinKGe” to sing for fun quite a lot. I got some enlightenment from playing this app, and write it down as this blog.

Read more ...


Mac Tips

I got first Macbook 3 years ago, but only use Macbook as production environment 9 months ago. In order to use Macbook in an efficient way, some tips can be important to know.

Read more ...


About Consulting

This blog contains notes from several books relevant to consulting.

Read more ...


Book note: Xiao Gou Qian Qian

Xiao Gou Qian Qian is the Chinese name of the book: Ein Hund Namens Money

Read more ...


Intelligent Web Sentences

I read a lot on Zhihu and Quora, and collect the followings intelligent sentences, even though they are not written by famous people. They are full of wisdom, and mixed with Chinese and English.

Read more ...


Arduino Introduction

Recently, my recent project use Arduino and relevant devices to help to emulate signals from sensors. It helps our development quite a lot especially the ‘up-stream’ part like data acquisition. The setup looks like following, which just shows very small part of the whole setup and this setup is evolving no matter the hardware and the software. Due to confidential consideration, this article will only stay on high level.

Read more ...


Azure Design Pattern

Just like programming, for many technical challenges for using cloud and Azure there are best practices. We call these best practices as Design Pattern. This blog introduce these design patterns and also discuss relevant tools on Azure.

Read more ...


China 70 Anniversary Big Data

The series of pictures show the progress of China development within 70 years. It is amazing!

Read more ...


Cyber Security for Blockchain

This year, I worked on a project and the topic for me is cyber security for blockchain in Oil and Gas industry. It was really good experience since I got the chance to think through this topic and deliver research report to client. Both cyber security and blockchain are interesting areas for me, besides the above project I still have a lot of things not mentioned mainly technical things. So I decide to write this blog as supplement to above project.

Read more ...


Azure Data Lake and Warehouse

Data Lack and Data Warehouse are two concepts causing confusion. This blog introduces these two concepts and provides comparision for other relevant concepts.

Read more ...


User Story Applied

This blog is the book notes for user story applied.

Read more ...


Application Insight Introduction

This blog introduces what Application Insight can do.

Read more ...


Azure Security

Cyber Security is important aspect to digital transformation. To use Azure well, the understanding of the security building blocks is crucial.

Read more ...


Iot for Smart Cities

Smart cities: Everyone’s connected If everyone, every home, and every business is connected via the IoT, why not take the next step and connect your entire neighborhood, or even the whole city? Connected devices can help reduce congestion on local roadways, alert the fire department in case of emergencies, and even signal the need for road maintenance or additional police patrols. The smart city might mean a smaller government – or a more intrusive one. It all depends.

Read more ...


Agile Selling

There is new challenge to sell since buyers have changed. When they have an issue, they go online to research their problem. Buyers self-educate, leaving the seller totally out of the loop. Without deep buyer understanding, it’s increasingly difficult to get business. You’re dealing with educated people who want conversations and collaboration, not pitches of any sort.

Read more ...


Machine Learning Basic

This blog introduces the basic knowledge of machine learning. The details of algorithm and programming will come in later blogs. Machine learning is a technology which can resolve the computational problem without programming specifically.

Read more ...


Personal Branding

To be a great technical expert, you do not only do exceptional technical work, and also exceptional job to let people see your skills.

Read more ...


职场菜根谭

之前在网络上搜集到了多种关于职场建议的养分,也结合个人的经验教训,提取出些所谓的精华,大言不惭,称之为职场菜根谭。

Read more ...


AI for Smart Cities

I had the honer to give an ‘AI for Smart Cities’ presentation in ‘Big Data & AI Asia’ conference Dec 5. The conference was hold in Suntec and it was a big event around hundreds people participated.

Read more ...


Node.js Basics

Recently, I used Node.js quite a lot to handle personal projects. It is easy to start, and also easy to get wrong. This blog covers the basics part of Node.js development.

Read more ...


Authentication & Authorization Basic

Authentication and Authorization are two relevant but different concepts, which causes confusion sometimes. Both of them are important for SaaS solution. This blog explains the basic of these two concepts.

Read more ...


Microservices Introduction

Microservice is a software architecture style, in which complex applications are composed of small, autonomous process communicating with each other using language-agnostic API, which is a very common cloud pattern.

Read more ...


Blockchain Scenario

This blog explain the potential scenarios of blockchain usage. The content comes from good articles on web.

Read more ...


Https Explainations

Hypertext Transfer Protocol Secure (HTTPS) is a safer version of HTTP, which is the communications protocol of the World Wide Web. An HTTPS session is encrypted using either the SSL protocol (Secure Socket Layer) or TLS protocol (Transport Layer Security) and offers protection against “eavesdropping” and that any change in the transmitted data.

Read more ...


The Personal MBA

This blog contains the booknotes of the book “The Personal MBA”.

Read more ...


Cryptography Introduction (with .NET code example)

Cryptography is the core part of security, this blog introduces the basic concepts in cryptography and uses .NET as code example.

Read more ...


Docker Introduction

Docker is the world’s leading software containerization platform. Docker/container technology becomes more and more popular these days. This blog introduces the basic concept of the above technology.

Read more ...


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 ...