Icosian Reflections

…a tendency to systematize and a keen sense

that we live in a broken world.

IN  WHICH Ross Rheingans-Yoo—a sometime quantitative trader, economist, expat, EA, artist, educator, and game developer—writes on topics of int­erest.

April 10 Links: The Once and Future Friday Tradition

Back after more than two months, the Friday linkwrap!

(Does anyone else get as excited for these as I do? No, right?)

So, I've been pretty delinquent about these, but at least I've had the decency to keep stashing things I found worth reading at Reading Feed, with backlogs at Reading Feed (March 2015) and Reading Feed (February 2015).

1

WSJ | China to Start Keeping a List of Badly Behaved Tourists sounded pretty scary -- until I read the article and realized that the measures are directed at Chinese citizens abroad, not visitors to China. And then it all sorta made sense, conditioned on China being, 'yknow, China.

Said Chinese president Xi Jinping:

Don't throw water bottles everywhere, don't destroy people's coral reefs and eat fewer instant noodles and more local seafood. (...)

2

On the topic of environmentalism, I'm on the record opining that pressuring the Harvard Management Corporation to divest from fossil fuels is a red herring, but that doesn't mean that digging up all of the of the known deposits of fossil fuels and burning them would be exactly as horrible as you'd expect: (all numbers Fahrenheit)

The next set of fossil fuels in line is referred to as resources, rather than reserves. The difference is that they are recoverable with today’s technology, but not at current prices. There is 3.1 degrees’ worth of warming if the oil and natural gas in this category are utilized, which would lead to a total increase in global temperatures of 7.6 degrees.

This warming does not even consider our coal resources. A middle-of-the-road estimate of the coal that qualifies as resources indicates that its use would lead

READ MORE

I'm in the HPR!

I'm in the Harvard Political Review today, with a guest piece responding to Eric Posner's anti-effective-altruism opinion in Slate:

Posner...is convinced that this tendency toward scrupulosity is enough of an issue that we should abandon the concept of effectiveness in altruism entirely. His critique, though, is not a new one—several effective altruists are also concerned about scrupulosity, and many of them have shared stories from their own lives about balancing giving effectively against more personal cares. For me, these stories are important because they demonstrate that caring about effective opportunities to do good is not mutually exclusive with making the world better in other ways you choose. (...)

Much-deserved thank-yous go to Advik Shreekumar, Ben Kuhn, and Leah Libresco for helping with edits. Meanwhile, here's the original version with footnotes (the HPR doesn't do footnotes).

Man, writing for real publications is so stressful. Word limits, even if they're only suggestions, suck.


A few things that didn't make it into the HPR version (besides those glorious, glorious footnotes):

Scott Alexander defends a definition of "doing effective good" that's keyed to a 10% donation, rather than a [maximum]% one:

If you want to feel anxiety and self-loathing for not giving 100% of your income, minus living expenses, to charity, then no one can stop you.

I, on the other hand, would prefer to call that "not being perfect". I would prefer to say that if you feel like you will live in anxiety and self-loathing until you have given a certain amount of money to charity, you should make that certain amount ten percent.

Why ten percent?

It's ten percent because that is the standard decreed

READ MORE

Lower Tuitions at Stanford


(1)

Stanford's in the news today for: Stanford just made tuition free for families earning less than $125,000 per year. The news is usually accompanied by pictures of smiling students and balloons:

A smiling student and some balloons.

For example.

...and it usually takes the article in question a few paragraphs to get around to noting that:

The announcement is an expansion of Stanford's old financial aid policy, which previously applied to students from families making less than $100,000 per year. (...)

...which raises the question: Just how many students at Stanford come from families with incomes greater than $100k and less than $125k? ...and just how desperately did those families need to have their tuition costs reduced from \(\leq\)$13.5k[1] to $5k[2]?

(EDIT | A bird in my ear mentions that $100k/yr puts you in the 80%tile of American families, which seems at least approximately-correct.)


(2)

About a year ago, Ken Griffin donated $125 million in support of Harvard's financial aid program, funding 539 full scholarships to Harvard. Kim Soffen, writing in the Harvard Political Review, wrote:

An important first note is that the recipients of this new pool of money will not be the poorest students at Harvard; even before this donation, Harvard already guaranteed full scholarships to any family making under $65,000 per year, and that families making up to $150,000 would not have to pay more than ten percent of their income. Consequently, these additional scholarships would be going towards students from families who are already safely

READ MORE

Notes: The Gender Gap in Math

"The Gender Gap in Math" presented by the Harvard Undergraduate Mathematics Association

Panel: Gigliola Staffilani (Professor, MIT Math), Rediet Adebe '13 (PhD, Harvard SEAS), Hilary Finucane '09 (PhD, MIT), Alison Miller '08 (Postdoc, Harvard Math)
Moderator: Sarah Richardson (Professor, Harvard Social Studies)

Notes legibility estimate: HIGH

Notes completeness estimate: Incomplete; important, scattered quotes only.

Please assume that everything is at best a loose paraphrasing of what the panelists actually said; in the place where it got really bad, I've noted [paraphrased], but the others aren't always close quotations, either. Many good answers were left off because I'm seriously not that fast at taking notes.


HUMS: Some Numbers

The Harvard Undergraduate Math Survey (May 2014) was organized by Meena Boppana, Kate Donahue, Domniki Georgopoulou, and Caitlin Stanton, with contributions by Rahul Dalal, Ellen Robo, and Isabel Vogt, and advised by Prof. Benedict Gross. It had 130 responses, 55 from math concentrators (1/3 of math undergrads); here are a few of the findings.

Are you made uncomfortable by the gender gap in math?

  • 3% of male responents
  • 54% of female respondents

