The Center For Applied Rationality

This weekend I attended a workshop in Boston organized by the nonprofit Center For Applied Rationality. The workshops are focused on developing better understanding and control of our own decisions and behavior. Heavily leaning on cognitive science research, the CFAR teachers and community have developed a curriculum which seeks to teach and train useful skills, such as “how to make more accurate predictions, avoid self-deception, and use arithmetic in ways that better motivate you to action”.

It’s kind of like if you took the line of thinking introduced in Thinking Fast And Slow, combined it with a couple dozen hand-tested techniques and applications, enough to fill a semester-long college course… and then distilled it all into a weekend retreat.

Confession: I was highly skeptical of the usefulness of this retreat, coming into it. I suspected I knew a fair amount of the techniques to be offered through my own explorations in cognitive science and human rationality 1 — especially since I had read the LessWrong Sequences over the past year, and had made progress integrating the understanding into my life. Even with financial aid, the price point was high enough to make me seriously consider and reconsider my decision to go. Even after I committed, I strongly considered making up an excuse and avoiding the event.

Having done the retreat, I am now highly confident that it was worth the time and money.

The retreat was a four-day experience, with food and housing fully provided (hosted by the most gracious individuals working at the Friendly Crossways Retreat Centerin Littleton, Massachusetts). Most days had packed schedules of various types of lessons and group/pair activities, interspersed with short minute breaks and longer mealtimes.

Image credits to Anna Riedl and Jordan Tirrell

Each retreat is different as the curriculum changes. The overarching structure of this weeked was as follows:

  • Day 1: We learned what I’m calling “rationality primitives”: small pieces of tools and observations which are part of a general toolkit. We set up the System 1 vs System 2 model of cognition, where S1 is the lower, reptile mind-brain, and S2 is the higher level human brain. In a fully functional human being, we want both of these systems working in concert with each other to great success. This is nothing new to anyone who’s read Thinking Fast and Slow or the LW Sequences.One example of what I mean by “rationality primitives” is the idea of a Trigger Action Plan, or TAP. From the linked post, (which summarizes it well and bias-bustingly has no association with CFAR), “[Trigger action planning] sets triggers that later create spontaneous sub-conscious prompts to action.” In jargon, this is taking advantage of locational and situational sub-conscious ‘primes’, in order to prompt desired activity. In practice, this means selecting a desired action: “I’d like to remember to write in my journal nightly”, and linking it to a “trigger”, such as “when I put my plate in the dishwasher after dinner”. Mentally rehearsing “put plate in dishwasher, then go write in journal” sets up a sort of real-life if/then statement which programmers are familiar with. This S1 training tactic is simple enough, and interestingly something I had been doing in my own life without knowing the words/jargon for: I’d paired “do pushups” with “put towel on hook in bedroom after shower” as a way to remember to get those pushups in.

    In general, the primitives from the first day were not altogether too new or foreign, although it’s always fun to learn a couple new names for ideas I’d already been playing with. I soldiered on, knowing the cognitive danger ofthinking I knew everything already.

  • Day 2: We took what we learned the previous day, including the primitives, and combined them into higher order tactics. My cognitive-trap internal battle evaporated as we took the little independent pieces I had some familiarity with and built them into larger-scope cognitive tools and structures within which to build habits and get things done. We had lots of focused time on finding and working out fixes for “bugs” in our lives, and were strongly encouraged to take steps to execute those solutions immediately, rather than even waiting to get back to day-to-day life.The lessons of day 2 arced toward better understanding of urges and motivation, ways to break down large tasks and goals into smaller ones, mentally linking and remembering our goals in a visceral way in order to keep ourselves motivated, and more. One of the common trends I enjoyed was a more graph-y way of breaking down and analyzing ideas or goals (graph in the CS or Neuro sense, with nodes connected by directional arrows or inhibition lines).

    A particularly interesting tool we learned on day 2 was dubbed “Focused Grit”. The technique is when you have a problem to solve, to set a timer andactually spend 5 minutes on the clock solving the problem. It turns out we don’t sit down and genuinely think about solving problems, we tend to allow ourselves to bounce off them and procrastinate. It’s often easy to come up with 1 idea and then be done thinking about the problem. Actually spending 5 minutes is a different thing entirely — especially if you convince yourself (your System 1) that you have to solve the problem in those five minutes, there’s no going back to it afterward, and whatever solution you come up with is the final one.

  • Day 3: The structure for this day was largely taking turns teaching each other various aspects of the techniques learned over the previous days. This served (wonderfully) to cement the understanding and coalesce the initially-seemingly-separate techniques and ideas into a coherent model of understanding. The tone of the retreat was/is such that the techniques being taught are all attempts toward condensing personal experience and cognitive science into an art & science of rationality. The instructors were all very clear that this is an open problem: we do not have all the answers yet, and we should all be working on forming better models and teaching strategies. I must have received the question “What is wrong with this retreat, what would you change?” over 5 times during the weekend, all from the organizers and volunteers. By the 50-hour point in the weekend, it felt like everyone attending had been good friends for ages. Everyone I talked to was interesting and thoughtful, and we had plenty of group silliness during and after the scheduled course-time.

  • Day 4: More life debugging, with a focus on working on problems with partners (Pair Debugging) and groups. We focused on really using and applying the techniques learned over the past days. I had some incredibly personal conversations with a few of the people I paired with and had group time with, conversations I’ll remember for a long time (and longer, thanks to memory tactics and good note-taking habits espoused by this very workshop). We took time to ask ourselves (on the clock, 5 minutes!) a barrage of big, personal, questions: If your life’s narrative was a novel, are you doing what the protagonist would do? If not, why not? What are the things that are truly important, that you want (need) to be optimizing for? And so on. After dinner there were about an hour’s worth of “lightning talks”: quick, 5-minute talks given on various rationality-related subjects, by the participants of the retreat. I gave one titled “Language Hacking”, which focused on the importance of the words we use in daily life (The map is not the territory!), and drew heavily from the work of OG rational linguist Alfred Korzybski. The whole 90-hour weekend was endcapped by tons of socializing, an alumni party in the evening, and shenanigans late into the night.

