Hacker School is now the Recurse Center. Read more.
Logo no text ab02ba4e6d854337f7d7515e08f57520a82883ace40d22b4de689435cc211ffd


Residents spend one or two weeks full-time at the Recurse Center and work directly with Recursers. We look for people who are exceptionally smart and warm, have significant expertise and passion, and are genuinely interested in helping others become better programmers.

Past residents

Tim Abbott
Tim was the CTO and co-founder of Ksplice, which developed technology for updating a running Linux kernel without rebooting that was running on over 100,000 production servers when it was acquired by Oracle in 2011. After Oracle, he co-founded Zulip, a powerful group chat application, which was acquired by Dropbox in 2014. Tim is currently the technical lead for Dropbox's main server platform. In his spare time, he advises startups, enjoys hiking, cooking, and board games, and leads the Zulip open source project.

Nada Amin
Nada is a member of the Scala team at EPFL, where she studies type systems and hacks on programming languages. She has contributed to Clojure's core.logic and Google's Closure compiler. She's loved helping others learn to program ever since tutoring SICP as an undergraduate lab assistant at MIT.

Ranjit Bhatnagar
Ranjit Bhatnagar is a sound artist who works with technology, language, and found materials to create interactive installations and musical instruments. His works have been exhibited across the United States and Europe. In his annual Instrument-a-Day project, now in its eighth year, he creates a new homemade musical instrument each day of the month in February. Ranjit recently worked with the art collectives, Flux Factory and Rabid Hands, to build a large-scale musical installation at Palais de Tokyo in Paris. His interactive sound work, Singing Room for a Shy Person, commissioned by Amsterdam’s Métamatic Research Initiative, previewed at NYC’s Clocktower Gallery in 2013 and moved to Museum Tinguely in Basel for the Métamatic Reloaded exhibition. In 2013, he launched his speech-music instrument, Speak-and-Play, with Margaret Leng Tan at theUnCaged Toy Piano Festival; presented work at Qubit's Machine Music Festival; and premiered a calligraphy-and-gesture-based score for the Brooklyn Ballet with calligrapher David Chang. This summer, he reinstalled his sculpture Stone Song at the Caramoor Centre for Music and the Arts in New York. Originally from the San Francisco Bay Area, Ranjit received a BA from U.C. Berkeley and an MS from the University of Pennsylvania. He lives in Brooklyn next to a nice big park.

Jamie Brandon
Jamie spent years travelling the world as a consulting computer scientist. He has seen everything from finance and gaming to the depths of corporate IT and is now pretty sure we are doing it wrong. Currently he is working on rethinking programming with Eve and hoping to do it at least slightly less wrong this time around.

Will Byrd
Will is a co-author (with Dan Friedman and Oleg Kiselyov) of The Reasoned Schemer, and co-creator of the miniKanren relational programming language. Will loves playing with interpreters and program transformations, and is especially fond of quine-generating relational interpreters. He also hosts semi-regular Google Hangouts on relational and functional programming. He is currently a postdoctoral researcher in Matt Might's U Combinator group at the University of Utah.

Paul Chiusano
Paul is a contributor to the Scalaz project and the author of Functional Programming in Scala. He also does Scala and FP consulting. In his spare time, Paul is working on a new programming environment called Unison.

Mel Chua
Mel is a contagiously enthusiastic hacker, writer, and educator. Her Engineering Education research at Purdue focuses on how hackers learn and how engineers are taught. You may know her from the Ada Initiative, Red Hat’s Community Leadership Team, Fedora, Sugar Labs, One Laptop Per Child, the MIT Media Lab, Design Continuum, Appropedia, or OpenPlans, among other places.

James Coglan
James has been working on the web for nearly a decade, mostly in Ruby and JavaScript across many bits of the stack. He maintains a number of open-source side-projects, including Faye, Canopy and jstest, and last year published JavaScript Testing Recipes. He currently works at FutureLearn and is trying to work on his coaching skills. He'd like to know more about functional programming and building languages.

Evan Czaplicki
Evan is the designer and developer of Elm, a purely functional programming language for web programming. He works at Prezi improving Elm's compiler, tools, community, and learning resources to make the language a great choice for industrial use. Evan loves functional programming, Haskell, OCaml, Elm, compilers, type systems, library design, front-end programming, JavaScript, and reactive programming. He previously worked at Google and Microsoft.

