I notice within myself, that when I am focused on myself, nothing goes the way I want it too. It's easier to become resentful, the world will warp to our problems. The antitode is to look outwards. For what purpose do we work? How can we help others?
When you build a system, you don't just stop when it works once. The complexity comes from building fault tolerance, scale, both in features and usage, as well as reliability. We need to apply to that our lives. I often find myself always at the beginning stage of building a system -- 'Okay, now I will work out every day and wake up at 5am and rainbows all around'. What will happen if I don't? What will happen when it's a bad day?
I can be a bit of a loud speaker. Especially when I get on a skype call and have headphones on. One of the things I dread the most is when someone shushes me. I almost always react back, and essentially say 'deal with it'. This always makes me feel quite bad. The reason is that I honestly knew that I am imposing, but I also felt that it is rude of them to talk to me in the way that they do. When I react, it isn't congruent with the type of person I want to be, and I feel off long after. One time, a man interrupted me as I was sittings outside of a cafe, and I told him, 'I am sorry, though it is outside'. He misheard me, and thought I said 'I am sorry, but we are excited', he laughted and empathized. I realized, this was the secret -- from now on, instead of reacting back, make light of it. It saves face for both of us, and is congruent with who I am. This kind of lesson applies throughout life -- instead of getting angry, taking it lightly, empathize.
When we look deep within ourselves, and re-examine our values, we wake up. We realize that the standards the world sets of us, are lower than the standards our values set for us. No one will complain to you if you are okay at something, but your values demand art. No one will complain to you if you are nice, but your values demand realness.
When procrastinating, give yourself a hard rule -- you can only produce. No more consumption. You don't have do what you're procrastinating about, but you do need to produce.
I sometimes jokingly say to friends, 'always be on the attack', or 'be like a tiger'. It is in jest, but the root of it is about proactivity. Focus on what you can control
I reflected recently about the moments where I felt the happiest. The moments where I saw the largest gain, or experienced person growth. During these moments, the one constant was that I was thinking about something greater than myself -- family, team, friends.
Then I thought of the moments where I was the closest to causing irreparable damage. In these moments the constant was that I was internally focused, worried about myself, anxious.
Bertrand Russell once wrote a piece that I am about to bastardize, but it has been hugely impactful for me since I read it. He said, when working on complex problems, think as hard you can about it, then stop, and go about your day. Be okay with not being able to produce an answer, or do something right away. Let your mind think it over, the answer will come
We're taught that keeping our options open is always good. But, the more I mature, the less good I see in that path. It introduces anxiety, and reduces how deep you are willing to go, how much you're willing to put on the line, how much pride you take in what you do.
In most programs, it's best to have a single app state, that trickles down, and are handled by pure functions.
Erlang takes quite a different approach. There are Supervisors, and Actors, which encapsulate internal state, and talk to eachother via messages.
This seems more complex, but actually, it is simpler when looked at by the lens of distributed software. It's complex to keep a single state in sync when you're across datacenters.
What Erlang does is, to essentially embrace the distributed nature of the problem, and goes by the assumption that if each Supervisor takes care of what it's responsible for well, then the system will work.
This was a pretty breakthrough parallel for me, in my task management. Instead of trying to build a top down system, it's all about making sure the small parts work well.
Getting Things Done, by David Allen, is the Erlang of task management x)