The community alone is worth it: I had an insightful conversation with every single person I talked to, both during the planned interactions and while socializing.

CFAR is teaching and refining a curriculum based on insights from cognitive psychology and behavioral economics, designed to equip attendees with the tools they need to maximize their productivity and refine their decisionmaking abilities. It’s a great use of a weekend, if you can stomach the cost. Only time (and my own agency) will tell if the retreat has implicated lasting effects in my behavior, though this following week has been wonderfully productive, so I’m hopeful.

1 For those interested in reading materials on the subject, here’s a curated shortlist:
Harry Potter and the Methods of Rationality, aka HPMOR. This is the place to start.
Rationality: AI to Zombies, formerly the LessWrong Sequences. Read these next.
Judgement Under Uncertainty: Heurstics and Biases A classic of cog-sci.
Superintelligence: Paths, Dangers, Strategies. Reading this one currently.
Global Catastrophic Risks. Both educational and terrifying.
MIRI Research Guide. Book list recommended by MIRI

3… 2… 1… Victory!


It doesn’t matter what you majored in*

I’ve encountered a few people recently who have been trying to personally pivot. These people are largely in my age group, and mostly seem to have spent the last several years in an academic setting studying various non-computer-related subjects. And they all seem to be trying to get into computers.

My sampling bias is sky high on this one, especially given that I’m currently attending Hacker School, which more or less says “Come here if you’re interested in learning more about computers” on the tin. But Hacker School aside, I think the trend is something wider-reaching. People want to get into tech. Programming. CS. Hacking. Software Engineering/Architecting/Gardening. Really whichever aspect of computers you could feel like referring to, there seem to be a lot of people kicking themselves for not having been in tech already.

It’s through the maybe sound-bite tech-pop mantra that “software is eating the world”, or an interest in exactly what lies beneath this ocean of complexity in the technology we use today, or even a taking-notice of the sheer profitability of the tech space at-large.

I can relate to this predicament. I started my undergrad intending on studying mechanical engineering. I wrote my first lines of real code (save MSLogo and some basic HTML) during my second semester freshman year mandatory CS course, mandatory for engineering undergrads. I met a group of great people in college, all of whom seemed to be CS majors (or close enough to it) and I began to learn huge swaths of information just through my fantastically nerdy friend group. After some time I switched my major to neuroscience, all while continuing to learn about computers. And finally I switched again, to computer science, and stuck with it long enough to graduate. For me it was in large part through my interest in the brain, in building software that interacts with humans more optimally, and constructing software which ‘thinks’ the way we do. It was also a general disenchantment with academia, and the slowly dawning realization that having programming and computer skill can mean skipping grad school, wielding a powerful, arcane, and conveneintly marketable craft, and importantly (for someone who loves travel) being able to work from anywhere in the world.

