Do Carbon Offsets Really Work?

A friend recently pointed me to an article arguing that the Clean Development Mechanism may be counter-productive if it mis-estimates how additional its supported projects are, and ends up allowing more emissions elsewhere than it actually reduces. Does this mean offsets are useless? Read more

On Organizing

Over the years, I have developed a fairly strong theory of how to organize, and what the end-goal of organizing is. Since people occasionally ask me, I figured I would write it down. Of course, articulating also helps me refine my own understanding. Read more

Yak Shaving

Every once in a while someone hears me use the phrase “yak shaving” to describe some activity and asks what I mean. Here is a superb example from my recent life: Read more

Computational Murk

Why is playing chess fun? Why are people irrational? What is randomness? Why does cryptography work? What do these questions have to do with each other? Read more

The Finitary Finiversalist Church

Infinity. What is it, really? Perhaps you remember, as I do, the moment in your life when you realized one could (in principle) count forever, and there would always be integers there for one to count. Yet, how can our finite minds comprehend the truly infinite? Do infinte things even exist? Read more

Statistical Testing 3

Previously in this miniseries on testing samplers, I laid out the problem that statistical testing is inherently more fraught than conventional software testing, and set up a basic framework for defining dependable error-calibrated statistical tests of stochastic software. I have since learned a great inequality, and can now lay out a more complete set of practical basic tests. Read more

Inference by Quadrature

Production-level probabilistic inference is usually said to be about very high-dimensional problems. The usual argument for the techniques one learns (importance sampling, Markov chain Monte Carlo, etc) starts from the curse of dimensionality—that classic quadrature is hopelessly inefficient in many (i.e., more than four) dimensions. But what if one wants probability in a low-dimensional problem? For example, one might have a low-dimensional sub-problem of a more complex problem, Read more

Compositional statistical unit testing

How do you unit-test a sampler? Run it a bunch and see whether the histogram looks good—but there’s always some chance that your test will fail randomly even though the sampler is good, or pass randomly despite a bug. And if you try to have more than one test, the chance of random errors goes up. How big of a chance? How much worse does it get? What to do? Read more

Musings on Probprog

People in my circles periodically talk and write about the nature of this emerging new beast that is called probabilistic programming. There’s various talk about how it’s about samplers, or density functions, or Markov chains, or making machine learning or artificial intelligence more accessible, or various other such stuff. Certainly those things hover in the air around probabilistic programming, but I don’t think that gets to the essence of it. I think that probabilistic programming, as opposed to standard programming, is a new scope of problems that can be solved by computing. Read more

On Testing Probabilistic Programs

Testing traditional software strives for an ideal of exact determinacy: If a test fails, there is a bug and the developers must investigate; and if a test passes, the bugs it is testing for are not present, so development can proceed without worrying about them. This is not possible with probabilistic programs—even a correct sampler for a probability distribution always has some chance of producing arbitrarily weird output by bad luck, and an incorrect one can equally well look fine by coincidence. Read more