Open in app

Sign In

Write

Sign In

Cullen Sun
Cullen Sun

111 Followers

Home

About

Published in Better Programming

·Nov 18, 2022

How To Use Interfaces To Make the Code More Testable

The great interface — part 3 — Introduction Program to the interface instead of the implementation. This single rule can bring a lot of benefits to programming. This article will show how the interface makes the code more testable through refactoring. …

Programming

6 min read

How to Use Interfaces to Make the Code More Testable
How to Use Interfaces to Make the Code More Testable
Programming

6 min read


Sep 29, 2022

My Book List

Read books to change your life — I grew up in a small village in mainland of China, and I was not trained to be a reader during my childhood. I still remember that when I saw “thick” books (around 200–300 pages), I felt stressed and was not interested to read them at all. …

Books

5 min read

Books

5 min read


Published in Better Programming

·Aug 31, 2022

The Great Interface, Part 2

Program to the interface instead of the implementation. — I am a clean code pursuer. Throughout the years, I have always been amazed by the usage of the interface. The interface is an essential concept for object-oriented programming (OOP). This is the second article of the series, through which I write about OOP from the angle of the interface…

Design Patterns

5 min read

The Great Interface — Part 2
The Great Interface — Part 2
Design Patterns

5 min read


Published in Better Programming

·Aug 30, 2022

The Great Interface, Part 1

Program to the interface instead of the implementation — Throughout the years, I have always been amazed by the usage of the interface. The interface is an essential concept for object-oriented programming (OOP). I am going to write 3 articles to share with you about some of the common usages of the interface, and this is the first one…

Software Design

3 min read

The Great Interface — Part 1
The Great Interface — Part 1
Software Design

3 min read


Sep 21, 2021

Don’t Be Scared of git Commands

You just need to master a few of them — Software developers use git for version control most of the time. It’s something we deal with every day. If time rolled back, one of the top tips that I would like to share with my younger self is the usage of git commands. Don’t be scared of git commands as…

Git

3 min read

Don’t Be Scared of git Commands
Don’t Be Scared of git Commands
Git

3 min read


Aug 16, 2021

Agglomerative Clustering for OpenCV Contours with Python

Group Contours That Belong to The Same Object — Introduction “findContours” function of OpenCV is often used to detect objects by computer vision engineers. Thanks to OpenCV, we just need to write a few lines of code in order to detect the contours (objects). However, contours detected by OpenCV are usually scattered. For instance, a feature rich image could have…

Computer Vision

3 min read

Agglomerative Clustering for OpenCV Contours with Python
Agglomerative Clustering for OpenCV Contours with Python
Computer Vision

3 min read


Aug 10, 2021

Installation of ROS Can Be A Nightmare

Installing ROS with an image is a lifesaver — ROS is a very important framework for robotic projects. As mentioned in the previous post, I used ROS for the robotic fish project. There are guidelines on how to install ROS here and there on the internet. However, the installation was not as straightforward as I thought. …

Robotics Operating System

2 min read

Installation of ROS Can Be A Nightmare
Installation of ROS Can Be A Nightmare
Robotics Operating System

2 min read


Aug 10, 2021

My First Computer Vision Project

Doing it is the best way to learn — I have been always thinking to use advanced technology such as AI and Robotics to do meaningful things, which can help people to live a better life, especially in the field of environmental conservation or health care. Fortunately, I did the capstone project for my Master of Computer Science on…

Computer Vision

2 min read

My First Computer Vision Project
My First Computer Vision Project
Computer Vision

2 min read


Jun 24, 2021

Developers Shall Enjoy Refactoring

A fast way to improve your programming skills — I have been developing software for a decade. I am serious about writing good software instead of just making it work. In this short post, I would like to share my view about code refactoring. Refactoring means redesigning and changing the software within a relevant scale but keep the same…

Software Engineering

2 min read

Developers Shall Enjoy Refactoring
Developers Shall Enjoy Refactoring
Software Engineering

2 min read


Published in Towards Data Science

·Jun 28, 2020

Use Machine Learning to Predict Horse Racing

A guide to applying machine learning knowledge on a real world classification problem — Background I am a part-time student of master of computer science at HKU. After last semester exams, I was thinking it would be fun and cool to apply machine learning on a real world dataset. It took me no time to find out the great website for machine learning, Kaggle. Kaggle…

Machine Learning

7 min read

Use Machine Learning to Predict Horse Racing
Use Machine Learning to Predict Horse Racing
Machine Learning

7 min read

Cullen Sun

Cullen Sun

111 Followers

Experienced software developer, and now learning AI and Robotics.

Following
  • Thomas Oppong

    Thomas Oppong

  • Tim Denning

    Tim Denning

  • Ayodeji Awosika

    Ayodeji Awosika

  • Lukas Schwekendiek

    Lukas Schwekendiek

  • James White

    James White

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Text to speech