Whatever’s gotten us here, I’d really like to say: It doesn’t matter what you majored in. As long as you, and your personal, mental operating-system is installed and ready to go, you’re in the perfect place to learn more about tech.

The whole history of subject-specialization has been one where people from seemingly unrelated backgrounds pivot into new fields, and quickly rack up major contributions because they see things in a different way from the homogeneity pervading the field before their arrival.

Tech is possibly the best example of this, for a couple reasons. The first is an idea I encountered while reading the always-wise ramblings of James Hague over In short, programming knowledge has more potential growing in the fertile substrate of a mind trained in a non-pure-CS field. Hague goes so far as to say that CS shouldn’t be offered as a major in undergrad, and people should only be allowed to minor in it, with a real subject as their major.

The other main key feature with pivoting into tech is the availablility of resources. Learning about computers is one of the best things that can be done with a computer. With other fields, biology for instance, the experts don’t spend all day sitting in front of the internet, so there’s inherently less of their accumulated knowledge available online in the form of blogs, tutorials, and git repositories.

All I really mean to say, at the risk of sounding patronizing, is: don’t beat yourself up for being in your 20s, or 30s, or 40s, or whatever, and feeling sad about not having started learning about computers or programming. There’s definitely a boatload of information to learn and grok. But there’s also plenty of time and resources available and waiting for you. You’ve figured out that you want to start learning about tech, so you’re already on that path. Assuming you’ve done something you’ve found interesting with your past several years on this planet, you will have insight both new and powerful to contribute.

On that note, I’ll wrap this up. I’ve been trying to pivot myself from computers into synthetic biology, and I have an experiment to attend to… maybe I should’ve majored in biochem.

(* It also doesn’t matter if you didn’t go to or didn’t finish university.)

Hacker School

What is Hacker School?

Hacker School (now called the Recurse Center) is a three month retreat, for programmers and people interested in programming. The ‘school’ is a floor of a lower Manhattan office building, with a row of desks running down the length of the room, surrounded by office chairs. Several smaller breakout rooms line the room, each labeled with the name of an important contributor to the the computing world–such as Babbage, Church, Lovelace, Turing, and Hopper.

I use the word ‘school’ loosely, it’s not really an adequate name for what’s going on here.

There are no classes, no (explicit) teachers, no assignments, and no homework. Instead, the chairs of Hacker School are filled with individuals capable of self-determiniation; people who, when left to their own devices, teach themselves. And explore difficult concepts. And build things for fun.

The application and acceptance pipeline for Hacker School filters for this sort of mindset. While there is a filter for making sure people know at least some of the basics of programming (including writing FizzBuzz in a favorite language and an online pair-programming interview), the process also really looks for people driving themselves to learn and explore for the sake of it.

As a result, the people around me come from widely varied backgrounds (and age groups). Looking around, I can sight people with CS bachelors degrees, CS PhDs, several with backgrounds in physics, statistics, microbiology, and sociology. Some of us have worked in the software industry previously, some are in grad school, some never went to college, and some even have children. All of us are either in front of our own laptop, or staring over at a neighbors’, and all of us enjoy learning for the sake of it.

Hacker School is not really at all like Fullstack Acadamy, or Dev Bootcamp, or App Academy. Where those programs are primarily focused on the zero-to-sixty of programming–getting people in, up to speed with a given development stack, and then out the door–Hacker school is geared towards giving people with some degree of experience room to play and explore without structure.

Every morning at 10:30 there’s check-in, where we break out into the little rooms in weekly choose-your-own groups and go around in a circle, talking about what we did the previous day, and what we plan to do in the current. It’s a bit like scrum, for those who’ve done that. This is probably the most structured Hacker School gets, and if you miss checkin, no one’s coming to hold you accountable.

There are also regular seminars and workshops given both by the hacker schoolers and by the 6 more permanent “facilitators”, who run the organization. The workshops are based on interest and expertise, where those with the latter can pass information to those with only the former.


The Experience-As-A-Whole

