Posts in ComputerScience
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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:
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.
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.
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.