I remember once arguing with a teacher over whether I should be required to prove that 2 is an even number. It seemed so blatantly obvious to me that I couldn't even imagine how to prove it. Turns out my teacher wanted me to write something like "2/2 == 1, and 1 is a whole number, so 2 is even". My jaw went slack.

]]>

(via The Valve)

]]>There are several interesting parts to the job:

]]>The mean of Y will be equal to the mean of X, but the variance and standard deviation of Y will be 0. Furthermore, the variance of the real components of Y (ignoring the imaginary components) is equal to half the variance of X.

It would be even more interesting if you could define Y so that its real components were exactly the same as the real components of X. However in the case where X consists of two points, this require the imaginary components of Y to be +/- infinity, so I'm suspicious.

I'm not sure whether this kind of thing is actually useful or not, but it does at least provide an interesting interpretation of the meaning of variance. The fact that the variance of the real part of Y is proportional to the variance of X also makes me wonder whether there's a connection here to the idea of marginal distributions.

Here's a bit of scheme code that shows what I'm talking about.

(define pi 3.14159265358979323846) (define (curry f x) (lambda y (apply f x y))) (define (n-downto-0 x) (if (= 0 x) '(0) (cons x (n-downto-0 (sub1 x))))) ;; returns a list of all the n-th roots of x (define (roots x n) (map (lambda (i) (make-polar (* x (expt 1 (/ 1 n))) (* 2 pi (/ i n)))) (n-downto-0 (sub1 n)))) (define (avg vals) (/ (apply + vals) (length vals))) (define (variance vals) (let ((mean (avg vals))) (avg (map (lambda (x) (sqr (- x mean))) vals)))) (define X (n-downto-0 100)) (define Y (map (curry + (avg X)) (roots (sqrt (variance X)) (length X)))) (variance X) (variance Y) (* 2 (variance (map real-part Y)))]]>

"We know the root to solving the problem is having more rigor in classes, starting in 9th grade," said Norma Rodriguez, chief of high school curriculum and instruction for Chicago Public Schools.

I bet this quote came from the written transcript of a spoken interview. And I bet that Norma Rodriguez was actually talking about the *route* to solve the problem. Apparently journalists (and their editors!) are aren't immune to the national trend towards lower reading scores.

Light-filled Brookline 2+ bedroom condo with updated bath and study. Working fireplace, hardwood floors, high ceilings, and lovely detail throughout. Abundant closets plus 100 square ft basement storage space. Shared roof deck and laundry. Located on a one-way road across from Emerald Necklace park and river. Five minute walk to many parks, Longwood medical area, Coolidge Corner, Brookline Village, and green D line T. Transferable rental parking ($100/mo) paid through 2007.]]>

I'll be joining Goldman Sachs, working as a developer on a core part of their technology infrastructure. It's a big change for me -- the biggest company I've ever worked for so far only had about 200 people, and GS is approximately two orders of magnitude larger than that. I'll be working in a skyscraper right in downtown Manhattan, just a couple blocks from Wall Street and that bronze bull that you've probably seen pictures of before.

I've been asked to be discreet about the details of the job, so all I'll say is that it involves language design and optimization, highly scalable systems, and financial derivatives. Here's a paper that'll give you a flavor for what I'm talking about: Composing Financial Contracts, by Simon Peyton Jones. Unfortunately I won't actually be writing haskell code, but at least I'll be working with a group of people who deeply appreciate functional programming.

I won't actually be moving for a few months yet (date still TBD). In the meantime I'm still working at StreamBase, implementing cool new features for our upcoming release.

]]>Readers sensitive to irony will realize that this posting is itself deliberately vague. I'm protecting the guilty.

The work was very successful: I managed to get a speedup of 7810% for a program that had about 6000 lines of code. The abysmal performance of that program was what motivated the project in the first place.

]]>Around about the tenth time that my application failed to be processed, I finally decided to read the error message carefully. Here's what I saw:

]]>Game play is governed by detailed interactive models-of strategic and political factors, ethnicity, religion, literacy, material well-being, media and communications, resource availability, economic factors, the role of external assistance, and many other variables. Tactics include such basics as training, fund-raising and organizing, as well as leafletting, protests, strikes, mass action, civil disobedience and noncooperation.

I want this for Christmas :)

]]>