Icosian Reflections

…a tendency to systematize and a keen sense

that we live in a broken world.

IN  WHICH Ross Rheingans-Yoo—a sometime economist, trader, artist, expat, poet, EA, and programmer—writes on things of int­erest.

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

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
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)

READ MORE
1 / 1