The Dangling Pointer

Sh*t my brain says and forgets about

Another Year Around the Sun

37th Birthday

I turn 37 today. It’s been an amazing journey through life so far and I can’t wait to see where the next 37+ years lead me.

In the past five years alone things have changed so much. I finished my master’s degree, we got a place “up north” for the weekends and met so many fun people, I’ve had amazing jobs doing what I love – software development, and I’ve had the opportunity to speak at a number of conferences about the things I’ve done. I’ve also learned a lot about myself listening to my brain and figuring out this thing called ADD/ADHD.

My goals for the next five years? Meet more awesome people. Do more awesome things. Be an even better human and husband.

I am a procrastinator.

I have always believed I was a procrastinator. I tend to put difficult tasks off until when they are due. I always believed it was the pressure of the deadline that forced me to complete the task. College gave me a series of structured deadlines to learn new things. Procrastination can also add undue stress onto your system. Over time it will make you feel like you’re stupid and can’t get anything done. ADHD and procrastination seem to go hand in hand as well.

I’m sort of done with procrastination. It sucks and I know I’m smarter than this.

This month I’m speaking at two conferences and giving two different talks. The first is on remote working (a “soft” topic) and the other on an introduction to RxSwift – a fairly complex programming topic. I’ve known I needed to prepare these talks for several months and I have been doing the work. The remote working talk went off well. The RxSwift talk is upcoming and I’m sweating it. I want the people at my talk to get something significant out of it and not walk away feeling something was missing or it was a waste of time. When I finally made this statement to myself I realized something significant:

It’s not procrastination – it’s a failure to start.

I didn’t dive into the demo project for the talk because I felt like an imposter. How could I give a talk about a topic I am not an expert in? The reality is I needed to dive into code to incrementally learn the topic better to give people a leg up on their first try at RxSwift. This fear of being an imposter kept making me lose focus on simple things and putting them off.

I seem to have an enhanced behavior of finding something else to do instead of the “real work” when I encounter mental resistance. Mental resistance can come from not knowing a subject or the task feeling remedial. I tend to find other things to do instead like opening up a Facebook tab or checking the 14 different Slack instances I’m in for new messages. I know it is time to step back and re-center myself when I notice that my brain starts derailing like this.

When you find yourself slipping on a task or unable to commit to get something done I suggest doing the following:

  • Break the task down into smaller bits and just get started on the first one. Just get started.
  • Walk away. Literally – walk. Exercise is my number one tool to combat attention and focus issues. Grab your headphones and take a short walk around your office or neighborhood. Don’t actively try to think about your problem at hand – just take in the different atmosphere. You’ll be surprised how often an idea comes to you seemingly randomly during this process.
  • Prevent the distraction by blocking the thing you’re using as a mental crutch. In my case it was logging out of Facebook and blocking the site on my machine. The behavior broke after several months on my work computer. If it’s something like wandering and cleaning your house, close your office door and leave a note to yourself to focus. Maybe try the Pomodoro Technique for 20 minute focus sessions.
  • If all else fails stop committing to things you can’t get done. You’re not a failure if you don’t have time or interest. Dig deep in your head to see what’s important to you and your future.

Sometimes we don’t have a choice and we just have to buckle down and get something done. Reward yourself. Check off that box and celebrate! Sometimes the little successes are more important than the big ones.

Just Get Started

I tend to set myself up for defeat with how my brain works when trying to accomplish a task. I overthink things.

When I pull a task from my list of things to do a process starts in my head. I visualize the task and then try to figure out what the solution is and how it looks at the end. Smaller tasks with a clear goal seem to start just fine. Tasks that are a bit more nebulous or aren’t clear how to do everything end up stalling. I end up wasting time misdirecting myself so I don’t have to face the fact that I don’t have an immediate solution.

I also tend to misdirect myself with tasks that have a clear solution but aren’t terribly exciting. It takes a serious conscious effort for me to keep a grasp on things that tend to be mundane but are a part of my day.

While my focus on this post is generally around my job it applies to how I approach things with my personal life too. Unimportant or difficult tasks tend to get stalled and I will find myself doing other things (like cleaning, checking out Facebook, the weather…) just to not face the task at hand.