Mark Dominus
Mark has been programming in various capacities since around 1976. He is best-known for writing the 2005 book "Higher-Order Perl", in which he adapted higher-order programming techniques widely used in Lisp, Haskell, and SML for use in Perl. His other achievements include setting up Time-Warner's first corporate web site, developing an online catalog, recommendation, and shopping system for Estee Lauder, and bringing "The Dysfunctional Family Circus" to the Web. Mark also loves Unix system programming, mathematics, and crocuses.

Patrick Dubroy
Patrick Dubroy is a programmer and art school dropout. He currently works with the Viewpoints Research Institute and the Communications Design Group at SAP Labs, developing languages and tools to make programming better. Previously, he worked at Google as a software engineer on Chrome and Android, and at BumpTop as a programmer and interaction designer. Originally from Canada, he now lives in Munich (and yes, he owns a pair of Lederhosn).

Jonathan Edwards
Jonathan has been programming for 45 years. He was cofounder and CTO of IntraNet, Inc. where he built a document-oriented transactional replicated database in the 80’s. He learned the most about programming by having to carry a beeper for 15 years. A graduate of the Kingsville Elementary School, he has been a Research Fellow at MIT CSAIL and is now a member of the Communications Design Group at SAP Labs. He blogs at alarmingdevelopment.org. He specializes in being tragically ahead of his time.

Chris Granger
Chris grew up as part of the Nintendo generation, having learned the parts of a computer at the age of two and later learning numbers and colors from a Sesame Street game on the NES. He started programming at the age of ten and took his first paid development gig at 17. Since then he's built websites large and small, written frameworks and libraries used by thousands, taught developers around the world, and helped envision the future of development at Microsoft. These days, he's the co-founder and CEO of Kodowa, where they built the next generation code editor Light Table and now Eve, a new vision for putting computation in the hands of everyone.

Philip Guo
Philip is a CS researcher, programmer, and writer. He does human-computer interaction research, creates software tools for online education (most famously Python Tutor) and writes about Ph.D. life (e.g. The Ph.D. Grind). In Fall 2014, he will be an assistant professor of Computer Science at the University of Rochester. He writes code and nonfiction prose at pgbovine.net.

Marijn Haverbeke
Marijn is the author of Eloquent JavaScript. His technical interests range from programming languages to distributed systems to databases. He runs a small lifestyle business around his open-source projects, such as Tern, CodeMirror, and ProseMirror. He's made important contributions to the Rust compiler.

Kate Heddleston
Kate Heddleston is a software engineer from San Francisco who builds web applications using Python and Flask. She received her Bachelor's degree in Communication: Human-Computer Interaction and her Master's degree in Computer Science: Human-Computer Interaction from Stanford. She enjoys using open source tools to build web applications and especially likes building portions of the product that interface with the user. When she is not programming, Kate is involved with organizations like Hackbright Academy, PyLadies, and Raphael House. Kate is currently traveling the world and working on personal projects.

Leigh Honeywell
Leigh is a Security Engineer at Heroku, a Salesforce.com company. Prior to Heroku, she worked at Microsoft , MessageLabs/Symantec, and Bell Canada. Her career has included everything from stringing cable and building phone systems to responding to some of the most critical computer security incidents in industry history, shipping software to a billion people, and protecting infrastructure running a million apps. Her community work includes founding the HackLabTO hackerspace in Toronto, Canada, and the first feminist hackerspace, the Seattle Attic Community Workshop, as well as advising countless others and speaking about hackerspace cultures, collaboration, and open source software. She is now a member of the Double Union women’s hackerspace in San Francisco. She is an administrator of the Geek Feminism wiki and blog, an adviser to the Ada Initiative, and the SECTor security conference in Toronto.

Jacob Kaplan-Moss
Jacob is one of the lead developers and co-creator of Django. Jacob's a software developer with a focus on web application architecture. He's a consultant at Revolution Systems, where he helps companies deploy and scale websites using Python and Django. Jacob is also the CTO of Grove.io, an enterprise chat service backed by IRC.

Stefan Karpinski
Stefan is the co-creator and core developer of the Julia programming language, a high-level, high-performance dynamic programming language for technical computing. He currently hacks on Julia full-time as a research scientist at MIT working on problems in parallel computing. He's previously worked at Akamai, Citrix Online, and Etsy.

