Links and notes

Reading short list

(Because I’ll find a book or article series that is important and then life will get in the way)

Sketch algorithms – (Or streaming algorithms) are probabilistic algorithms that can provide answers to certain questions about extremely large sets of data in a short time with known error characteristics. To compute such answers exactly would require a prohibitively large about of time and memory.

Deep learning – Relatively new techniques for training neural networks that have many layers/long credit assignment paths.

Graphical models: Decently paced lecture notes on Bayesian networks.

The long list

Machine learning/statistics

  • IPAM video lectures
  • Tutorial on Bayesian programming: An interesting experiment for an interactive book. The book is a set of iPython notebooks, so you can run the code as you read. The source is on github, so you can modify it as you go along.
  • Random projection.  Johnson-Lindenstrauss dimension reduction: If you project data to a lower dimension using a random projection matrix, the pair-wise distances will largely be conserved if the new dimensionality is of the order of the log of the number of points.

Computer science

C++/low level programming details

  • Undefined behavior in C/C++ – John Reghr [1] [2] [3]
  • A survey of CPU caches (full pdf paper) – Cache lines, size, features, includes testing code.
  • Cache Oblivious algorithms – “Cache-oblivious algorithms work by recursively dividing a problem’s dataset into smaller parts and then doing as much computations of each part as possible. Eventually subproblem dataset fits into cache, and we can do significant amount of computations on it without accessing memory”
  • A guide to OpenMP – “OpenMP consists of a set of compiler #pragmas that control how the program works. The pragmas are designed so that even if the compiler does not support them, the program will still yield correct behavior, but without any parallelism.”
  • Online C++ disassembler – write your code in the left hand pane. The assembly code appears in the right hand side. Magic!
  • Xeus/Xeus-cling – C++ Jupyter notebook

Sites I find interesting

Articles/items that I found fascinating

  • An intuitive explanation for how planes fly still eludes us – Scientific American tells us that the Bernoulli principle is a half truth, Einstein did not understand flight, and even experts in computational fluid dynamics can not explain simply how planes fly.
  • Floating point visually explained – Fabien Sanglard explains the exponent and mantissa of the IEEE floating point using an intuitive visual exposition.
  • Adam Rosenberg‘s site – Just a website of a man from an earlier era.
  • TV backlight compensation – Pekka Väänänen’s second hand TV backlight’s red LEDs were failing in a splotchy pattern across the screen. He fixed it in an ingenious manner. It was also fun to learn of the MPC-BE video player which supports live shader editing.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.