Four weeks in, I cannot emphasize enough how awesome this program is. This is what university should be like. I’ve learned more here in 4 weeks than I have in whole semesters of undergrad, both because of the sheer focus granted as well as the beautiful lack of structure. There’s an interesting effect at play, with a room of ~60 people all working on at-least-vaguely programming related projects. When I find myself getting distracted, I can almost draw energy from the people around me. Of course I can get this explicity, if I ask questions and get help, and unstick myself from wherever I’m mired. I can also regain focus in a more subtle way, through the vibes of raw concentration in the room. Maybe I was hanging out with the wrong groups in college (I doubt this, s/o to my Purdue buddies), but I never remember being around this many people as engrossed in and excited about their work.

Some current and former Hacker Schoolers have a hard time with this lack of structure. We in general, as modern human beings, are so used to the structure imposed by the school system or by our offices, that when left to our own devices we have no ability to self-mediate or generate focus and direction. Some say that they spent the first third of Hacker School floating, drifting from project to project, in a sense mentally coming to fully grok the actual freedom that Hacker School gives. It’s not a stretch to say that even in this float-y case, the time ostensibly wasted was well spent, as a necessary tax for the time to spin up one’s ability to work in this sort of unstructured environment. In a way, it’s empowering.

Projects I’ve worked on

Traceroute implementation in python. I did this one half for fun, and half in honor of a former hacker-schooler friend of mine who also implemented traceroute, and through whom I came to learn about Hacker School. Github.

Haskell primer. I spent a few days working on learning Haskell, doing the first several chapters of the widely acclaimed CIS-194 course, taught by Brent Yorgey. Freenode’s #haskell pointed me straight at this course when aksed about learning resources, specifically the Spring 2013 one I’ve linked. There’s a great page here on more learning resources for Haskell.

Diffie Hellman Key exchange, generalized to n-participants, in Scala. This is the secret key exchange algorithm used in SSH as well as many other secure applications. Implemented as an exercise in learning both Scala and more cryptoGithub.

GoScore, an iOS app project using OpenCV to score the board game Go. Swift, bridged through Objective C to C++ is remarkably complex. In its current state, the app detects circles reasonably well, but we (myself and another hacker schooler) decided this is the wrong / overly complicated way to go about doing this. This project is on a backburner while I work up the courage to refactor and tackle OpenCV again. Github.

Rhythmic, an album-centric music player in Scala. I listen to music as whole albums generally, and music players are generally more geared towards an individual track experience. This is an experiment in building an album-focused music player with a clean art-heavy UI. Github.


We spent a week in Singapore after our India adventure.

Chinatown market

I really enjoy crowded marketplaces–the more crowded, the better. There’s always so much new to see and smell and taste. Plus, being 6’3″, I generally have a birds-eye view and can still breathe and locate other people I’m with.

Preperations for Chinese new year were well under-way (actual New Years is in a week), which contributed heavily to the crowdedness and expanse of the marketplace.

Sri Mariamman Temple

We visted a Singaporean Hindu temple. The unique thing about this specific temple is that it was populated by Hindu “village gods”–gods that are generally maintained and prayed to by the local farmers/merchants of a small village community as opposed to an official brahmin priest. The village gods have slightly different names and portrayals as the more well-known Temple gods starring in the same mythology and stories.

There’s a similarity to the Christian protestant versus catholic divide in village god worship (being available to the peasants, very personal and accessible) versus temple god worship (controlled by the priestly class, living solely in temples). Protestantism is the idea that the bible should be read by and accessible to everyone, rather than just the priest/father giving the sermon, as decreed by old-school Catholicism.

Because everyone in Singapore is an immigrant at some level, when the Hindus came to the country they were granted space (as all religious singapores) to practice their religion. This space ended up being a temple, naturally, as there’s no room for small, sparse villages on the Singaporean island. So this temple is the only place (within my knowledge) that these village gods are worshipped in a temple setting.

Broken Tooth Relic Temple

The interesting thing about this temple is contained within its name. It contains a relic, a tooth, which supposedly belonged to the original Buddha Gautama. People come and pray to it.

The main philosophical divide (or at least, one of the main philosophical distinctions) in Buddhism is between Theravada and Mahayana Buddhism. Theravada Buddhism is more in line with what’s commonly thought of as Buddhism: Ascetiscism, long hours of sitting meditiation, orange-red robes, and so on. It’s in some ways the more classic and traditional form.