So … Just Start.

So how do I get over this fear of working on a task?

Just start.

just-start-crop

Sounds simple, right? It boils down to these things:

  • If this is a larger task admit you can’t see the end and just find the first small chunk you can work on. Smaller tasks are easier to finish and it lets your unconscious noodle on the entire project in the meantime.
  • Turn off the distractions and be cognizant of when you misdirect yourself. Try to figure out a pattern to what causes it and stop it before it happens.
  • If this a task that’s just not engaging or not exciting but its something you need to do, just start. Once you get moving and you prevent the misdirection you’ll finish and feel good.
  • Celebrate the finished tasks.

 

The Power of Five Minutes When Working Remote

Minutes can make a difference. This is something I quickly discovered early on when I started working remote.

The granularity of a usable block of time was much bigger when I worked in an office and had a 20 minute commute each way. Unconsciously I believe I felt 15 minutes was the smallest unit of time I could use to create or do something effective. Since I started working remote, I’ve discovered that unit of time has decreased to something even smaller which is closer to five minutes.

I can get a lot done with five minutes. I can wake up, let the dogs outside, get the coffee started, and then be at my desk working. I don’t have the normal rituals to adhere to in the morning – getting ready for work, driving, going up the elevator, saying hi, putting my lunch away, and then putting my mind into work mode. I end up starting on my treadmill desk right away in the morning with my coffee (when it finishes). If you’re lucky to video chat with me in my morning I’ll have bed head and workout clothes on. 😏

Once I realized how much I could actually get done in those five minutes I discovered other longer tasks were less efficient uses of my time. Driving to get a cup of coffee from Starbucks took easily 20 minutes. That’s 4 times the amount of time I need to do something useful! OMG THE HORROR!

Working remote, to me, means working more efficiently. I try to use my time wisely and keep on track with my goals for the day. It’s easy for me to get off track (especially for me dealing with ADD) so I have to break down my tasks into smaller achievable tasks. I also love checking off boxes when I finished something.

You can get a lot of things done in five minutes. Just don’t forget you can also take a five minute break.

Featured image courtesy of http://scrutiny.deviantart.com/art/Time-is-Slipping-Away-177781756

Fancy Word of the Day: Petrichor

petrichor |ˈpeˌtrīkôr

noun

a pleasant smell that frequently accompanies the first rain after a long period of warm, dry weather. other than the petrichor emanating from the rapidly drying grass, there was not a trace of evidence that it had rained at all.

Fancy Word of the Day – Manchette

Manchettes are the paper frills that cover the ends of a rack of ribs in a crown roast.

Pork Crown Roast

How Working Remote (Probably) Saved My Life

Before Working Remote

In July 2013 I started working remote at Automattic working on the WordPress for iOS app. I was pretty happy with my life at that time and the transition to the new job was not for reasons of disliking my previous job. In fact I loved working for Red Arrow Labs in Milwaukee and it was incredibly hard leaving them. I only left Red Arrow because it felt like Automattic was my unicorn of jobs and I had stumbled upon it by sheer luck. It turns out that I really wasn’t entirely happy with how things were going in my life at the time even though the job was great.

I don’t believe single data points like body weight can gauge happiness. It is, however, an indicator of my overall health and satisfaction with my daily life. In 2010 I had dropped to 235lb/106kg without much effort except eliminating bad foods and walking around the neighborhood a lot. Life changed a bit and within three years I was back up to the 280lb/127kg range.

I was admitted to the ER in 2011 when my heart rhythm freaked me out. I was diagnosed with Atrial Fibrillation (aFib) which is when the electrical signals around your heart freak out. The major risk associated with aFib is stroke because while your heart is beating all weird blood has the chance to pool causing a clot to form. I ended up being put on two medications and regular checkups with an electrophysiologist. Something had to change.

Weight Loss Failures

I’ve learned over time that major self change only is successful when done in super small increments. Drastic short term changes, while satisfying to the impulse buyers in us, end up failing for myself because I miss the old way. Riding my new bike to work was a great success for me and made me feel really good – but it took a lot of effort. Instead of continuing with the biking to work I dissuaded myself by convincing myself it was too cold, or I had an early meeting and couldn’t be sweaty, or my knees hurt a little. Turns out I was doing too much too fast.