Martin Kleppmann
Martin Kleppmann is attempting to straddle the gap between research and industry in the area of data systems. He is currently writing Designing Data-Intensive Applications for O'Reilly, which explores the fundamental algorithms, architecture choices and trade-offs in databases and other data systems. He gives lots of talks and contributes to various open source projects including Apache Samza. He previously co-founded a startup, Rapportive, which was acquired by LinkedIn in 2012. You can find him on Twitter at @martinkl.

Grzegorz Kossakowski
Grzegorz is a software engineer at Typesafe where he works on the Scala compiler and tools surrounding it. For over a year he worked on improving Scala's compilation speed by making its incremental compiler smarter. He loves exploring different ways of increasing programmers' productivity and happiness. He found working on compilers a great way to make a dent in programmers' lives. When not hacking the Scala compiler, he enjoys thinking about new programming models for the Internet of Things.

Lindsey Kuper
Lindsey is a Ph.D. candidate in the Programming Languages Group at Indiana University, where she studies the foundations of deterministic parallel programming. She's a recidivist Mozilla Research intern and contributor to the Rust programming language. She's worked on a semantic model for a language that allows safe intermingling of statically and dynamically typed code, and on a pattern matcher for miniKanren, giving her an upper bound of 4 on her Erdős number.

Michael Lee
Michael is a graduate student at UT Austin and studies security and OSes. He works on improving and changing the security properties of commodity operating systems and research into creating practical crypto protocols and systems. He has also collaborated with researchers at Columbia University and Sandia National Labs.

Glyph Lefkowitz
Glyph is the founder of the Twisted project, the Python event-driven networking engine, as well as the creator of numerous open-source efforts under the Divmod umbrella. Glyph is also a published author (on the subject of massively multiplayer game design), software development blogger, and regular public speaker, having presented numerous times on a variety of topics at PyCon, and keynoted at Djangocon.

Robert Lefkowitz
Robert (a.k.a. r0ml) is a programming language enthusiast who enjoys obscure programming languages. He is a collector of programming techniques for improving clarity, increasing reliability, and maximizing brevity. He is a frequent speaker on the effects of the late Middle Ages and early Renaissance on the art of programming. His first programming project was on an Olivetti-Underwood Programma 101. He is an ACM Distinguished Engineer. Photo by Amanda Thomas.

Haoyi Li
Haoyi Li is a software engineer at Dropbox who works on Dropbox's web stack during the day and open-source Scala projects at night. At Dropbox, he's known for building the tools, libraries and systems that make web developers more productive. In the open source world he's most well known for his work on building out the Scala.js community and ecosystem.

Crista Lopes
Crista is a Professor of Informatics in the School of Information and Computer Sciences at the University of California, Irvine. Her research focuses on software engineering for large-scale data and systems. Early in her career, she was a founding member of the team at Xerox PARC that developed Aspect-Oriented Programming. Along with her research program, she is also a prolific software developer. Her open source contributions include OpenSimulator, a virtual world server, and a set of software acoustic modems that mimic sounds found in nature. She is also a founder of Encitra, a company specializing in virtual reality for early-stage sustainable urban redevelopment projects. She has a PhD from Northeastern University, and MS and BS degrees from Instituto Superior Tecnico in Portugal. She claims to be the only person in the world who is both an ACM Distinguished Scientist and Ohloh Kudos Rank 9.

Kevin Lynagh
Kevin is a principal at Keming Labs, where he visualizes data and builds statistical interfaces on the web. He has written enough JavaScript to be terribly excited about ClojureScript. Before Clojure he wrote machine learning tools in R. Kevin lives in Portland, Oregon, and spends as much time rock climbing as he does in the REPL.

Nathan Marz
Nathan Marz created the Apache Storm and Cascalog projects and wrote "Big Data: Principles and best practices of scalable realtime data systems". He was the lead engineer of BackType, which was acquired by Twitter in 2011, and he is currently working on a new startup. When not programming, you'll often find him flying overhead enjoying the beautiful views at 5500 feet.