Mahayana buddhism acknowledges that everyone can’t (or won’t or don’t) really take the time to retreat for years and meditate in the woods, or on top of a mountain somewhere. It tries to make the Buddhist philosophy more accessible to the average individual. As such, it tends more towards temple prayer, holy relics, and primarily the idea that enlightened individuals called Boddhisatvas have postponed their unificiation in Nirvana in order to help you, the average individual, come closer to enlightenment. They’re the Buddhist equivalent of the Christian Saints, as far as I can tell.

The Broken Tooth Relic Temple is an example of a Mahayana Buddhist place of worship.



We came for my cousin’s wedding. While not the first Indian wedding I’ve been to, it was the first since I’ve been an adult, and really paying any sort of proper attention to the world around me. The wedding was a lot of fun, with the as-seen-on-TV dancing and delicious food, family and festivity.

Dharavi Slum

We toured the Dharavi slum, the largest slum in Asia.

At first, I was apprehensive of the whole idea: “visiting” a slum seemed intrusive to the lives of those who lived there, as if the homes of over 1 million peoples were a tourist attraction to be gawked at.


Actually touring the slum changed my initial sentiment. The organization giving the tours, Reality Tours, is an NGO geared towards bringing more revenune to the Dharavi community (and the communities of other slums around the world). Our tour guide, Mayur had been born and raised in Dharavi, taught himself english and was now giving tours and studying computers.

The proceeds from the tours went towards community programs such as classes (including computer classes!) and sports organizations for the children growing up there, as well as some for the adults. They provide basic computer skills (office, web browsing, etc), and also sports equipment (footballs (soccer balls) and kleats for the kids). They were recently donated a 3d printer that Mayur (our tour guide) was in charge of figuring out how to use.

Through recycling and other industries, Dharavi moves over $1 billion / year.


We weren’t accosted by beggars at all throughout the 4 hours of being there. Tour-ers are advised against giving to people begging, since it encourages a counterproductive mentality of getting something for nothing.

At one point I picked up a retinue of children who were interested in my watch (I sport a Pebble Steel), asking me questions about it and pulling on my wrist to press its buttons. I was actually surprised by the fact that they were truly interested and not trying to steal it.

The gap between the rich and the poor in Mumbai and across India is much greater than it is in the US, with the wealthy being at the level of the American upper class, and the poor far below the (eg) American poor. For instance, my grandparents’ apartment (where I’m sitting currently and where we stay when we come to bombay) is on the same road as the Ambani house which is the most expensive private residence on the planet. (there was a media wave about it when it was built, not sure if you caught any of that) And it overlooks basically slums, in certain directions.


Although all this being said Bombay has come a long way in the last even 2 years. I’ve noticed a lot less abject poverty on the streets, and a lot of the slum shanty-dwellings have been renovated into low cost apartments. The roads are better. The old Hindustan Ambassador taxi fleet has been largely replaced by new Mitsubishi Santros burning compressed natural gas.

Muslim Street

At Mumbai’s Muslim street we ate kebabs, partridge… I tried goat brain, which has a slightly squishy texture and a taste similar to liver/kidney but not quite as strong.


I fell into the eyes of a young muslim woman standing down the street, probably around my age. She was wearing a full burka, only her beautiful, grey-green eyes were visible at all. I on the other hand was in a button-down and jeans, my RayBans on my head. For whatever reason, time seemed to stop as we gazed at each other for a while, until her (presumably) husband returned and ushered her away. Sappy imaginary pseudo-romance? Probably. Bridging cultural divides? Hopefully.

We also saw a man mysteriously taken away by a cop, who arrived outside his shop-stall and demanded he get in the back of the police jeep. After some back and forth he got in, handing off his wallet to his friend out of the back of the jeep as they pulled away.


Anyway, here are some more pictures:


MHacks III

This weekend, I went with the Purdue Hackers club to MHacks Winter 2014 in Detroit, Michigan. This was the first major hackathon I’d been to, and it was an awesome experience.

The four person team I was a part of created a hardware and software solution for mobile ordering and checkout which we dubbed Spark. Check out our submissionhere.

We won the “Most Technically Impressive” and “Most Viable Startup” awards!