How many professors do you believe you can ask for a letter of recommendation?

  • Female respondents: 1.0
  • Male respondents: 1.6

Did you compete in math competitions in high school?

  • 80% of male respondents
  • 75% of female respondents

Are you planning on writing a thesis in pure mathematics?

  • 25% of female respondents
  • 50% of male respondents

Are you planning on grad school in mathematics?

  • 65% of male respondents
  • 25% of female respondents

Panel Discussion

Moderated by: Professor Sarah Richardson, Professor of popular gen-ed "Gender and Science: From Marie Curie to Gamergate"

Richardson: Let's get a

READ MORE

Notes: Parallel Proofs for Parallel Programs

Languages and concurrent programs

Zac Kinkaid -- U. Toronto

Notes legibility estimate: LOW


Automatic analysis of algorithms

We'd like to know things like "What numeric types are used here? Are these array accesses in-bounds?"

Today: Proving the absence of faults in multi-threaded programs.
Multi-threaded programs are a great target for automated analysis, since they're so notoriously difficult for humans to reason about.

History:

  • Floyd -- program invariants
  • Ashcroft, Manna -- extended Floyd to multithreaded programs by treating a multiprogram as a nondeterministic single-threaded program -- difficulty: doesn't scale in #threads
  • ??, Reese -- (for data-independent threads) Prove each thread correct individually; then check that the reasoning doesn't interfere across threads -- difficulty extending to data-dependent threads, which requires some cleverness, which is difficult to automate

in common: attempts to reason about multi-threaded code using (extensions of) sequential reasoning


The big problem

Given (program, property), does property(program) hold?

Problem!

Turing: Halting indeterminacy
Rice's Theorem: Every nontrivial property is undecideable

Solution

Allow either one-sided error or indeterminacy/divergence


Example

x = 2; y = 1
while(y != 0):
    y = randInt() mod x
    x = y + 2

Consider let the set of reachable states be points on the integral lattice; while we can't compute anything meaningful on all of them, we can reason about geometric supersets of them (here, the set \(y-x\leq1\))

Invariants from Constraints

Write a constraint system defined by program structure; prove by induction that the invariants continue to hold

Again, this extends badly


Data-flow graphs

Draw some sequential graphs side-by-side; add additional cross-thread dataflow links (aware of active synchronization). Think: When you're imposing synchronization on your programs, you're really pruning unwanted dataflow.

Multiple-threading: Need to add data-flow links within threads

READ MORE

Xerox Xerox

On the advice of Bill Gates (GatesNotes | 6 Books I Recommended for TED 2015), I picked up this free-to-read chapter of John Brooks's Business Adventures, titled "Xerox Xerox Xerox Xerox".

What a fantastic read.

In a story reminiscent of the dot-com boom that would come forty years later, Brooks describes the meteoric and explosive rise of xerography in the American officeplace, and the group of inventors who re-mortgaged their houses and crowded into a workshop whose roof leaked tar on hot days to create the first office copier that could print on normal, untreated paper.

Two sections stood out as particularly spectacular, though the piece is fascinating throughout. (Note that Brooks is writing in the sixties about businesses that were operating in the sixties, and that his depictions of what would today be stunning sexism and racism were entirely the norm contemporarily.)


Apart from malfunctions, the machine requires a
good deal of regular attention from its operator, who is almost invariably a woman. (The girls who operated the earliest typewriters were themselves called "typewriters," but fortunately nobody calls Xerox operators "xeroxes.") Its supply of copying paper and black electrostatic powder, called "toner," must be replenished regularly, while its most crucial part, the selenium drum, must be cleaned regularly with a special non-scratchy cotton, and waxed every so often.

I spent a couple of afternoons with one 914 [Xerox copier] and its operator, and observed what seemed to be the closest relationship between a woman and a piece of office equipment that I had ever seen. A girl who uses a typewriter or switchboard has no interest in the equipment, because it holds

READ MORE

Notes: Building a Better Web Browser

These are my cursory notes from a talk given by James Mickens of Microsoft Research, in March 2015, titled "Building a Better Web Browser".

Notes legibility estimate: MEDIUM

---

The State of Progress

Chrome, Opera isolate the renderer in separate processes -- this allows tabs to crash on their own. ...but the issue is that the browswer is still a monolithic kernel.

Servo -- extra threading! ...but still monolithic.

The problem: Browser developers take the monolithic design as a given, and tinker around the edges.

The Problem

What is a browser trying to do? Provide services for origins -- render, computation, i/o + messaging

  • It provides
    origin = <protocol, host, port>

Render: HTML CSS MathML Aria WebGL video canvas images

IO: XHR DOM IndexedDB Cookies FileReader BrowserCache AppCache

Currently: providing services for origins, but they're high-level and complex. You wouldn't ask your operating system to implement Emacs in the kernel. ...well, you might. That was a test; I've already called the police on you.

Kernel: network, UI, storage (concurrency)

Usercode: rendering, javascript, parser


Atlantis

Taglines: security, performance, robustness

But first, some depressing things...

Browsers offer many opportunities for parallelism! ex: HTML parsing, rendering, network and disk IO. But current architectures limit concurrency, suffer from races.

But the DOM model says: JS is single-threaded, and cannot see browser locks. So: JS execution should biglock the DOM. What does happen: NOT THAT.

But in reality, there's just no concurrency re: the DOM. None. more at: Race Detection for Web Applications -- Petrov et al., PLDI '12

idiosyncratic abstraction (n.) an abstraction that is inconsistently applied throughout an application.

HTML5 screen-sharing attacks: SOP should prevent attacker.com from opening and screen-scraping bank.

READ MORE