Algorithmic/Automatic Differentiation – Part 2: Reverse Mode

In part 1, I explained “forward-mode” (or “tangent-linear”) AD, which is the more easily implemented of the two major types of AD. In this part I’ll explain “reverse-mode” (or “adjoint”) AD.
Continue reading

Algorithmic/Automatic Differentiation – Part 1: Forward Mode

In this post, I’ll explain the basics of algorithmic differentiation (AD), a.k.a. automatic differentiation, which is a technique for programmatically evaluating derivatives of mathematical functions.

Continue reading

Sigma-Algebras and Filtrations in Probability Theory – Part 1

The concept of a sigma-algebra (a.k.a. a σ-algebrasigma-field or σ-field) lies at the heart of measure theory, and therefore at the heart of axiomatic probability theory, and the related concept of a filtration is fundamental in the study of stochastic processes. However, many people studying probability have an uneasy relationship with these concepts. While the formal definitions themselves are easy to state and to interpret literally, it is less obvious why these particular definitions are used and what the concepts really represent.

Continue reading

In CSS, “px” is not an angular measurement and it is not non-linear

There’s a wild meme on the loose. A significant number of people seem to have decided that “px” in CSS is an angular unit rather than a unit of length, and moreover that it is in some sense “non-linear”. This is wrong – WRONG! Confusion runs deep and common sense is imperiled. I’m going to try and set this straight.

Continue reading

Everything you Never Wanted to Know about WinSxS

I created this blog in order to post this article about WinSxS. It is based on my own reading of the docs and some experimentation. It does not represent the views of Microsoft or my employer.

WinSxS is not as new as it seems (apparently it dates back to Windows ME), nor is it as undocumented as it seems. However, the documentation, which can be found in MSDN under Isolated Applications and Side-by-side Assemblies, is big, piecemeal and confusing. To get a decent understanding of the technology, you have to read all of it and then try and fit the pieces back together like a jigsaw. Having done that, I’m going to try and explain it in what I hope is a more digestible way. The article is aimed at programmers rather than sysadmins, but could be useful for either.

Continue reading