How do you reliably separate thinking from feeling?

This is the second post on Ray Dalio’s book “Principles.”

In this post I’d like to focus on the difference between thinking and feeling. How do you make decisions? How do you make the right decision? Ever had a gut reaction that lead you to make the wrong decision? Read on to learn the one secret tactic we humans have been using for centuries to separate our thinking from feeling, allowing us to examine our thoughts to determine the best thing to do every single time.

Over the past few years I’ve been meditating as often as possible – two times a day for 20 minutes. Sometimes when I get out of the meditation a thought or a new avenue to pursue a solution will come into my mind.

After such a therapeutic and restorative meditation new ideas seem magical and destined. But it’s not until you implement some of the ideas that you learn that not all epiphanies gotten through meditation are equal.

Imagine my surprise when I read that Ray Dalio meditates and has his own sifting system to separate the good actionable ideas from the duds:

“When thoughts and instructions come to me from my subconscious, rather than acting on them immediately, I have gotten into the habit of examining them with my conscious, logical mind. I have found that in addition to helping me figure out which thoughts are valid and why I am reacting to them as I do, doing this opens further communication between my conscious and subconscious minds. It’s helpful to write down the results of this process. In fact that’s how my Principles came about.” – Ray Dalio

Like Dalio, I’ve found that writing things out allows my amygdala to shine in private. Also like Dalio, I’ve found that writing further shines the thought and most importantly holds it up to the light of day to see if it’s worth anything.

When you find that your best intentions are not always best, how do you find out if your feelings are close to reality? You need to test your feelings against reality before implementing them publicly:

“Know that the most constant struggle is between feeling and thinking. There are no greater battles than those between our feelings (most importantly controlled by our amygdala, which operates subconsciously) and our rational thinking (most importantly controlled by our prefrontal cortex, which operates consciously).” – Ray Dalio

How do we go from thinking with our amygdala to thinking with our prefrontal cortext? I believe that we humans have been using a single effective  method to test our ideas for centuries – we write things out!

“Writing is nature’s way of letting you know how sloppy your thinking is.” – Dick Guindon

Here’s my challenge to you – next time you have a great idea, before you start implementing it, before you demolish the house, before you empty your 401k, write it out. Write out the why you need to move now. Write out what you think will be the outcome.

Then, and only once you’ve written it out, implement your idea. If the idea doesn’t work out the way you thought it would, you have a blueprint for how to move forward and try something else next time.

By writing things out before you do anything you give yourself time to consider how prepared you are to take on this task.

And finally, written thoughts will allow you to have a concrete document that you can use to make less mistakes.

Do you write out your task list? Do you journal to figure out how you’re feeling before you act? Contact me if you need any help getting started.

Hawaii iOS Developer Meetup – Session 52

During this meetup I covered ARKit 1.5. Previously with version 1.0 we were only able to detect horizontal planes. With ARKit 1.5 we are now able to detect vertical planes, irregular objects, and image tracking – in addition to horizontal planes.

I also experimented with the format of the meetup last night. Usually we do introductions then dive into the code. Last night we did introductions then I set a timer for 20 minutes and oversaw a conversation amongst the developers to find out what they thought about Augmented Reality.

During the talk I learned 3 things:

  1. AR will bring about a change where every surface that we see will be potential advertising space.
  2. AR will only take off when the consumer application (advertising) of the technology has fully landed.
  3. AR will allow two people to be looking at exactly the same thing but see completely different things.

That last point has been swimming around in my head ever since last night. It’s a fundamental change in how we deal with physical objects. Two things come up in hindsight that lead me to believe that this is a fundamental change that seems trivial but is actually 80% of the profound changes coming.

When I was making iOS apps in 2009 I totally missed the fact that the majority of time people spend on their phones was on text messaging. I missed the entire picture when Whatsapp offered a free international/multi-carrier messaging service.

During the coding portion of the meetup I live coded an ARKit 1.5 app that tracks images in augmented reality. Here’s a link to the code on github.

This meetup marked a year of iOS development meetups. This has always been the goal when I started out a year ago. After the meetup, during the ride home with my wife, I shared how pleased I was that I had made it to 52 meetups – a year of iOS meetups.

There are so many things that we covered over the past year. I’m planning to write up the list and email the developers to thank them for attending and if they didn’t get a chance to attend yet, what they have missed.

Finally, after doing a meetup a week for a year I am planning to try out something new. Going forward, I am planning to have meetups every first and third Thursday.

On March 1st Adam Smith will be presenting on his new app Sugarbot. He used Google Dialogflow to create a chat bot. It’s great! I have it on my phone now. Please RSVP if you’re interested in attending this meetup.


If you’re not making mistakes, then you’re not doing anything.

This is the first in five posts on Ray Dalio’s book “Principles.”

What is it that makes a mistake catastrophic? How do you keep yourself from making mistakes if they’re the only way to learn new things? How do we manage the fallout that occurs when our best intentions don’t turn out the way we want? Read on to learn more.

