English
| PDF 
This is a lightly-edited blog where I put some personal notes. I figured I might as well share them. I work for Google. This is my opinion, not my company's
You can also consult my Twitter news.
This is a classic puzzle. Find all the rows that are identical in a matrix containing only zeros and ones. Common approach do a quick sort, which result in complexity n^2 log(n). However, with a radix sorting, it can be done in n^2.
I implemented the sort in C++.
This is a classic algorithm puzzle. Write some code that prints all the numbers of the form 2^i.5^j sorted. The usual approach is to compute all the numbers, then sort them. There are online approaches, but they all reduce to the same complexity
However, Dijkstra described a solution that I implemented in C++.
If a polynomial of real numbers is never negative for any value of its argument, then it can be written as the sum of two polynomials squared. This only uses high-shool math, but I either forgot it or we skipped this. Either way, I have the proof here.
The conjugate gradient is a very powerful method to solve a linear problem. There are many explanations online, however, I was still confused, so I wrote a quick set of notes..
I created a small Excel spreadhseet that allows users to have a classroom library. It's free software.
I have been studying Chinese at a local city college. We use a book called "integrated Chinese" and I have gathered the vocabulary list for other people to download.