Author of Zepto.js, of script.aculo.us, and I’m a Ruby on Rails core alumnus.
Why not try Freckle, the best time tracking software ever! 🙂
Learn how to design things for humans
Stick to a few languages. Master them.
Don’t follow the hype
Stick to a style
Implement that minimum viable solution
Coding > Configuration
Never stop learning
My primary research area is static analysis of higher-order programs.
My broader interests include language design, compiler implementation, security, program optimization, parallelism and program verification.
I run the U Combinator software systems research group.
I am available as an expert witness on subjects within my expertise. With respect to my reports, I am willing to be deposed and to testify.
My son Bertrand was the first patient ever discovered with a rare disorder known as N-Glycanase deficiency. I wrote an essay about the process of scientific discovery, and the aftermath has been covered by an article in The New Yorker and in Der Spiegel. Learn more at NGLY1.org.
Spring 2015: Compilers.
Spring 2014: Scripting Languages.
Fall 2013: Advanced Compilers.
Spring 2013: Compilers.
Spring 2012: Scripting Languages.
Spring 2011: Compilers.
Fall 2009: Advanced topics in compilation.
Spring 2009: Programming language analysis.
Spring 2009: Static analysis seminar.
blog.might.net is really just a collection of short articles.
Here are the 7 most recent:
HOWTO: Get tenure
Counting hash collisions with the birthday paradox
Parsing BibTeX into S-Expressions, JSON, XML and BibTeX
Low-level web programming in Racket
Rare disease match-making via the internet
Desugaring regular operations in context-free grammars
Meeting notes: Small thoughts on large cohorts
Everything You Know About Latency Is Wrong
Dissecting Message Queues
You Cannot Have Exactly-Once Delivery
A Look at Nanomsg and Scalability Protocols (Why ZeroMQ Shouldn’t Be Your First Choice)
Go Is Unapologetically Flawed, Here’s Why We Use It
Infrastructure Engineering in the 21st Century
Everything You Know About Latency Is Wrong
Probabilistic algorithms for fun and pseudorandom profit
You Own Your Availability
What You Want Is What You Don’t: Understanding Trade-Offs in Distributed Messaging
NSA whistleblower. Prosecuted under Espionage Act for Telling Truth to Power. Be Divergent – Question Authority. Defending Life, Liberty & Pursuit of Happiness!
Founded in 2011, the Recurse Center is a free, self-directed, educational retreat for people who want to get better at programming, whether they’ve been coding for three decades or three months. Participants come from around the world for 12-week batches in New York, where they write open source software and grow together as programmers in a friendly, intellectual, and energizing environment.
With an alumni network of more than 500 people in dozens of countries, we have one of the most tightly-knit, diverse, and supportive programming communities in the world.
Our retreat is free for everyone, and we offer need-based living-expense grants of up to $7,000 to women and people from groups traditionally underrepresented in programming.
Prior to March of 2015, we were (confusingly) named Hacker School.
The Recurse Center is…
We value intrinsic motivation and self-direction, and believe people learn best when they’re free to explore their passions and interests.
We’re free for everyone. We also offer need-based grants for living expenses for people from traditionally underrepresented groups in programming.
We look for smart, friendly, self-directed, and intellectually curious people who enjoy programming and want to get dramatically better.
We have exceptional residents including Peter Norvig, Jessica McKellar, Yaron Minsky, Leigh Honeywell, David Nolen, Peter Seibel, Nada Amin, and more.
The atmosphere here is friendly and intellectual. We have a gender-balanced environment, and lightweight social rules.
We have a tight-knit community of more than 600 alumni from over 25 countries. Our motto is “never graduate.”
Recursers have made significant contributions to dozens of open source projects and started many of their own.
We make money by helping great companies hire our alumni. There’s no obligation to take a job if you don’t want one.
Mary Rose Cook
This essay explains how Git works. It assumes you understand Git well enough to use it to version control your projects.
The essay focuses on the graph structure that underpins Git and the way the properties of this graph dictate Git’s behavior. Looking at fundamentals, you build your mental model on the truth rather than on hypotheses constructed from evidence gathered while experimenting with the API. This truer model gives you a better understanding of what Git has done, what it is doing, and what it will do.
The text is structured as a series of Git commands run on a single project. At intervals, there are observations about the graph data structure that Git is built on. These observations illustrate a property of the graph and the behavior that this property produces.
Git is built on a graph. Almost every Git command manipulates this graph. To understand Git deeply, focus on the properties of this graph, not workflows or commands.
To learn more about Git, investigate the .git directory. It’s not scary. Look inside. Change the content of files and see what happens. Create a commit by hand. Try and see how badly you can mess up a repo. Then repair it.