Mistakes are tricky. Mark Zuckerburg made the pursuit of mistakes Facebook’s goal. Facebook’s motto is: “Move fast and break things.” But what if we break the wrong things? What if we move too fast that we break the entire system?

“Former Facebook employees say the engineering-driven, ‘move fast and break things’ approach worked when the company was smaller but now gets in the way of understanding the societal problems it faces. It’s one thing to break a product, but if you move fast and break democracy, or move fast and break journalism, how do you measure the impact of that—and how do you go about trying to fix it?” – Mathew Ingram, The Facebook Armagedon

What is is about mistakes that makes them so bad? Why do we feel the need to hide them? I believe the worst parts of mistakes are the unforeseeable consequences our mistakes  can wreak on those we’re trying to help. Mistakes are looked down on because they are  painful.

“Pain instructs.” – Benjamin Franklin

Mistakes as a way to learn something new. To test the limits. To locate the fuzzy boundaries of our understanding and figure out exaclty how reality works.

Whenever I make mistakes I try to hide them. I don’t want others to know that I don’t do immaculate work. I want to always show that I am on top of things, that I get it, that I’m capable, and that I don’t need help. Perhaps I need to pursue mistakes more openly.

In “Principles” Dalio says,

“Mistakes will cause you pain, but you shouldn’t try to shield yourself or others from it. Pain is a message that something is wrong and it’s an effective teacher that one shouldn’t do that wrong thing again. To deal with your own and others’ weaknesses well you must acknowledge them frankly and openly and work to find ways of preventing them from hurting you in the future. It’s at this point that many people say, No thanks, this isn’t for me – I’d rather not have to do deal with these things. But this is against your and your organizations’ best interests – and will keep you from achieving your goals. It seems to me that if you look back on yourself a year ago and aren’t shocked by how stupid you were, you haven’t learned much.” – Ray Dalio

When you make mistakes take some courage from Dalio who writes, “Everyone makes mistakes. The main difference is that successful people learn from them and unsuccessful people don’t.”

If that’s not enough of a suggestion to make mistakes, consider that every mistake you make now will save you from it in the future: “Every mistake that you make and learn from will save you from thousands of similar mistakes in the future.” – Ray Dalio

So take some advice from Jeff Bezos who says,

“You must not let your need to be right be more important than your need to find out what’s true.” – Jeff Bezos

Don’t let your ego get in the way,

“Intelligent people who embrace their mistakes and weaknesses substantially outperform their peers who have the same abilities but bigger ego barriers.” – Ray Dalio

So to wrap it up, make sure that you’re always pursuing mistakes because they will save you from making them in the future, make sure you constrain the fallout of your mistakes by only experimenting in safe spaces and with things that can safely go wrong, and make sure you clean up after yourself when you’re through.

Do you have any suggestions on how to make the regular pursuit of mistakes easier, safer, and more valuable? Contact me

Hawaii iOS Developer Meetup – Session 51

During this meetup I covered a complicated topic – RXSwift. Last month my friend Nick shared that he was interested in learning RXSwift to allow him to create a datamodel then have RXSwift update the UI whenever the datamodel changed.

Nick’s put a lot of things on my radar that I would not have studied so closely. RXSwift is exactly that. I spent the week reading articles and watching videos.

There’s a saying, “The only  way you’ll learn is by watching. So watch.” The best video to understand how this all works was RXSwift In Practice from the RW DevCon. The best article I found explaining how RXSwift works was Casey Liss’ primer on RXSwift. I went through all 5 parts of the primer 3 times.

Last night, I delivered the talk on RXSwift to Chae, Tyler, and Andrew.

While I’m no RXSwift master at this point, I’m looking forward to integrating RXSwift into my projects on a regular basis – like I’m trying to do with higher-order functions.

Next week O’Neil will be explaining how he used Core Data to store user times in his Rubik’s Cube app. Please RVSP if you’re interested in attending.


Hawaii iOS Developer Meetup – Session 50

Well, we finally made it to 50. I’m going to hold off on emailing the rest of the nearly 100 developers that belong to the group. I’d like to hold off on emailing them until we hit 52 meetups. In that email, I’m planning to list out all of the topics we covered with links to the videos I’ve been posting for the past year.

During this meetup I stuck to the new format and had the developers pair off to complete the task of the week for 30 minutes. Then after they finished we came together and completed the task together.

The way I see it, each developer is coming to the meetup to show what they know and learn what they don’t know. The fastest track there is to get them to code with other developers – people they don’t really know. I’ve found that in my own experiences pair programming, there is a long curve to feeling like an imposter.

Then after about 20 sessions of pairing, you start to learn the edges of your own competence by identifying exactly what I need to work on.

Next week I’ll be covering RXSwift and how we can created variables that listen for any changes to their state then automatically update all instances of the variable and any UI connected to the the variable.

If you’re interested in attending this meetup, please RSVP.