All Posts
Measure Anything
- 01 January 2021
- Management
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
Data Science Basic
- 02 August 2020
- ComputerScience
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.
Enlightenment from Singing
- 01 August 2020
- Life
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.
Mac Tips
- 31 July 2020
- ComputerScience
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.
About Consulting
- 10 July 2020
- Management
This blog contains notes from several books relevant to consulting.
Book note: Xiao Gou Qian Qian
- 09 July 2020
- Life
Xiao Gou Qian Qian is the Chinese name of the book: Ein Hund Namens Money
Intelligent Web Sentences
- 07 June 2020
- Life
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.
Arduino Introduction
- 16 May 2020
- ComputerScience
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.
Azure Design Pattern
- 01 May 2020
- ComputerScience
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.
China 70 Anniversary Big Data
- 15 March 2020
- General
The series of pictures show the progress of China development within 70 years. It is amazing!
Cyber Security for Blockchain
- 09 June 2019
- ComputerScience
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.
Azure Data Lake and Warehouse
- 30 April 2019
- ComputerScience
Data Lack and Data Warehouse are two concepts causing confusion. This blog introduces these two concepts and provides comparision for other relevant concepts.
User Story Applied
- 21 April 2019
- ComputerScience
This blog is the book notes for user story applied.
Application Insight Introduction
- 20 April 2019
- ComputerScience
This blog introduces what Application Insight can do.
Azure Security
- 19 April 2019
- ComputerScience
Cyber Security is important aspect to digital transformation. To use Azure well, the understanding of the security building blocks is crucial.
Iot for Smart Cities
- 10 February 2019
- ComputerScience
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.
Agile Selling
- 27 January 2019
- Business
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.
Machine Learning Basic
- 13 January 2019
- ComputerScience
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.
Personal Branding
- 25 December 2018
- Management
To be a great technical expert, you do not only do exceptional technical work, and also exceptional job to let people see your skills.
AI for Smart Cities
- 07 December 2018
- ComputerScience
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.
Node.js Basics
- 11 August 2018
- ComputerScience
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.
Authentication & Authorization Basic
- 14 March 2018
- ComputerScience
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.
Microservices Introduction
- 07 March 2018
- ComputerScience
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.
Blockchain Scenario
- 26 February 2018
- ComputerScience
This blog explain the potential scenarios of blockchain usage. The content comes from good articles on web.
Https Explainations
- 24 January 2018
- ComputerScience
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.
The Personal MBA
- 22 January 2018
- Management
This blog contains the booknotes of the book “The Personal MBA”.
Cryptography Introduction (with .NET code example)
- 07 January 2018
- ComputerScience
Cryptography is the core part of security, this blog introduces the basic concepts in cryptography and uses .NET as code example.
Docker Introduction
- 04 January 2018
- ComputerScience
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.
The Effective Executive
- 29 December 2017
- Management
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
Introduction to Javascript
- 09 September 2017
- ComputerScience
Javascript is the fundumantal programming language for frontend development. This blog introduces the basic concept of Javascript language.
Blockchain Introduction
- 06 September 2017
- ComputerScience
Blockchain is the technology behind Bitcoin, this blog introduce what the Blockchain is.
Cloud for Dummy
- 04 September 2017
- ComputerScience
This is a blog to explain what cloud is to dummies.
DevOps and Continuous Delivery
- 01 September 2017
- ComputerScience
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.
The Art of Simplicity
- 31 August 2017
- Life
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.
Xunit Test Patterns
- 27 August 2017
- ComputerScience
Xunit Test Pattern is a fantastic book which shares the experience and good practice to write tests.
Specification by Example
- 25 August 2017
- ComputerScience
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).
How to Become an Outlier
- 20 August 2017
- Management
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?
Bash: Useful Commands
- 19 August 2017
- ComputerScience
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.
Authenticate Node.js App by OpenId Connect
- 09 July 2017
- ComputerScience
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.
Security: Owasp Top 10
- 05 July 2017
- ComputerScience
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.
Domain Driven Design: Introduction
- 19 June 2017
- ComputerScience
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.
Kotter-Binwei Change Model
- 25 May 2017
- Management
“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.
Work in Big Company
- 17 May 2017
- Management
‘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.
Lean Toolkit for Software Development
- 16 May 2017
- Management
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.
The Mythical Deadline of Peopleware Man-month
- 14 May 2017
- Management
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.
Threat Modeling: Introduction
- 07 May 2017
- ComputerScience
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:
Book notes: Bian Zhi Lin Anthology
- 02 May 2017
- Literature
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).
NoSQL: Introduction
- 01 May 2017
- ComputerScience
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.
Job Security
- 29 April 2017
- Management
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.
Lean: Principles
- 27 April 2017
- Management
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.
Telemetry: Overview
- 20 April 2017
- ComputerScience
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.
Technology to Learn Next
- 18 April 2017
- Management
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.
How to Read Books
- 16 April 2017
- Literature
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.
Book Notes: Cai Gen Tan
- 14 April 2017
- Literature
‘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.
Setup Blog: Using Sphinx and Ablog
- 12 April 2017
- ComputerScience
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.
Git: Resolve Conflicts
- 09 April 2017
- ComputerScience
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.
Vi: Configuration Example
- 08 April 2017
- ComputerScience
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
Git: Branch Continue
- 30 January 2017
- ComputerScience
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
Git: Branch Basic
- 18 January 2017
- ComputerScience
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.
Git: Getting Started
- 11 January 2017
- ComputerScience
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.