← Home Subscribe Replies Archive Reading Also on Micro.blog
  • Getting Started with Meditation and Preparing for What Comes Next

    If you’re like me, you’ve felt anxiety, stress, anger, and a bunch of other emotions in the last nine days. That’s normal. We’re in a stressful place. 2016 has been a bad year for a lot of people for a lot of reasons. What I’m afraid of, and what I don’t want to happen, is for what’s going on in the world change me. I don’t want to become a more closed off, angry, less gentle person.

    That doesn’t mean I don’t plan to do what I can to fight against what I fear is coming, but that I can’t let someone else’s small mindedness and hate turn me into a more small minded and hateful person.

    A small thing that I’m doing in order to work against those instincts in myself – that maybe would be useful to others – is to have a daily meditation practice. I’ve been doing this practice semi-regularly for a few months now. When I’m consistent I feel like it helps me have greater awareness, focus, and ability to handle my emotions in stressful situations. I believe that especially now, as things are so uncertain, this kind of clear-mindedness is something that is going to help us respond to the challenges which are coming in the most meaningful ways.

    I’m not an expert in meditation by any definition, but I can give a few tips and recommendations based on what’s helped me so far.


    My first recommendation is to go easy on yourself. You’re not trying to “clear your mind”, you’re going to miss days, and some days will be a lot harder than others. It will get easier. Just keep doing it.

    I’ve found starting with guided meditation to be useful. I use Headspace, but I’m sure there are other places to find guided meditation, and probably some free ones. The reason I like it is that it gives me some direction while meditating so I’m not sitting there wondering the whole time if I’m doing right.

    Reading books on Buddhism and meditation is a good compliment to the practice. You don’t have to be a buddhist to meditate, but knowing some of the philosophy is useful for taking your practice with you when you’re not meditating. By far the best book I’ve read is The Heart of the Buddhas Teaching by Thich Nhat Hanh. If you’re looking for a quick intro to meditation – and a little buddhism – Sit Like a Buddha by Lodro Rinzler is short, easy to read, and will get you started.

    If you can meditate with others, try it. The times I’ve gone to my local Zen Center, done their meditation class, and listened to their talks on Buddhism have been nice. If you have something like that, maybe check it out. Meeting other people who’ve been through or are going through the same things with their practice can help you stay motivated.


    This is a challenging time to stay calm, open minded, and clear headed. Many of us are living in a state of anticipatory grief right now and feeling like we will be for several months at least. It’s normal to feel this way, but it’s also important to realize that letting these emotions control us and make us catatonic, or lash out without thinking, is the least useful thing we can be doing to prepare right now. What we need is to find a way to give ourselves a little space from our emotions so that when the hit comes we’re ready to respond.

    → 4:08 PM, Nov 17
  • Washington Post Discount for Amazon Prime Members

    Going forward from the election it’s both important for us to support the free press and to be as informed as possible. Amazon Prime subscribers get a discount on a Washington Post digital subscription so it’s only $3.99 a month. I recommend it.

    We should all make an effort to get out of our Twitter/Facebook/podcast bubble and know what’s going on.

    → 8:18 PM, Nov 15
  • Stupid Rice Cooker Tricks

    A few weeks ago, I heard Merlin Mann and Dan Benjamin discussing rice cookers and how great they are on episode 294 of their Back to Work program. Because I am a ridiculous person who buys things on impulse, and because I am a vegan who eats a lot of rice and vegetables, I loaded up Amazon Prime Now and the next morning was the proud owner of a Zojirushi NS-TSC10. It wasn’t the least costly option, but I chose the Zojirushi because I wanted one that would be useful for doing things besides just cooking rice. Also it having a cute elephant on it, being from Japan, and playing “Twinkle Twinkle, Little Star” when it finishes cooking, might have had something to do with it. Hard to say.

    I’ve used it a lot. I’m sure the thing I’ve cooked the most in it is rice, but that’s not the only thing by any stretch. I thought I’d share a few of the things I’ve made.

    Chocolate Cake

    The weirdest thing I’ve cooked in my rice cooker was a chocolate cake. It’s not actually that weird. The rice cooker I bought has a “cake” setting on it and if you search Google for rice cooker cake recipes you will find many. I used this recipe for the chocolate cake and it turned out great. It was a bit less mess and cleanup than when I’ve made similar cakes in the oven came out at least as well, or possibly better. It was moist chocolaty, and delicious.

    Steel Cut Oatmeal

    Ever since I saw the episode of Good Eats about oatmeal, I’ve preferred steel cut to the regular mushy kind. The problem is that when you make it on the stove it takes about 45 minutes to cook with semi-regular stirring involved. It’s sort of a pain in the butt. If you follow this recipe from Zojirushi’s own website, you’ll let the oats soak overnight and use the timer function to have the oatmeal be ready when you wake up. Steel cut oats way easier than cooking them on a stovetop and just about as good.

    If you don’t wake up when you thought you would, the rice cooker can keep your oatmeal warm for a really long time, so it’s no problem.

    Rice Porridge

    My mom used to make something like this sweet rice porridge when I was a kid with left over rice from Chinese food, and I’ve made it a ton. It’s super easy to make.

    Combine a cup of cooked rice (brown or white is fine) with one cup of soy/rice/cow milk, a dash of cinnamon and nutmeg, two tablespoons of brown sugar, a teaspoon of vanilla extract, and heat the whole thing up in a pot until it’s hot. Then you eat it. It takes a few minutes to make and is delicious. I’m not going to say it’s good for you, but, it’s got to be better than a pint of ice cream.

    You can adjust the ratio of rice to milk to taste. I like it kind of thick, but you can also make it so it’s almost more like a hot beverage.

    → 10:00 AM, Nov 8
  • Replacing Dropbox With iCloud Drive

    I’ve been using Dropbox for several years, and I can’t remember ever having a serious problem with it. It’s just where my files go. Lately, however, I’ve started wondering if it’s something I need to keep paying for or have installed on my Mac. The main reason is that I’m already paying for another cloud file syncing thing – iCloud Drive. It may not have all the features of Dropbox, but I feel as though my use of those features has gone down a lot in the last couple of years.

    What's Changed

    There’s three things that would have kept me on Dropbox before recently:

    • Apps that rely on it.
    • Collaboration and sharing.
    • An uneasy feeling trusting iCloud Drive with all my documents.

    At least two of these things have changed a lot. I’ll go through all of them.

    Apps

    I used to use text editors like Elements or nvALT on iOS and Mac for notes, but I’ve been using Apple’s Notes app for a while now, and it’s just fine. Other apps like Byword and 1Password include iCloud syncing as an option. I’ve been using iCloud for those apps for a long time now and I can’t remember the last time I had an issue. It seems like either everything I use has added iCloud as an option or I’ve moved to something else.

    Collaboration and Sharing

    Dropbox definitely has better sharing options. Where iCloud has these features, I have no complaints. I’ve used the collaboration feature in Notes and it worked great, but that’s about the extent of my use. Mostly I’m just not collaborating in this way as much as I used to. At work I’m using Trello or Google Docs, and in the rest of my life this just hasn’t really come up.

    I’ll miss the ability to right click and generate a link for any of my documents, but Droplr seems like an okay replacement.

    If I was still using shared folders as much as I was a couple years ago, I’d definitely be more tied to Dropbox, but I’m just not, so this has become a bit of a non-issue for me.

    That Uneasy Feeling

    I’ve had no problem syncing the things I have through iCloud in the last couple of years, but I just don’t trust it the way I do Dropbox to keep my stuff. I have no evidence or strong reason to think that – just a general feeling of unease.

    Apple’s strategy has been to present everything as though nothing will ever go wrong with any of their software or services, and so the user doesn’t need a lot of tools to help recover when something does. Because it won’t. Ever.

    All of Apple’s services just feel opaque. iCloud drive isn’t great as far as letting me know the status of my documents. If it did break in some horrible way, I have no trust that I would have a good way to get my stuff back.

    Unfortunately I don’t see this changing.

    My solution is to make sure I’m backed up and hope for the best. I don’t really know what else I can do to move forward other than to keep paying for multiple cloud syncing services forever. Hopefully it all works out.

    Moving Forward

    Currently iCloud is in the middle of uploading a couple hundred gigabytes of data that was previously stored in Dropbox. When that’s finished, I’ll move my Dropbox account to the free tier and uninstall the app from my Mac.

    There’s going to be things that annoy me about iCloud Drive forever. I hate the way it gives each app that uses it a top level directory, and I really don’t like that it’s not just a folder in my home directory but instead has my files stuffed away somewhere non-obvious.

    The strange feeling I have is that I’m not moving because iCloud Drive has gotten better than Dropbox, or even that it’s gotten as good. I’m moving because maybe it’s become sufficient for my needs. I’m purposefully not using what’s clearly the best thing on the market, because I think I’m willing to live without some of it’s features. Hopefully it’ll be good enough.

    → 7:13 PM, Nov 7
  • What I've Learned in Four Months of Aikido

    I mentioned previously that one of the reasons I neglected to post here the last few months is possibly because I’ve been getting into other things and just haven’t thought about it. More than that, I think it’s that while I’ve thought a lot about the things I’ve been doing, I don’t really feel like I know enough about them to feel super comfortable speaking publicly about it. That’s probably a stupid reason not to write, but it’s mine.

    The main thing that I’ve been obsessed with the last few months is studying Aikido. I try to go four days a week, sometimes three, but not less than that unless something unexpected happens. I’d like to get up to five or six days a week, but I’m trying to moderate myself a little. Anyway – I’m pretty into it.

    Before I go on let me put a big disclaimer here that I’ve only been studying for a little less than four months, and so anything I’m about to say is from the perspective of a beginner who hasn’t even taken his first test yet.

    Aikido is a Japanese martial art which is primarily defensive. It was first created by a man named Morihei Ueshiba (also known as Ōsensei) starting in the 20s and 30s and was developed into what it is today in the couple of decades after World War II. Instead of trying getting into a position where you can strike an opponent or do a technique you had in mind on them on them, you’re seeing the direction their own energy taking them and working with that. At least that’s how I understand it so far. Like I said: I’m a beginner.

    There’s also what the call the “spiritual side” of Aikido. A lot of time in class is spent relating Aikido philosophy of blending with an opponent and not engaging energy head on to other parts of life. I find those parts pretty interesting and giving myself a framework that helps me be a little more disciplined and aware has been nice. If nothing else, getting out of the house and doing something physical with other people a few days a week is a positive development.

    The biggest thing for me, so far, has been to do something where in order to succeed I need to focus on the process instead of worrying where I’ll be in the future. I don’t feel like that’s always natural for me, but I’d like to make it that way. If I can just do the best I can every day whether it’s day ten or day ten-thousand, I’ll make progress in the time it’s going to take, and probably more of it too. I think if I could apply that elsewhere it would be really helpful for me. Something one of my teachers has said before is that they’re not just trying to make us better martial artists, they’re trying to make us better people.

    Whether or not I’m actually able to use any of what I learn to defend myself physically against a person who might try to harm me (I’m nowhere close to that) anytime soon is sort of the less important part to me if I can become a more focused, disciplined person. Being someone whose able to deal with conflict better and maybe also be a little less hard on themselves when trying something new is a pretty applicable life skill for me. I’d also like to get really good at the techniques, but, like I said, that’s sort of secondary.

    So, that’s what I’ve been up to the last few months. Like I said, I’m totally a beginner, and I will be for a long time. Mine probably isn’t the best description of what this whole thing is about, but it’s what I’ve gotten out of it so far.

    It’s been a good thing for me.

    Also I’ve been told my shoulders are looking pretty buff, so that’s sweet.

    → 10:24 PM, Nov 1
  • Breaking the Blogging Seal

    For no particular reason I haven’t kept up blogging the last few months, even though it’s been kind of a huge three months for me. Maybe because it’s been a big three months, I’ve had other things on my mind, and that’s why I haven’t posted. Anyway – I need to stop that momentum and get back to posting. So here it is. I’m breaking the seal. More soon.

    → 3:00 PM, Oct 25
  • My Request for Apple Music: Challenge Me a Little

    I use Apple Music for streaming. I try to give it as much data to work with as possible so it can recommend new music to me. If I like a song, I tap the heart icon. I’m pretty consistent about it. The problem is, as much as I do that, it doesn’t seem to be doing a very good job at helping me discover new music.

    Whenever I look at “For You”, what I see is a bunch of playlists which are either collections of songs by musicians I already know, or other things that sound exactly like the music I already know. If it’s going to be learning my preferences – and the preferences of millions of people like me – it’s got a ton of data to work with, and what I’d like is for it to be gently helping me broaden my horizons over time.

    What I get is: “You like music by sensitive people with guitars, here’s a whole lot of exaclty that.”

    What I want is: “We know you don’t usually listen to hip hop, but we really think you might like this.”

    Maybe the problem is that the super conservative choice is the right thing because most people just want to hear music they already know they like over and over again. But, for me, I feel like it’s a big letdown and makes these sorts of services a lot less useful and fun than they could be.

    → 1:42 PM, Jul 28
  • Stanley Kubrick Exhibition

    Last Sunday I had the opportunity to check out the Stanley Kubrick Exhibition currently at the Contemporary Jewish Museum here in San Francisco. I’m a big Kubrick fan and seeing the props, correspondence, and equipment presented as sort of a journey through his career was really interesting.

    If you’re in the area and at all interested in Kubrick’s work, you have until October 30th to go, and you definitely should. In the meantime, you can check out the Flickr album I created with some of the photos I took of the exhibit.

    Stanley Kubrick Exhibition//embedr.flickr.com/assets/client-code.js

    → 11:03 AM, Jul 25
  • Meat Is Killing Our Planet and We Won't Even Talk About It

    Producing meat is destroying the planet, and eating it is destorying our bodies. This isn’t crazy vegan hippie rhetoric – it’s the truth. This article in the Washington Post has lots of charts and information explaining how it is.

    Do I expect anyone who reads this or looks at that article to make any different choices though? Not really. But why? So many people – for whom eating meat is entirely optional – are willing to label others climate change deniers, shame them for what kind of car they drive, or refer to others as ignorant and uniformed. But these same people don’t even consider changing their habits, even though just the greenhouse gas effects of meat production are so much worse for the planet than all transportation combined.

    I’m not even going to talk about the way we treat animals, but that’s just as upsetting.

    Lots of things people do are bad for the planet, and I’m sure than I am no exception. But the fact is this one thing is so much more worse than anything else we do, and people barely even acknowledge it. It’s simple to me: you can’t be an environmentalist and eat meat. Those two things are contradictory. If people really cared about the planet or global warming as much as they say they do, they would be willing to take the one biggest step to actually have an impact. If you eat meat while failing to accept the impact your choices have, you not only are contributing to the problem, you are a climate change denier.

    Obviously, this topic gets me pretty worked up. But just being upset and calling others hypocrites isn’t an effective way to help anyone think about their choices, or encourage them to make better ones. So, besides the Washington Post article I linked to above, I want to recommend some things. Even if you have no intention to change, I think that if you’re going to make choices, you should be willing to learn about what those choices mean and reconcile that for yourself. At least then you’re making informed choices.

    Eating Animals by Jonathan Safran Foer

    This book is great because it doesn’t skip any details of what meat production is doing to the planet, or how we mistreat animals, but somehow keeps the writing approachable and even a little humorous. It also gives voice to both sides of arguments by talking to farmers, factory farmers, people at slaughter houses, humane meat people, etc, and lets them all say their piece without discrediting it outright.

    Cowspiracy

    This is a documentary – available on Netflix – which contains a lot of the same information in Eating Animals, and is also pretty light hearted, with less time commitment. The film goes over a lot of the data, interviews environmentalists and animal rights folks, and asks the same question I have: why isn’t this information more commonly known, and why aren’t environmental groups willing to talk about the single worst thing we’re doing to the environment.

    → 4:04 PM, Jul 7
  • Health Experiment (Week 1 Wrap Up)

    The purpose of this experiment is to find out what would happen to my body and mind over 30 days if I tracked my calorie intake and I replaced drinking with exercise and meditation. My hypothesis is that I will lose weight, become stronger, gain better focus, and have less anxiety.

    Body

    From the day I wrote the original post (6/21) I have lost 1.8 pounds and my body fat percentage has gone down 0.9%. The exercise I’ve so far is mostly yoga, walking, and some pushups using a 100 pushups program. I’m probably going to start running again though within the next day or two now that my knees are feeling better. Since your weight can change about 2 lb a day (I’m told), it’s a bit hard to put too much into those specific metrics after only one week, but I still think the results so far look pretty promising. Here they are on a line graph:

    Week 1 weight Week 1 bf

    The trend lines on weight and body fat are both pointing down (which is great). My weight kind of fluctuates up and down a bit each day, but like I said, I think that’s expected. The body fat % tracking actually seems to be going down a lot more consistently, which is the number I care more about, since if I’m replacing fat with muscle, that’s going to affect the amount of weight change I have.

    Mind

    I’d like to see my focus improve more (ADHD sucks), but my anxiety has definitely been improving in the two and a half weeks or so I’ve been practicing daily meditation. I feel as though between meditation and learning about Buddhism, I’ve begun to reflect the way I talk and act sometimes, and make some positive changes to help me become the person I want to be. I think we all get carried away and say things we don’t really mean sometimes, or exaggerate for comedic effect. I want to not do that anymore.

    → 1:45 PM, Jun 28
  • Health Experiment (Day 7)

    It’s the end of the first week! I’ll be following this one up with a wrap up post for the past days.

    Stats

    Weight: 167 (+0.4 lb / +0.24%)
    Body Fat %: 20.2% (-1.94%)

    Active Calories: 753
    Total Calories: 2661
    Calories Consumed: 2112 (549 Deficit)

    Exercise

    Vinyasa Yoga

    I am pretty certain that the Apple Watch is way underestimating how many calories I’m burning during yoga, but it’s the only tool I have, so here it is.

    Active Calories: 289
    Total Time: 1:12
    Avg Heart Rate: 102

    100 Pushups Program (Week 1, Day 3)

    • Count: 25 (5x5)

    Mind

    Meditation

    • 10m Headspace (Foundation 2, Day 7)

    State of Mind

    Felt a bit anxious and not as focused in the earlier part of the day, but did okay with both later on.

    → 12:42 PM, Jun 28
  • Health Experiment (Day 6)

    A relaxed Sunday. Walked enough to make sure I hit my move goal, but nothing else special.

    Stats

    Weight: 166.6 (+0.8 lbs / +0.5%)
    Body Fat %: 20.9% (-0.5%)

    Active Calories: 619
    Total Calories: 2452
    Calories Consumed: 1502
    Calorie Deficit: 950

    Exercise

    • Walked to hit Apple Watch move goal (460)

    Mind

    • Missed meditation. Nothing extraordinary to report.
    → 12:29 PM, Jun 28
  • Health Experiment (Days 4 & 5)

    I managed to miss blogging over the weekend – so I thought I’d just combine Friday and Saturday days into one post. I went to yoga at my gym Friday, which was great. The new sort-of-related thing I did this weekend was that I managed to make it to the San Francisco Zen Center at 8:40am to attend their zazen meditation introduction and dharma talk. I’m going to try to start going regularly if I can will my body up early enough on Saturday.

    Day 4 (6/24/16)

    Stats

    Weight: 165.3 (No Change)
    Body Fat %: 20.7% (-0.96%)

    Active Calories: 981
    Total Calories: 2889
    Calories Consumed: 1694 Calorie Deficit: 1195

    Exercise

    Vinyasa Yoga

    Active Calories: 438
    Total Time: 1:12
    Avg Heart Rate: 104

    Mind

    Meditation

    • 10m Headspace (Foundation 2, Day 6)

    Day 5 (6/25/16)

    Stats

    Weight: 165.8 (+0.24%)
    Body Fat %: 20.7% (No Change)

    Active Calories: 624
    Total Calories: 2483
    Calories Consumed: 1469 Calorie Deficit: 1014

    Exercise

    • Walked to hit my calorie goal (460).

    Mind

    Meditation

    • Unguided walking meditation.
    → 1:13 PM, Jun 27
  • Health Experiment (Day 3)

    No extra exercise yesterday. I still made sure I hit my move goal on my Apple Watch, but I’ve decided to not try running again for a few days because of the knee thing. When I do start again, I’m going to try just doing it on a treadmill at the gym so it’s a little lower impact.

    I have managed to keep up with my standing desk all week. It’s actually not that hard. I suspect if I were heavier to start or weren’t using a mat it would be worse. I sit during lunch, meditation, and other times during the day when I’m not at my desk. Otherwise I’m standing all day.

    No weight or meaningful body fat change. Since your body can fluctuate a couple of pounds day to day no matter what, I’m not actually too worried about if this number goes up or down slightly for at least the first week.

    Stats

    Weight: 165.3 (No Change)
    Body Fat %: 20.9% (+0.5%)

    Active Calories: 540
    Total Calories: 2450
    Calories Consumed: 1790 Calorie Deficit: 660

    Exercise

    Just walked enough to make sure I hit my activity goal (460) for the day.

    Mind

    Meditation

    • 10m Headspace (Foundation 2, Day 5)
    • Unguided Walking Meditation

    State of Mind

    Focus was a little better than the day before, but I can do better. Anxiety about the same (good).

    → 2:18 PM, Jun 24
  • Health Experiment (Day 2)

    I almost didn’t go to yoga yesterday because I was afraid it would cause my knees to hurt more, but I did and it ended up not hurting them at all. I’ll probably replace running with a brisk walk or a bike ride for the next couple of days.

    I started two new things yesterday. A guided walking meditation, and the beginning of a 100 pushup program. I might use the guide for walking one or two more times and then continue doing it unguided. The pushup program should have me doing 100 pushups in 5 sets of 20 in 10 weeks if I stick with it, but it started off at just 18, which wasn’t too hard.

    Stats

    Weight: 165.3 (-0.3 lb / -0.18%)
    Body Fat %: 20.8% (-0.48%)

    Active Calories: 1029
    Total Calories: 2924
    Calories Consumed: 1778 (1146 Deficit)

    Exercise

    Vinyasa Yoga

    I only have the Apple Watch activity tracking to go off of here, and I don’t know how accurate it is for yoga.

    Active Calories: 514
    Total Time: 1:07
    Avg Heart Rate: 115

    100 Pushups Program (Week 1, Day 1)

    Count: 18

    Mind

    Meditation

    10m Headspace (Foundation 2, Day 4) Headspace Guided Walking Meditation

    State of Mind

    Anxiety was good, but focus was less than I would have liked it to have been. I forgot to use my Comodoro timer, and I think that hurt me. I’ll have to make a point to use it consistently going forward.

    → 12:24 PM, Jun 23
  • Health Experiment (Day 1)

    Yesterday was a good day other than that my knees were still hurting from last week at WWDC, which made running less fun than it could have been. I don’t want to hurt myself, so I’m going to try switching to biking until they feel better. I also made a point after work to get things I could make for lunch so I won’t have to eat downtown as much. That should save make hitting my calorie goals easier (plus save me money – you wouldn’t believe the cost of food in SF).

    Stats

    Weight: 165.6 (-1.9 lb / -1.13%)
    Body Fat %: 20.9 (0.0%)

    Active Calories: 621
    Total Calories: 2485
    Calories Consumed: 1470 (1015 Deficit)

    Exercise

    Outdoor Run

    Active Calories: 210
    Total Time: 30:49
    Total Distance: 2.03 MI
    Avg Heart Rate: 176

    Mind

    Meditation

    10m Headspace (Foundation 2, Day 3)

    State of Mind

    Morning was okay for focus, but not great. After taking 10m out to meditate focus and productivity both improved and I felt less anxious. Going to try meditating first thing before I start work instead of waiting later in the day.

    → 12:13 PM, Jun 22
  • An Experiment to Get Healthy

    Back when I was working from home in Portland my weight didn’t fluctuate that much. I ate reasonably healthy food, and I rode my bike and walked a ton. Without trying, I stayed around 145-150 lb for years (which was perfect for me). Working at an office and living in San Francisco the past couple of years, however, it’s become something I do need to start thinking about.

    I’ve been using a FitBit Aria scale – which measures body fat percentage as well as weight – for about two years. According to FitBit, my weight was 147.1 lb (22.1 BMI) with 15% body fat in July 2014. As of last Sunday (June 19) it’s 168.9 lb (25.7 BMI) with 20.5% body fat.

    Something has got to change. I haven’t felt this uncomfortable in my own skin since high school. I hate it.

    The Causes

    Okay, moving on. The biggest things I can see that would be affecting my weight are:

    1. I was taking Adderall for my ADD a lot more consistently before I moved. It suppresses appetite. I really hope the only way for me to maintain a healthy weight isn't through drugs. I weighed less than I do now before I started taking it though, so it's pretty hard to be sure how much this could have affected things.
    2. I was walking and riding my bike more before I moved. The data I have for this isn't that good -- all I have is step tracking to go on. Steps seem pretty consistent, but the further back the less data I have. I also have no way to know how much I was biking.
    3. I'm eating out a lot more for lunch, and the food in downtown San Francisco isn't the healthiest.
    4. I've been drinking more than I was before. It's like all people do here. Plus wine is really tasty.

    My Plan

    I would like to not have to rely on Adderall for focus and maintaining my weight if at all possible. With that in mind solution is to try this experiment over the next thirty days and report the results:

    What would happen if I replaced drinking and sitting with exercise and meditation?

    Specifically what steps am I going to take? A few.

    1. Using a standing desk. I don't expect this to make the biggest difference by itself, but it seems like there's pretty good evidence standing is better than sitting. Every little bit helps.
    2. Do yoga at least 2 days a week at the gym.
    3. Run at least 3 days a week. I'm using a Couch to 5k app on my phone so I don't burn out or hurt myself.
    4. Track calories of everything I eat using MyFitnessPal.
    5. No Drinking. I'm not planning to quit drinking forever, but I think for the duration of this at least, I should just cut it out entirely.
    6. Perform daily meditation to help focus. I'm using Headspace because it's a guided meditation program meant for beginners which ramps you up slowly.
    7. Use a Pomodoro timer app to help stay focused while working.
    8. Blog my results every day. What activity I did, my weight, body fat, how I did with calories, and my state of mind.

    So, that’s my experiment. I’m looking forward to seeing how it will turn out.

    → 5:27 PM, Jun 21
  • Hello Sense, Allergies, and Better Sleep

    As I’ve written about before, going to bed and waking up early has been an ongoing problem for me as long as I can remember. I’ve had more success fixing my sleep issues the past ten days than anything else I’ve ever tried in the past. A lot of that has been due to what I’ve learned using this little ball called Sense that tracks my sleep, monitors room conditions, and has a Sleep Cycle style smart alarm clock. After everything I’ve tried, this feels the most like I’m actually close to solving this problem for myself. It’s a crazy feeling after struggling with sleep my whole life.

    Sense and pill

    I’d used a FitBit Flex as a sleep tracker in the past, but it wasn’t super helpful. As long as I remembered to tap it when I went to bed it did a good job of tracking how long I slept and how much I moved, but that wasn’t enough. I could see I was taking a long time to fall asleep, sleeping too long, and moving a lot gave me zero hints why I could sleep for twelve hours and wake up tired.

    The sleep tracking part of the Sense is similar to the FitBit, but has two things that make it better. First, I don’t have to remember to wear anything or tell it when I’m going to sleep (newer FitBit trackers are also automatic). The Sense has a tracker called the pill that attaches to your pillow and then you never have to think about again except to not accidentally wash it. Second, instead of just time and movement, Sense tracks the room conditions while I’m sleeping. I can use the report it gives me to maybe figure out what was going on during the night and why I’m I slept how I did. It also gives me a sleep score which – while I have no idea how it’s calculated – does usually seem to match up pretty well to how I feel the next day.

    Sense sleep log

    The report tells me: what time I went to bed, fell asleep, what phase of sleep it thinks I was in, when I was moved around, and if there were any noise disturbances during the night.

    It also tracks conditions in my room 24 hours a day and tells me if anything is unideal for sleeping:

    Sense room report

    I started noticing that there were several “noise disturbances” every night, so that seemed like something to investigate. I downloaded an iOS app called Sleep Talk which records noises while you sleep. I then tried to match up the times the Sense said there was a noise disturbance to the recordings to see what was going on. It would be nice if the Sense did this itself, but the app worked well enough.

    What did I hear? Snoring and labored breathing. I was “lucky” that I’d been suffering from especially bad sinus allergies and was even more congested than usual the day I got the Sense. Because of this I was able to see my sleep quality improve over the next few days as my congestion got better. I’ve never been able to breath well through my nose, and I’ve also always had trouble with sleep, but for some reason I’d never considered the two might be connected. I started reading online about breathing, and of course not breathing well affects your sleep. In fact, that’s probably why I could sleep twelve hours and still be tired – it took me that long to get enough quality sleep to be rested.

    I decided to do an experiment. I knew that Zicam nasal spray would clear out my sinuses instantly, but that I could only use it for a few days in a row. I used it before going to bed one night to see what would happen. I also read that sleeping on your side is better for breathing and that a pillow between your legs helps you stay off your stomach, so I did that too. The next three days that I took the Zicam before bed I woke up by 8:30am after about eight hours of sleep feeling fine and rested. That’s remarkable for me. I honestly can not remember having a change like this before. My Sense sleep score also went up (from the 70s to the 80s).

    Since I couldn’t take Zicam for more than a few days, I also began taking Claritin every morning (as well as D-6, B-12, and a daily multivitamin). The Claritin helps, but not as much as I’d like. After some research, I found out that Flonase is usually better for people with year round allergies, and so I’ve started taking that. It takes a few days to reach full effectiveness, but the initial results are promising.

    I don’t want to speak too soon, but I think I may have figured this sleep thing out.

    → 4:06 PM, May 12
  • Creating StoryWorth for iOS 1.0

    I’m really excited to announce that a new app I’ve been working on for several months has come out today. The app is called StoryWorth, and you can download it now. It’s a companion to the website of the company I work for. StoryWorth lets you collect and share (with recipients you choose) your family stories. To get started, you invite a storyteller (mom, dad, grandma, etc), and then we start sending them questions. They can answer through the app, email, or on the website with text, images, or audio. Once you’ve collected some stories, we can print them up in a nice book (you can pay to have audio transcribed) you can put on a shelf and keep forever, regardless of what happens to us. I should mention too that StoryWorth is a paid service. We’re not interested in showing you ads or selling your information.

    Oh, also, we have an app now. It looks like this:

    HomeStorytellerStory

    Design

    For the design, a big focus was accessibility. We have users as old as one hundred, so we could be pretty sure some of the people using the app would have limited mobility or vision. The default sizes for text in the app tends to be a little on the large size, but I also did my best to support Dynamic Type so that users who needed to could turn up the font size. I’m looking forward to taking the accessibility stuff even further in future versions.

    Aesthetically, we wanted to go for sort of a book feel, while still looking cool and app-like. We did that mostly by focusing on typography and restricting the color palette so that the content and actions really stand out from each other. We use a sans-serif font (Lato) in our primary red color (except in navigation and toolbars) for actions, and a serif font (Merriweather) for most content and long form text entry. Overall I’m really happy with how the design of the app turned out.

    When choosing what features the app would have, our goal for 1.0 was to get parity on the most important things (writing, reading) with the website. It’s not completely one for one yet, but it’s an awful lot of it. Having a solid basis of a native app is also going to let us do things that the website can’t do easily when it comes to things like recording audio, offline reading.

    Technical

    StoryWorth is the first app I’ve shipped that’s entirely written in Swift. In the beginning, learning Swift while writing the app probably slowed me down a little bit, but it didn’t take me very long to become productive. At this point I feel completely comfortable in Swift and think I made the right decision. Swift still has some rough edges, but there’s enough good there to make it an overall win. Mostly the problems I run into have to do with using it with the iOS frameworks, storyboards, and other things that came around before Swift existed.

    Speaking of storyboards: I don’t know, man. I used them, and I guess they made things easier, but I also sort of want to tear them out half the time. I hate how they’re stringly typed, I hate prepareForSegue:, and I hate how using them pretty much precludes being able to use non-optional properties in my view controllers. On the upside, they’ve improved a bit over time. Storyboard references make it easier to break up a big monolithic storyboard into many smaller ones. Setting up child view controllers is really easy in a storyboard too. I only used a static table view in one place, and it ended up needing some cells to show or hide conditionally, so that wasn’t especially useful. As cool as that is, it turns out I never end up having more than one or two static table views in an app.

    Going back to Dynamic Type, there’s a couple of things I did to implement that. The first was to create UILabel subclass which listens for content size category notifications and adjusts itself as needed. This worked pretty well for pretty much anywhere I had labels, but not for some other things. Dynamically sizing table view rows were also a godsend, since all I had to do was set up my constraints and the table view would do the right thing if the font of it’s contained labels got bigger. Overall, I found working with Dynamic Type sort of a pain when it comes to native views. I’d like to come up a better solution in the future that will make it easy for me to support it in the places I didn’t get to in 1.0.

    I do use web views in a couple places in the app though, and it turns out supporting Dynamic Type in those is crazy easy. All you have to do is use one of the -apple-system styles for your CSS font property, set font-family and font-size (in em) to whatever you want. Make your controller listen for UIContentSizeCategoryDidChangeNotification, and whenever a notification comes in, reload the web view. Easy. There’s a good post about it on the official WebKit blog.

    Grab Bag

    • UIStackView is rad.
    • Protocol extensions are neat and useful.
    • The new Swift selector syntax doesn't like nil targeted actions.
    • Carthage breaks much less than CocoaPods for me.
    • I love universal assets.
    • I don't know if I'm going to stick with Core Data.
    • Color spaces are confusing.
    • App review remains a magical experience.

    Conclusion

    I took a job at StoryWorth because I wanted to work with nice people on something that’s actually useful, whose business model I understood, and where I could have a big impact. It’s been a while now, and I really like it still. I’m excited to improve the app over the next several months. Please download the app and invite your family. There’s a free trial, and if you decide to subscribe it helps us a lot. Getting to know your family and having something to hold onto forever is something you’ll thank yourself for.

    → 4:30 PM, Apr 5
  • Reducing Cognitive Load of Code

    I found this post called “How to reduce the cognitive load of your code” through Gus Mueller’s blog, and I wanted to endorse it as well.

    A good set of guidelines are: don’t be cute, don’t use weird formatting, keep it simple, and really, really, don’t be cute.

    → 2:51 PM, Mar 29
  • My Weekend With Twilight Princess HD

    I spent a good part of the weekend playing The Legend of Zelda: Twilight Princess HD that came out Friday for Wii U. I played the Wii version of Twilight Princess a bit, but bounced off of it because I found the motion controls tedious. This remastered version is based on the GameCube controls, and so it’s all buttons instead of waggling a Wii remote at the screen.

    Besides Link glowing in one scene for no apparent reason, the updated graphics look fabulous. While I don’t find the art style quite as appealing as what they did with Wind Waker HD, and the graphical fidelity is nowhere near something like The Witcher 3, I haven’t ever felt like I’m looking at a ten year old game. If anything it’s exceeded my expectations graphically. Some of the controls have aged less well, but nothing that makes playing the game not fun. The two control issues I’ve noticed is that the camera will sometimes do strange things, and getting Epona to turn around is painful.

    Anyway – I’m going to be playing more of it this week. If you have a Wii U and like Zelda games, definitely check it out.

    → 3:12 PM, Mar 7
  • Moving From Parse to OneSignal for Push Notifications

    Parse is shutting down, and if you want your app to keep working, you’ll need to move to something else. I’d recommend doing it sooner than later. Thankfully our app isn’t out for another few weeks, and since the only thing we were using Parse for was push notifications, it wasn’t more than a couple hours of work to switch over to something new. The thing we found to handle our push notifications was One Signal.

    Aside from Parse I’ve also used Urban Airship, Push IO, and a custom push server. Custom was definitely the worst. If I were writing the backend myself, custom might not have been so bad, but since I was always working with other developers, it was always a pain because it required involving someone else to test the thing and there was always something wrong with the certificate setup on the server. Out of all of those OneSignal has been the easiest, followed by Parse. I like OneSignal better than Parse though because it’s just push instead of one part of a larger thing that sort of expects me to be using their whole platform.

    → 4:37 PM, Feb 1
  • Email Validation String Extension

    I’ve been using this extension on on String to make checking if a string is a valid email easy. If you know a better place this could live, let me know, but an extension on String felt as good a place as any. I didn’t write the original regex (although I did need to tweak it to make addresses with + in them work), but I’ve tested it and it works well as far as I can tell.

    extension String {
        func isValidEmail() -> Bool  {
            if self.isEmpty {
                return false
            }
    
            guard let regex = try? NSRegularExpression(pattern: "^([a-zA-Z0-9_\-\.\+]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$", options: []) else {
                return false
            }
            return regex.numberOfMatchesInString(self, options: [], range: NSMakeRange(0, self.characters.count)) == 1
        }
    }
    
    → 6:44 PM, Jan 28
  • Less Gross Storyboard Segue to a Navigation Controller

    This is a really ugly piece of code I’ve found myself writing in Swift whenever I’m preparing a storyboard segue where the destinationViewController is a UINavigationController whose root view controller is the thing I actually need to set properties on:

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if let viewController = (segue as? UINavigationController)?.topViewController {
            // Set up the view controller
        }
    }
    

    And so I decided to make this slightly less terrible by adding this category to my app:

    extension UIStoryboardSegue {
        var navigationController: UINavigationController? {
            get {
                return destinationViewController as? UINavigationController
            }
        }
    }
    

    So now that ugly line becomes this:

    if let viewController = segue.navigationController?.topViewController {
            // Set up the view controller
    }
    
    → 6:12 PM, Jan 27
  • Streaming Zelda This Weekend

    I’m planning on finding time tonight and this weekend to stream the last five dungeons of “The Legend of Zelda: A Link to the Past” this weekend on Twitch… along with full color commentary (probably a lot of swearing when I die for the sixth time). If you have their iOS app installed, you can subscribe to my Twitch channel to get notified when the stream starts.

    → 1:46 PM, Jan 22
  • In Praise of Non-Magical Pointing Devices

    Last week I tried playing a game on my Mac for the first time in a long time. About a minute in I realized that a trackpad or Magic Mouse was not going to cut it. I needed something with actual separate buttons that click. The one I landed on, after reading a few positive reviews, was the Razer DeathAdder Chroma. Yes, I agree the name is ridiculous. I choose not to focus on that.

    I like it for a few reasons:

    • It's the number one gaming mouse on Amazon, but doesn't look too much like a gaming mouse, which is good, because I couldn't look at one of those and take myself seriously.
    • It only has two side buttons, which is just the right amount for me. I bound them to back and forward in Safari, Xcode, etc.
    • The driver software is fantastic for the tiny bit of tweakiness I want (assigning those side buttons), and also totally Mac compatible. You can even easily set different button configurations for different apps, and it will switch automatically.
    • It feels pretty good in my hand. The buttons feel nice and clicky, too. The Magic Mouse gives me hand cramps.
    • It was only $50.

    The things I miss are interial scrolling and gestures. But those suck on the Magic Mouse anyway, and are easily fixed by placing my trackpad on the other side of my keyboard for gestures.

    → 3:25 PM, Jan 4
  • RSS
  • JSON Feed
  • Micro.blog