Yunpeng's Blog

Life, coding and everything

In this post, I will share some of my thoughts on a few approaches to an interesting research topic, near-duplicate video detection. Apart from the algorithms themselves, we are also going to discuss the scalability issues.

Why “Near-Duplicate”?

Near-duplicate video detection is a branch of a broader topic, near-duplicate detection. There are a lot of problems under this topic, which can be classified into the following categories:

Read more »

In this post, we will be looking at a few interesting (but could be challenging) JavaScript questions.

Most of them are actually testing the so-called “down-side” of JavaScript. You certainly should not write such code in a real-world codebase. As I have repeated many times, code should be clear, precise and concise, in that order of importantce. Nevertheless, they are indeed good questions to test your competency in JavaScript.

9 or 10?

You are given a function called magic_length, which is defined as follows:

1
2
3
function magic_length(input) {
return input.length == 10 && input == ",,,,,,,,,";
}

Please give one possible value of input such that magic_length(input) will return true. Notice: input should be of basic data type provided by built-in libraries.

Read more »

Hi guys, it has been a long time since my last post. In the past few months, I have been preparing for the AWS Certified Solutions Architect – Associate examination, which is part of the series of AWS Certificate Examination.

This examination (and its siblings) focus on some cloud computing concepts, as well as a lot of details specific to the services provided by AWS. To prepare for this examination, there are a few important learning resources:

Read more »

Nowadays, Redis has become one of the most popular cache solution in the Internet industry. Although relational database systems (SQL) bring many awesome properties such as ACID, the performance of the database would degrade under high load in order to maintain these properties.

In order to fix this problem, many companies & websites have decided to add a cache layer between the application layer (i.e., the backend code which handles the business logic) and the storage layer (i.e., the SQL database). This cache layer is usually implemented using an in-memory cache. This is because, as stated in many textbooks, the performance bottleneck of traditional SQL databases is usually I/O to secondary storage (i.e., the hard disk). As the price of main memory (RAM) has gone down in the past decade, it is now feasible to store (at least part of) the data in main memory to improve performance. One popular choice is Redis.

Read more »