Jessica McKellar
Jessica is a maintainer of Twisted, the Python evented networking library. She's on the board of the Python Software Foundation, and helps run the Boston Python Meetup, where she's had tremendous success bringing women into the community and helping programmers of all stripes contribute to open source. Jessica previously worked as a developer at Ksplice, where she helped write their ridiculously good blog.

Matt Might
Matt Might is an Associate Professor and Presidential Scholar in the School of Computing at the University of Utah. His current research interests include program analyzers for security; parsing with derivatives; elegant functional data structures and algorithms; and using template meta-programming to embed domain-specific languages in C++. At Utah, Matt teaches how to use, design, analyze, optimize, interpret and compile scripting languages, including a course in which students construct a compiler for Python from scratch. As of late, Matt has also developed an interest in genetics, molecular biology and glycobiology in particular. Matt received his Ph.D. in Computer Science from Georgia Tech in 2007. He blogs regularly at blog.might.net and tweets from @mattmight.

Ron Minsky
Yaron is currently the Head of Quantitative Research and Technology at Jane Street Capital, the largest commercial user of OCaml. He is also a coauthor of O'Reilly's upcoming Real World OCaml, and previously ran an excellent workshop on OCaml, Core, and Async for the winter 2013 batch.

Neha Narula
Neha Narula (@neha) works on distributed systems and makes multicore databases go faster. She has worked on a system for executing queries on a sharded database called Dixie, an in-memory cache with materialized views called Pequod, and a multicore database that leverages commutativity called Doppel. In a previous life she was a software engineer at Google where she worked on Google Shopping, Blobstore, and Native Client.

David Nolen
David is a Clojure and ClojureScript contributor and the creator of core.logic. He's previously visited Hacker School on multiple occasions, and has helped several Hacker Schoolers become Clojure contributors. He's currently a developer at the New York Times.

Peter Norvig
Peter is a Director of Research at Google; previously he directed the core search algorithms group. He is a AAAI Fellow, ACM Fellow, and American Academy of Arts & Sciences Member. He is co-author of Artificial Intelligence: A Modern Approach, the leading textbook in the field, and co-teacher of an Artifical Intelligence class that signed up 160,000 students, helping to kick off the current round of massive open online classes.

Ben Orenstein
Ben hosts the Giant Robots Podcast, runs Upcase, and co-created Trailmix. He is a frequent teacher and speaker, and works at thoughtbot in Boston.

Allison Parrish
Allison is a computer programmer, poet, educator and game designer who lives in Brooklyn. Her teaching and practice address the unusual phenomena that blossom when language and computers meet. Allison is currently the Digital Creative Writer-in-Residence at Fordham University and an adjunct professor and ”something-in-residence” at NYU’s Interactive Telecommunications Program, where she teaches a course on writing computer programs that generate poetry.

Alex Payne
Alex co-authored O'Reilly's Programming Scala, and was one of the first programmers at Twitter, where he helped scale the service and focused on their developer platform and core infrastructure. More recently, he served for two years as CTO of Simple. He writes a great blog. Alex was a resident in the fall 2012 and summer 2013 batches. Photo by Dave Fayram.

Greg Price
Greg is a kernel hacker, programming language enthusiast, and systems programmer. He previously worked at Ksplice and Quora, and extended the Internet's short memory a little with YouTomb and NewsDiffs. He loves diving deep into a source tree to find something out, or digging in with a good tracer or profiler. Greg once thought a career making theorems instead of code would be fun, but after a few good theorems and much more code snuck into off-hours, he decided to run with it.

Prabhakar Ragde
Prabhakar Ragde has been a Professor in the Cheriton School of Computer Science within the Faculty of Mathematics at the University of Waterloo since 1988. Much of his research has been in the areas of algorithms and complexity, but he has recently become captivated by functional programming and type theory, and has developed curricula in the area ranging from introductory to senior graduate level. His favorite programming languages are Racket, ML, Haskell, and Coq.

Brandon Rhodes
Brandon is a consulting Python programmer best known as the author of the PyEphem open-source astronomy library and the co-author of Foundations of Python Network Programming, which he is currently updating for Python 3. He also teaches Python courses professionally. For several years he was the community organizer for Python Atlanta, before moving to the small Ohio town that currently serves as his base of operations.