I didn’t really find out how to let myself be successful until I left my office job and starting working remote at Automattic. Almost immediately I realized I really did have Attention Deficit Disorder (ADD) and couldn’t ignore it any longer. My level of success as an Automattician depended on me being able to focus and alter my environment to remove distractions. I immediately changed everything in my office and set up all these tools like using the Pomodoro Technique, notebooks, standing at my desk. I felt super successful at first but in the end none of these techniques helped because I got overwhelmed.

In October 2013 I realized I needed help. I ended up seeing a counselor who specializes in both substance abuse and ADD. She helped me work through some of the issues I was having with my attention and got me to realize how I was able to succeed in the past and why I was failing now. The nature of working in an office with the multitude of distractions worked in favor of the ADD. Removing those distractions made me entirely in charge of my workday and my brain spun out of control. For around four months I was on Vyvannse to help let me see how my brain could operate with the focus I was looking for. Ultimately I took myself off of the meds because of some behavioral changes that were too drastic of a change. What I discovered pretty quickly though is a daily regimen breaking things up into chunks made a big difference in my ability to do work.

Combating the Change Aversion

I started biking again mid 2012 after buying my first “real” bicycle made by Trek. I had no excuses any longer to biking – I finally had the comfortable seat, full range of gears, and a proper fit. I recorded all of my trips in RunKeeper for future analysis (like this post). I wanted to go for longer bike rides but excuses like being sweaty or its a bit chilly got in my way.

I started working out over my “lunch hour” to help break up the day. Your brain chemistry changes during exercise and I discovered it helped reset my thoughts. I found a bunch of great step aerobics videos on YouTube from Jenny Ford. A small investment in a step bench allowed me to work out right in my office with a minimal mental barrier. I can shower after I’m done and there is zero commute to the gym. Over time I went from one day a week to around three days.

As time has progressed I’ve mixed in riding my bicycle almost every day during the summer for an hour (roughly 15 miles) with exercising in my basement. On bad weather days I stick with the routine because I now consider exercise just a regular part of my day. I don’t need to overdo it to get benefits from it. For the last year I’ve been also using a treadmill under my desk walking on average of 6-10 miles a day. I absolutely love walking and working especially in the morning.

All of these changes to my exercise regimen happened super gradually. Any time I started something new I would come in at the ground level with no expectations of success. If I didn’t like something, I stopped doing it. There was no need to try to fool myself with doing something like just because it burned a lot of calories.

Automattic

Working remote is a big part of my success but the other part is specific to Automattic. A subset of us have banded together to encourage fitness routines and providing support when things go wrong. We have a Slack chat room dedicated to fitness that is full of awesome praise and discussions. RunKeeper friends from work also provide that boost of support when we have that tiny success finishing a workout. At our grand meetups every year we also encourage physical activities to connect us together doing something active and fun. Automattic even recently bought everyone a Fitbit device of their liking to let us be aware of our activity levels.

Before working at Automattic I always thought of fitness as a specific set of things – things like P90X and powdered drinks/supplements, talking about your current weight lifting levels and competition meant to boast not encourage. Turns out none of that is the truth here. We have a bunch of people doing weight lifting, Crossfit, and running but its all ego-free. We all have our own approach to fitness and no judgement is passed only encouragement. It’s super awesome.

Where I’m at Today

My weight has dropped to around 225lb/102kg and remained relatively plateaued over the past year. Recently I’ve mixed in weight/resistance every other day which I am really enjoying. My goal isn’t weight loss but rather increasing my focus with the side effect of increased stamina to do the fun things like biking or walking. With the weight loss and greatly improved active lifestyle I’ve been able to stop the aFib medications and just have biannual checkups with my electrophysiologist.

Having both the flexibility of working remote and the support of my coworkers going through similar challenges has helped a lot. I am a better person for combating the physical health issues and establishing a framework to counteract the ADD. While I don’t believe I’d really be dead today if I had continued on the path of the unchecked body weight, I do know I am healthier and much happier.

This is what 400 Automatticians in one place looks like from a drone

