My Faults My Own

One's ponens is another's tollens.

IN WHICH Ross Rheingans-Yoo, a sometimes-poet and else­wise a recently-graduated student of Computer Science and Math, oc­cas­ion­al­ly writes on things of int­erest.

Reading Feed (last update: April 2)

A collection of things that I was happy I read. Views expressed by linked authors are chosen because I think they're interesting, not because I think they're correct, unless indicated otherwise.


Blog: Don't Worry About the Vase | On Automoderation -- Zvi concretizes much the the vague disease I was feeling around Automoderation, despite it being an eminently plausible approach to its design specification.


Blog: JeffTK | Slack tool: predict -- Note that Jeff's implementation is of a market mechanism that's not budget-balanced, and rewards marginal improvements of the "last price", rather than marginal improvements of the "current best price". I suspect that these design decisions have the net effect of denoising the signal of predicter quality.

Blog: Schneier on Security | New Gmail Phishing Scam -- "The article is right; this is frighteningly good."

Blog: Marginal Revolution | The Baffling Politics


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


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.


  • 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?


Turing: Halting


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.

1 / 1