Alex Rudnick
Alex works on natural language processing at Indiana University in hopes that this will result in both a PhD and better machine translation systems for the world’s under-represented languages. Outside of academia, he contributes to NLTK and has worked at Google both as a software engineer and a perennial intern at Google Research, where he helped out on Google Translate. He can’t seem to stop teaching, which is good because he really enjoys it.

Peter Seibel
Peter wrote Practical Common Lisp and Coders at Work, in which he interviewed 15 all-time great programmers. Peter spoke at Hacker School during our summer 2012 batch and blew us away with his thoughtful advice for becoming a better programmer and genuine engagement with students. He's currently an engineer at Twitter.

Star Simpson
Star Simpson is a currently unaffiliated electronics hacker and aviation enthusiast with a passion for the potential transformative power of applications for drone technologies. She was fed Perl as a baby before discovering embedded programming and has been trying to unlearn habits learned therein ever since.

Paul Tagliamonte
Paul is a Software Engineer working at the Sunlight Foundation, a 501(c)3 nonpartisan nonprofit that advocates for open government globally and uses technology to make government more accountable to all. During the nights, Paul hacks on Debian, Ubuntu, and Hy, a Lisp that compiles to Python bytecode.

Sam Tobin-Hochstadt
Sam Tobin-Hochstadt is an Assistant Professor in the School of Informatics and Computing at Indiana University. He has worked on dynamic languages, type systems, module systems, and metaprogramming, including creating the Typed Racket system and popularizing the phrase "scripts to programs." He is a member of the ECMA TC39 working group responsible for standardizing JavaScript, where he co-designed the module system for ES6, the next version of JavaScript. He received his PhD in 2010 from Northeastern University under Matthias Felleisen.

Stephen Tu
Stephen Tu is a graduate student at UC Berkeley in the EECS department. His research interests include both theoretical and practical aspects of optimization and machine learning. He has worked on various open source contributions including developing various probabilistic models for data-microscopes, implementing semidefinite program solvers in mlpack, and various contributions to a previous version of Facebook's HipHop compiler. He still dreams of one day building his own programming language, despite a failed attempt many years ago.

David Turner
David Turner hacks on git and Pants at Twitter. He enjoys recursive backtracking, Unix, Free Software, and board games.

José Valim
José is the creator of the Elixir programming language, a functional programming language that focus on a productive environment for building maintainable and scalable applications. He is also a co-founder of Plataformatec, a consultancy based in Brazil, and a member of the Rails Core Team.

Raquel Vélez
Raquel Vélez is a Senior Software Developer at npm, Inc.in Oakland, CA. She has previously worked at Caltech, NASA JPL, the MIT Lincoln Laboratory, and various universities in Europe. In her off time, you can find her baking, teaching NodeBots not to fall off of tables, and speaking. Also, hanging out with her hilarious husband and two cats dressed in dog suits.

Scott Vokes
Scott is a consultant at Atomic Object, where he builds embedded and distributed systems. Outside of work, his research interests include information retrieval — recent open source contributions include a data compression library for hard real-time systems, testing tools for C, and a content-addressable store. Scott is also the creator of @ghost_things, a byproduct of his love for wordplay.

Frank Wang
Frank Wang is a PhD student at MIT focusing on building secure systems. He did his undergraduate at Stanford, focusing on applied cryptography. He runs the MIT security seminar where top academics come and talk about their most recent research. He is also a member of Roughdraft Ventures, which provides small amounts of capital to early stage student startups. He is currently running a summer program for early stage security companies called Cybersecurity Factory. He has interned at the security teams at Google and Facebook as well as consulted for security companies like Qualys. When he is not busy worrying about your security, he enjoys going to art museums and being outdoors.

John Myles White
John is a Ph.D. student in the Princeton Psychology Department, where he studies human decision-making. He's the author of two popular books on Machine Learning: Machine Learning for Hackers and Bandit Algorithms for Website Optimization. John is also the author of several popular packages for R, including ProjectTemplate and log4r, and is currently developing the core data analysis toolchain for Julia.

Jean Yang
Jean is a final-year Ph.D. student at MIT, where she studies programming languages. For her Ph.D. thesis she has created Jeeves, a programming language for automatically enforcing information flow policies for security and privacy. She also worked on Verve, an operating system verified end-to-end for type safety. Jean believes all programmers should empower themselves by understanding the tools they have at their disposal. To encourage everyone to learn Haskell, she created Haskell Ryan Gosling.