Watch the drone video below taken at our annual Grand Meetup in Park City, Utah October 2015:

 

https://automattic.com/work-with-us/

Detecting Atrial Fibrillation with your Smart Phone

I may have mentioned this before, but I have experienced atrial fibrillation (A-fib) in the past. A-fib is an irregular heart rhythm with rapid and/or irregular heart beating. Summed up its because the electrical system with my heart gets funky once in a while causing a short-circuit on the outside of the heart. The irregular rhythm isn’t the big risk – the risk is blood flow can get disrupted long enough in the heart to form blood clots.

I’ve been lucky that by losing 60lb+ since I was originally diagnosed and keeping a regular cardio health regimen I’ve improved. I was on medication (metoprolol and flecainide) for a couple years but I didn’t like my low heart rate and subsequent dizzy spells. My electrophysiologist and I have stopped the medication for now to see how well I’m doing without it. I needed my own electrocardiogram machine in order to prove the A-fib has stopped. The solution was a neat device made by AliveCor.

The AliveCor device connects with your iPhone or Android device and provides a FDA-cleared single-lead ECG readout. It can automatically detect A-Fib and provides the ability to export your results for your own doctor. You can also pay them for a review of your ECG by a technician within a 30-minute ($5) or 24-hour period ($2). It communicates with your device through its microphone. They claim is uses an ultrasonic sound that your phone has the ability to hear and it requires no pairing.

IMG_8493.PNG

I’ve only had the device a couple of days so I’ll report back after a couple months! So far, so good!

Swizzling in AFNetworking somehow breaks iOS’ NSDoubleLocalizedStrings

Tools to Help Test Localization

Apple provides some pretty slick tools to help with localization testing in your apps. I had completely forgotten about two launch parameters that make it possible to find those pesky layout problems early:

  • NSDoubleLocalizedStrings – Any calls made to NSLocalizedString will double the strings to simulate languages with longer words, like German.
  • NSShowNonLocalizedStrings – Replaces any text from NSLocalizedString that doesn’t have an entry in a strings file.
  • AppleTextDirection – Simulates a Left to Right language.

In Xcode 7 there is an easier way to provide these options. Edit the scheme for your app, click on the Run section, then the Options tab. You’ll see Application Language has two options – Double Length Pseudolanguage and Right to Left Pseudolanguage. There is also a check box for Show non-localized strings. These three options are equivalent to the launch arguments above.

There’s more about testing the localization of your app in Apple’s Internationalization and Localization Guide.

Why Isn’t it Working!?!!?!?

This past week I spent a good chunk of a day trying to figure out why Xcode’s options for localization testing weren’t working. I tried the three items above and also tried sending them as launch parameters like -NSDoubleLocalizedStrings YES with no avail. I checked the contents of NSUserDefaults upon launch and verified that the launch parameters made it into the defaults as expected. Why wasn’t it working??

I then tried to set the user default myself in the app delegate. At first it didn’t work. Then when I restarted the app suddenly the strings were being duplicated. I was confused to say the least.

I dug deeper and discovered that two test apps I had written for RayWenderlich.com worked just fine with the Xcode options and launch arguments approach. My project that didn’t work had CocoaPods – so I thought maybe that was the problem. It wasn’t because the second test app had CocoaPods. I then decided it had to be one of the pods causing the problem.

I went back to the original app and started removing pods from the Podfile. Turns out the pod causing the issue was AFNetworking! I then added AFNetworking to my demo project that was working and it stopped working after that. Then I dug through each subspec in AFNetworking and found that the NSURLSession spec was the culprit.

Turns out there is a single line of code in a method swizzle in AFNetworking’s AFURLSessionManager’s private class _AFURLSessionTaskSwizzling that’s causing the issue.

I opened an issue on GitHub to help track this. It does seem to be an issue even in AFNetworking 3.

How do I Fix it Right Now?

Simply comment out the line of code referenced above in your checked out copy of AFNetworking. If you’re using CocoaPods you’ll get a warning message saying you have to unlock editing of that file. Go ahead and do that but don’t forget to undo the change after.

Page 9 of 30

Powered by WordPress & Theme by Anders Norén