Software Engineering

3 Roles, 4 Ceremonies, and 3 Artifacts

Why is Scrum so popular is because it is very simple. You only ought to think of 10 main terms: 3 roles, 4 ceremonies, and 3 artifacts.

Image for post
Image for post
Image by Author

Three Roles

Product Owner

The Product Owner is responsible for holding the vision for the product.

  • representing the business
  • representing the customers
  • owning the product backlog
  • prioritizing stories
  • creating acceptance criteria for stories
  • be available to answer team members’ questions

Scrum Master

The Scrum Master is responsible for the process who is not only a scrum both expert and…


Data Science

Measure the performance of our model

Image for post
Image for post
Image by Author

Let assume that we’re working on a simple classification problem using deep learning. We gave the picture (blueberry) as an input to the model and get our prediction results (with probability) as follows.

  • cherry: 0.35
  • raspberry: 0.25
  • blueberry: 0.2
  • strawberry: 0.1
  • apple: 0.06
  • orange: 0.04

How will you evaluate your model? Do you know about the difference between the top-1 and top-5 accuracy?

  • Using top-1 accuracy, you count this output as true, because it predicted a cherry.
  • Using top-5 accuracy, you count this output as false, because blueberry is among the top-5 guesses.

We test the model on 5 images…


Data Science

From 2012 to present

Image for post
Image for post
Evolutionary history of deep CNNs (Image by Author)

A convolutional neural network (CNN or ConvNet) is a specific kind of deep learning architecture. At the moment, there are many tech companies have developed active research groups for exploring new architectures of CNN such as Google, Microsoft, and Facebook and they demonstrated that CNNs are one of the best learning algorithms for understanding and analyzing image content that has shown high performance in image segmentation, classification, detection, and retrieval related tasks.

What is CNN?


Though Programmer

Adapter, Decorator, Proxy, Information Expert, Composite, Bridge, Low Coupling, Flyweight, Protected Variations and Facade

Image for post
Image for post
Structural patterns of design classes and objects

Structural design patterns are concerned with how classes and objects can be composed, to form larger structures. They enable you to create systems without rewriting or customizing the code because these patterns provide the system with enhanced reusability and robust functionality.

Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice. —Christopher Alexander

There are following 10 types of structural design patterns.

  • Adapter…


Data Privacy

Dissolving the myth of easy-to-fake face recognition

Image for post
Image for post
Image by Author

Thanks to the quick advance in technology, especially in computer science and electronics. Nowadays, facial recognition is becoming the second most largely deployed biometric authentication method at the world level in terms of market quota right after fingerprints. Each day more and more manufacturers are including face recognition in their products, such as Apple with its Face-ID technology, the banks with the implementation of eKYC solutions for the onboarding process.

Contrary to the main aim of research in face recognition has been given to the improvement of the performance at the verification and identification tasks, the security vulnerabilities of face…


Fingerprints, facial recognition, hand geometry, iris recognition, retinal identification, voice recognition, keystroke dynamics, and handwritten signature

Image for post
Image for post
Image by Author

Biometric has been for long the target of future authentication that expected that biometric authentication will largely displace other means of our current authentication and access control. Biometric systems can be used in two distinct modes as follows.

  • Verification (1–1): determining whether a person is who he claims to be. In the verification mode, the system validates the person’s identity by comparing the captured biometric data with the template stored in the database.
  • Identification (1-n): determining who the person is. …


Thought Programmer

How do we beat the CAP theorem?

Image for post
Image for post
the CAP theorem

There is one theorem in computer science called the CAP theorem states that it is impossible for a distributed data store to simultaneously provide more than two out of the following three guarantees.

  • Consistency: every read receives the most recent write or an error.
  • Availability: every request receives a (non-error) response, without the guarantee that it contains the most recent write.
  • Partition tolerance: the system continues to operate despite an arbitrary number of messages being dropped (or delayed) by the network between nodes.

A Brief of History


Thought Programmer

Explaining common different architecture patterns

Image for post
Image for post
Photo by Alexander Andrews on Unsplash

An architectural pattern is a general, reusable solution to a commonly occurring problem in software architecture within a given context.

A pattern is a solution to a problem in a context.

Many programmers are nowadays still confused about the difference between architecture patterns or don’t even know much about it.

Let me explain to you…!

  • Layered Architecture
  • Pipe and Filter
  • Client Server
  • Model View Controller
  • Event Driven Architecture
  • Microservices Architecture

Layered Architecture


What is in the picture?

Image for post
Image for post
Photo by Karsten Winegeart on Unsplash

How to predict an image’s type?

  • Load an image.
  • Resize it to a predefined size such as 224 x 224 pixels.
  • Scale the value of the pixels to the range [0, 255].
  • Select a pre-trained model.
  • Run the pre-trained model.
  • Display the results.


Thought Programmer

What’s different between them?

Image for post
Image for post
Photo by Edwin Andrade on Unsplash

Nowadays we have many options when it comes to architecture design patterns. After developing many apps using Model-View- ViewModel (MVVM), Model-View-Presenter (MVP), and Model-View-Controller (MVC), I finally feel qualified to talk about the differences between them. For easier to understand, we can use a simple example like developing a screen to search books in the BookSearch App.

Let’s begin now…!

MV(X) essentials

Why Model-View-(C or P or VM)?

The aim of these architectures is to separate the responsibilities of visualizing, processing, and data management for UI applications.

Trung Anh Dang

I write about things that I like and things that I don’t, mainly in the business, art and tech sphere. Sign up for my newsletter http://junryo.xyz

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store