The Future Will Be Signed

Cryptography is becoming more important in our every day lives and there’s no way around it. Whether it’s the calls from governments to ban encryption, come up with “responsible encryption”, or to violate norms and laws, cryptography is playing a role in shaping our society. I’d like to approach the role of cryptography from the other perspective though, from the side of helping us prove facts about the world around us.

Everyone Should Use Generics Except You

As I was on hour six of debugging how to read an object from the database, my brain suddenly noticed the slight difference in two lines of code. The compiler error had been off, too vague to help me realize that I was never hinting the correct type to the function. Generics had struck again. I cursed in the general direction of my cat (unintentionally), and moved on. There was nothing I could do but accept that we’ve all been there, and move on.

Thinking About Thinking

How To Think About Thinking and Focus on Focus

Don’t focus on finding the perfect to-do list app. Once found, you still have to light the spark inside that keeps you going. It’s that spark that moves you along the road; a road that stretches surprisingly far.

I set a goal for myself in early 2017. I was going to spend a lot of time learning. I wasn’t sure what this would look like. I gave myself time to figure it out. Things are rarely simple in life. I knew I wouldn’t find the answer right away.

I wanted to learn how I learn. Everyone learns differently. I needed to figure out the best approach for me. Before I even sat down to learn any topic in particular, I attended a Coursera class to gain perspective on learning. The course involved few weekends worth of work and I came away with great techniques and a deeper understanding of learning as a whole.

Next, I considered the subject matter I wanted to learn. It had to be motivating: motivation has always been a sticking point for me. So I decided to focus on skill building.

I wanted to combine these two thoughts–learning and motivation–to put myself in a better position to learn. A few months passed and that’s when I realized: I still had a lot to learn about thinking itself.


I’ve recently returned to reading, or more precisely, listening to books. My favorite books focus on what’s called “metacognition”. Metacognition means the awareness and understanding of your thought processes. Metacognition unlocked a door for me I hadn’t realized could be opened.

I’ve always thought of myself as a person with good self-insight. As I began to read more, my doubts grew. Thinking Fast and Slow by Daniel Kahneman taught me how cognitive biases work. This knowledge left me both concerned, and, unexpectedly, relieved.

My concern stemmed from the mental gymnastics my mind performs. I found myself especially prone to the attribute substitution bias, and a few others. The brain prioritizes viewing the world in a way that suits you. It’s instinctual, protecting us from doubt and pain. It also keeps you away from new modes of thinking. Once I accepted that everyone’s mind tries to do this, I began to open up to new possibilities.

I was also relieved. This model let me understood why I thought the way I did. More importantly, I could now leverage that knowledge for further growth. My path started with a simple goal: I wanted to learn more. Now, I was ready to actually start putting these learnings into productive gains.


Next, I needed to move from understanding myself to real world practice. In this, I learned three important lessons:

1) Think about thinking

Understanding yourself provides the key to discovering your boundaries, limitations, and possibilities. These margins guide you to areas where you can grow.

  • Even the smartest people are not able to learn something new any time. Their brains need rest, balance, and fuel.
  • The more in tune you are with where you are mentally, the easier you can acquire and assimilate new information.
  • Your ability to take in information changes over the course of your life both in the long and short term. For many people, it’s easier to learn at 2pm than 10pm. The next day, well rested at 10am, it’s easy again. This pattern isn’t true on only a daily basis, your life will go through similar cycles as well.

2) Plan

Time is the most precious resource you have, so deploy it wisely. I make a schedule every day, split up into half hour intervals. 1 If something takes longer than a half hour, bubble it in for two half hour intervals. If something takes less time, feel free to squeeze in a couple of tasks into a half hour interval. This is a technique I picked up from Deep Work, to help my daily planning.

Each day’s planning acts as a meditative exercise. Every morning, I think about the shape of my day. I list my goals, which serve as landmarks throughout the day. On review, I can decide whether I’m accomplishing those goals and making progress. After adopting this style, I quickly noticed I had a weaker grasp on my time than I thought I did. It is incredibly difficult to create a schedule then stick with it, exactly as planned. And that’s ok.

Each time I got off schedule, I could re-adjust and re-orient. I’d move around priority tasks, push others off for when I could give them the attention they deserved. When I found a task that kept getting bumped, I’d reconsider its merit. Over time you realize, “maybe this task isn’t as important as I thought it was”. Do this consistently, you won’t look at time the same way ever again.

3) Focus

The easiest way to stay focused is to avoid distraction. Isolate yourself however you need to.


If your environment isn’t productive, change it. I don’t work well in open offices where noise and conversation distract me. Other people can’t work from home, they prefer the sounds of the world as a background hum. A coffee shop may be a great match to your style or the silence of a museum library.


Meditation can boost your energy levels. I use Headspace to introduce a five minute refresher during my mid-afternoon. Meditation allows my mind to rest after it’s been working for the entire day. Some prefer to start their morning off with fresh thoughts. Others like to clear their mind at night, making it the last thing they do. See what works best for you; maybe it’s all three.


Tucking away distractions help you focus on your task. I try to keep everything that’s not immediately pertinent out of my sight. Surprisingly, hiding my Dock has been made me far less distracted. I used to spend my day distracted by red badge fever. Slack, Twitter, Things, and other badged apps would eat into my thoughts. Now I stare full screen at whatever I’ve got open with no little red badges to grab my eye or pull at my thoughts.

Acts like browsing the web are now a conscious choice. When I’m writing code and want to check my daily schedule’s progress, it’s a choice, not an impulse. I still live in the real world and connect to these things but I am not prodded to do so. I act when I find some time. When I’m focused, I’m focused. When I’m distracted, I’m distracted.

Training your brain to focus is like any other form of exercise. It’s hard at first. As you root out distractions and adapt your environment, your focus muscle grows. As with all change and exercise, it gets easier and easier to avoid distractions over time.


Still interested in figuring out how to grow more? If so, congratulations. It’s a hard but amazing path to look deep into yourself and decide to make changes. I wish you well along your journey and implore you to move deeper in your voyage.

This journey isn’t about finding the perfect to-do list app. Once you’ve found one, you still have to find what’s inside of you that encourages you to keep growing. Once you’ve found that, you’ll be surprised at how long the road stretches.

  1. Ok, I have to admit, I can’t always do this. Sometimes it’s too rigid, and I’m not well disciplined enough yet to live my own advice. There are days where I don’t have as clear a focus, and it shows in my schedule. ↩︎

Handing Off Public Extension

This is a blog post by Jasdev Singh, originally published on I’m re-posting here since it’s directly tied to me taking over his project, Public Extension.

Firing off the first tweet for @PublicExtension on October 9th, 2015 was a rush. I was on the tail end of my batch at the Recurse Center, after having spent the previous quarter transitioning from an backend engineer to writing Swift every day. The goal was to regularly post extensions I’ve come up with, stumbled upon, or received from the community. In the span of a year, I collected 89 extensions, had countless conversations with the Core Team, and even represented the account at XOXO Festival.


© 2018 and forever. All rights reserved.