Skip to main content

· 2 min read

I have almost done my summer internship at Baidu.inc. As a Chinese person, it has been a dream to work for Baidu, since it is not only the Chinese Google, it is also the Chinese Reddit (Baidu Tieba) and Quara (Baidu Zhidao), and Baidu has Andrew Ng who is a rockstar in Artificial Intelligence working as a Chief Scientist. I did get a few decent offers from tech firms in Canada, but eventually I decided to work in Beijing just to experience the Internet world and see how it is going in China.

Memories

Me and My Tech Lead

My tech lead is an admirable person in terms of personalities and technologies. He used to work for Atlanssian™, the producer of Jira and SourceTree. He has great sense of Agile Development.

Robin Li

CEO of Baidu speaks at summer party

· 10 min read

The AI agent has two main methods of coming up with a good move. When processing time and RAM space is sufficient, it utilizes a Alpha Beta Pruning Search Tree algorithm to search the seed amount that it will have after few rounds of moves for all current legal moves; while running time and RAM space is limited or board states are numerous to be processed, it will filter and compare the pre-defined heuristics, evaluate the board state at a level and sum up all heuristic factors to find the best move. A search tree algorithm is more accurate than Heuristic method because it inspects all cases in the following “n” rounds instead of narrowing itself down to one certain state. Since the given constrains give enough space and running time for the AI agent to go for at least a depth of 6 rounds for alpha pruning search, and this Has game has a maximum of 32 pits for one side to be counted for each turn, it will use Alpha Beta Pruning mainly. image

· 2 min read

I was looking for a new desktop set up recently, and I explored a bunch of

E-GPU

E-GPU just stands for External GPU. I was browsering online a week ago and found this

So i was like maybe i should give it a try with my new macbook.

To fit into the Akitio box, you actually need an extra mini videocard. I just took out the motherboard of akitio (PCIE to Thunderbolt) and plugged my video card in :

· 4 min read
  • Denoted by []
  • [ae] -> matches an 'a' and an 'e', not multiple:
    • i.e. gr[ae]y will match grey and gray
  • [a-z] -> hyphen specifies a range of characters:
    • i.e. [0-9] matches a single digit
    • i.e.2 [a-f] matches a char in a-f
  • [a-z0-9A-F] -> groups of hyphen specifies a group of ranges
  • qx -> caret after openning bracket negates the character class:
    • i.e. qX matches qu in question
    • i.e. must write it at the front of a class/set

· 9 min read

Metanautix now has Personal Quest online where individual users can download and do analytics on desktop. I have been working on a new systematic way to learn music theory and do musical analysis with mathematical matrix and vectors, and Quest is a critical tool in query on large dataset such as a pool of thousands of song scores. In this article, I will talk about my methodology in detail.

An overview for my system will be: image

· 2 min read

Overview

  • search algorithms for graphs and trees
  • used for unordered graph and tree
  • graph representation
    • adjacent list: space O(V+E)
    • adjacent matrix: space O(V^2)

· 4 min read

Here is a quick showcase of a project I have been playing around with recently. An Midi Control Pad installed on SG being synced with an arduino.

· 2 min read

During a software development, a team usually have different roles, each role is responsible at a certain stage of the development period. Summarizing them into a flowchart, it will show as follow:

Git vs SVN such as Perforce:

Reset Porblems

· 3 min read

List

ListaddremovegetcontainsnextData Structure
ArrayListO(1)O(n)O(1)O(n)O(1)Array
LinkedListO(1)O(1)O(n)O(n)O(1)Linked List
CopyOnWriteArrayListO(n)O(n)O(1)O(n)O(1)Array