Leah Culver's Blog

Blog
  • Archives
  • Subscribe
  • leahculver.com

I ran for a year

Originally published on Medium. Republished on Lifehacker.

Shoes

I started running a year ago. I had just begun a new job after leaving my own startup. I was tired of being a founder and desperately needed a break. I wanted to have a calmer lifestyle and I wanted a hobby.

Running seemed like a great choice for a hobby. As a computer programmer, my brain gets a great workout but my butt sits in a computer chair all day. I thought that a little bit of exercise would balance it out.

I didn’t entirely start from scratch. In the past I had jogged every once in a while, maybe once a month. I had a pair of Nike running shoes that my parents had bought me for Christmas and some grungy workout clothes. On the recommendation of my coworkers, I downloaded the free Nike+ running app for my iPhone.

My first run was just two miles at 12 minutes per mile. That’s pretty slow. However, for a non-athlete I felt fairly good about it. I jogged a couple more times that week. After a couple weeks of regular jogging, I set a goal for myself:

Don’t quit.

I knew I would never be fast enough to impress anybody so it didn’t make sense to make speed my goal. I could have picked a race to train for, a 5k or half miler, but I knew how those ended. Everyone seems to quit running right after their big race. I wanted to do something different. I wanted to not quit.

My goal involved not going too long between runs. If I skipped more than a couple days, wouldn’t that be quitting? So I started running four and five days a week. The longest I went between runs was three days when I was in Hawaii for vacation.

My goal made all the difference. I was still slow, but I could at least feel good that I was running a lot. I’d have good days where I would run fast and feel great but I also had lots of bad days where I was tired and just didn’t feel like running. In retrospect those days were almost better than the good days because they reinforced my goal - I didn’t quit.

I ran my first 5k on Halloween, nearly five months after I had taken up running as a hobby. I wore a costume - fairy wings - and tried to keep up with a random guy with an owl on his head. I finished in 28 minutes and was super happy. I learned that racing wasn’t always about being the fastest, but doing my personal best.

I also learned that there are lots of kinds of runners. I’m definitely a certain kind - the 30 year old woman who wants to stay fit. There’s also the 20-somethings who ran in college, the middle-aged dads and moms, the older runners, and even little kids. During my next 5k race, my primary goal was keeping up with the 10-year old boy running next to me.

There’s lots of good things about running. I run outdoors so I get some fresh air and occasionally some sunshine (lots of fog here in San Francisco). My favorite part about running is when I do long runs on Sundays. I sometimes pick a cool or weird place to explore and run to that place. I’ve seen the Seward street slides, the tiled steps at Moraga and 16th, the Wind Harp tower, and nearly all of Golden Gate park. Did you know there are two windmills in Golden Gate park? I thought I imagined them after running six miles to get there.

Running also gave me a new perspective on my body. I’ve always been so focused on my mind and my body was just something that I lived in. I finally felt that my body had a purpose - to run.

There are lots of downsides to running as well. I sweat a lot when I run. A LOT. I’d come back to the office after a run and the office dog would run up and lick my sweaty legs. I had to stop caring if people saw me all sweaty and gross.

Thanks to my slow pace, I haven’t really been injured yet. I have tripped and scraped my knees, more than once. I’ve also lost a couple toenails after long runs and big hills. I’ve learned to keep my toenails short and watch out for gaps in the sidewalk.

My one year running anniversary was last Saturday, June 8. I had signed up to run a race on the exact day of my first run. Sadly I never got to run that race, it was cancelled shortly after the Boston Marathon bombings.

Instead of running a race on my anniversary, I signed up to run a full marathon in December, hired a running coach, and set a regular running schedule.

I’ve started to think of myself as a runner.

If you would have told me a year ago that I would be working out almost every day and running 100 miles a month I would never have believed you. Running really snuck up on me. I had modest aspirations and didn’t really care if I was great at running. I just wanted to stick to my one goal.

Don’t quit.

Posted on 06/18/2013 at 02:00 PM | Permalink | Comments (0)

The Pastry Box Project – Saturday, 4 May 2013

Originally published on The Pastry Box Project.

When thinking about the future of OAuth it’s helpful to remember why OAuth was created.

I was lucky enough to be part of the original group of API providers who created OAuth so I know that OAuth was (mostly) intended to solve two common problems with API authentication:

  1. SSL/TLS was expensive and complicated.
  2. Websites shouldn’t be storing passwords of other websites.

Of course #1 is past-tense for a reason. SSL is now commonplace for web applications. APIs can simply do all their authentication over SSL, which is a really good thing. There’s no need to be swapping tokens around over SSL!

Password storage, #2, is still an issue. Websites shouldn’t be storing plaintext passwords for other websites. However… mobile! It’s kind of okay to store a user’s credentials on a mobile device.

There’s a third major purpose of OAuth which arose as an unintended consequence: one-click login.

One-click login has been OAuth’s greatest success. Users can log in to a new website using their Twitter or Facebook credentials. It’s much faster than having to enter a bunch of signup information.

So what’s the future of OAuth? I really love the one-click login feature but the other two issues seem much less relevant today.

For the future we need to consider the problems that plague API developers today.

What are best practices for mobile devices? How can we make OAuth as simple as possible for client developers now that SSL is commonplace? Can we make one-click login even faster and more trustworthy?

These are all questions we need to be talking about for OAuth 3.0.

Posted on 05/04/2013 at 02:00 PM | Permalink | Comments (0)

The Pastry Box Project – Tuesday, 9 April 2013

Originally published on The Pastry Box Project.

One thing that really bugs me about iPhone apps is that users need to be constantly updating to get the latest version. By updating, I mean going to the App Store and clicking the “Update” or “Update All” button.

Users have a bunch of reasons not to update apps—they forget, too busy, don’t want to wait for the download, have an older phone or OS so that updates won’t work, or they just don’t know that they need to at all.

Of course web applications don’t have this problem. Every time you visit a site or refresh a page you’re getting the latest version. Some desktop applications are fairly forceful about upgrading as well. Chrome updates every time you open the app (by default). Many other desktop applications are aware that there’s a newer version and will prompt you to upgrade.

It seems like it’s still super rare to see any sort of upgrade messaging within iPhone apps. I only recall being forced to upgrade once and it was a Zynga game.

I think ideally your iPhone would download the latest versions of your apps (and iOS) in the background, maybe at times when you’re connected to wifi. However, I don’t see this happening any time soon.

In the meantime I’ve started to integrate upgrade messaging into the apps that I work on and would love to see more open source projects addressing this issue. iPhone app releases contain lots of bug fixes and new features and it would be great to get these out to users as soon as possible.

Posted on 04/09/2013 at 02:00 PM | Permalink | Comments (0)

The Pastry Box Project – Wednesday, 6 March 2013

Originally published on The Pastry Box Project.

Developers hate interruptions. Of course everyone dislikes being interrupted, but being interrupted while writing code is particularly tough. Coding requires a lot of concentrated mental energy. We mentally untangle logical problems, seek to simply solutions, and cover all edge cases. Often we’re trying to mentally calculate several things at once.

Interruptions are frustrating because we may lose our train of thought or forget an edge case. It’s also really difficult to focus on a new task while our brain may still be working on the previous problem.

I recently returned to working in an office full-time after working from home for several years. By far what I miss most about working from home is that my home is relatively free of interruptions and therefore perfect for coding work.

However, I’ve realized that writing great code isn’t the only part of my job. Communicating with co-workers, planning and coordinating tasks, and exchanging feedback are also an important part of my job as a developer.

Currently I’m working on becoming more productive in an environment with interruptions. For example, I try to put aside my current task and really listen when someone needs my attention. I also try to carve out some time dedicated to responding to email, planning upcoming projects, and collaborating with co-workers.

In a perfect world we would all be working together and thinking about the same things at the same time and there would be no interruptions. Of course this is impossible (unless we become the Borg… but that’s a whole different blog post). So, (for now?!) I’m okay with learning to manage interruptions and figuring out how to become a better co-worker.

Posted on 03/06/2013 at 03:00 PM | Permalink | Comments (0)

Running a heart around San Francisco

Nike+ run heart

Happy Valentine's Day!

Super cute, right? It's not a totally original idea (here's a bike route one) but it was really fun to make.

I've been running a lot lately and using the Nike+ Running iPhone app to track and map my runs. I've also been posting some of my longer or more interesting runs on Path.

Here's how I planned the route - It was really easy to sketch out the map. I just took a screenshot of downtown San Francisco in Google maps and drew right on top of the image using Acorn. Then I used Runningmap.com to plot out the exact streets and check on the elevation (I wanted to avoid all those SF hills!). Finally, I added some labels in Skitch and printed it out for the run.

Map run heart
Note that I didn't run this exact route... I missed a turn and made a few minor adjustments in the middle of my run. :P

After I finished the run this morning, I posted it to Path, Twitter, and Facebook.

Path run heart

Here's my Runningmap.com route if you'd like to try to run it yourself! 

Posted on 02/14/2013 at 07:39 PM | Permalink | Comments (3)

Snapchat and simple sharing

I have a confession. I really like Snapchat.

To write it off as just a sexting app is to underestimate the power of its simplicity. I've been sending snaps to friends for a couple weeks and there's something very liberating about taking a quick photo. It can be a crappy photo. It can be silly. I don't need to spend 15 minutes setting up the perfect shot or scrolling though filter options.

Snapchat is just a simple way to communicate with someone else. On the communication spectrum from lightest (texting?) to heaviest (email?) it's probably even lighter than texting. Crazy.

I love that there's no comments. As far as I can tell, the only way to reply is to send another snapchat. I usually just post whatever I happen to be doing at the moment. It's like Twitter without having to bother to actually write anything. Here's me! Eating a sandwich!

Maybe Snapchat is just a fad. However, I think it's indicative of people's desire to share and communicate as quickly and easily as possible. It's definitely worth noting.

Snapchat

P.S. Right now I'm also really into what I call "passive sharing" - not taking much action at all to share what you're currently doing. I think Apple's Find Friends app is the perfect example. I'm also totally fascinated with the Path's Nike+ integration. Posting that I'm out for a run is super easy and when one of my friends "likes" that I'm running I hear cheering in my headphones. It's such a simple interaction with a huge emotional impact.

Posted on 02/06/2013 at 12:42 AM | Permalink | Comments (0)

The Pastry Box Project – Sunday, 3 February 2013

Originally published on The Pastry Box Project.

I don’t believe in talent. I believe that passion combined with hard work produces results. But how does one find what they’re passionate about?

Some people are lucky to find what they love to do when they’re young. I tried all kinds of activities when I was a teenager. I took piano lessons. I learned to sew and knit. I played soccer, softball, lacrosse, and ran track. I studied French and wrote short stories. However, none of these felt like my true passion.

I went to college to study design. I had always loved making things and I was excited to find the medium I would like best. Painting? Pottery? Photography?

I would have never guessed programming.

I took my first Computer Science class my freshman year. It quickly became my favorite class and I spent many hours building a game for my final project. I was hooked.

I’ve been writing code for eleven years now and I’ve probably long passed the 10,000 hours for mastery according to Malcolm Gladwell. By all accounts I’m a good programmer now.

Yet today I woke up early to work on a juicy programming problem. I still get excited to make things with code. I’ve found what I love to do.

I hope you don’t buy into the idea that people are naturally good at something or are born talented. Instead, I hope you will find what you love to do. I hope you find your passion.

Posted on 02/03/2013 at 03:00 PM | Permalink | Comments (0)

New Year's Resolutions 2013

I have a few resolutions for 2013:

I'll be writing for the Pastry Box Project once a month all year long. The Pastry Box Project selects a group of 30 people who are influential in their field and has them each write one post a month for a full year. Here's my first post from today, Thursday 10 January. You should really follow the whole blog - there's some really great posts!

My second goal is to fix up my open source projects. I'm pretty good at occasionally releasing code as open source but I'd like to be better at maintaining it.

Finally, I'd like to run 1000 miles this year (inspired by @dens). I have the short term goal to run 100 miles a month. This would really be 1200 miles for the year but I figure it doesn't hurt to have some wiggle room.

Happy 2013 everyone!

Posted on 01/10/2013 at 06:00 PM | Permalink | Comments (0)

The Pastry Box Project – Thursday, 10 January 2013

Originally published on The Pastry Box Project.

It’s strange to think that I might not make another web app. I’ve been working on iPhone apps for the past year and have done very little web development.

If I were to make a new app today, it would be an iPhone app. It’s difficult for me to see a scenario where I would choose to build a website, or even a mobile website, over a native app. I use my iPhone for everything these days.

I feel nostalgic for the web as it was in 2007. It was great to be able to share links, follow blogs, and generally have websites that play nicely with each other.

I don’t think the web as it was then is coming back though. I think there will be something new. Something that encompasses the ideas of the interconnected web but exists on mobile.

I’m just a little sad that it might be a younger generation that gets to define this new paradigm instead of us, generation Web 2.0.

Posted on 01/10/2013 at 03:00 PM | Permalink | Comments (0)

Log in or sign up with GitHub (but not with Facebook)

For my latest product, Grove, I wanted to allow users to quickly log in or sign up with an existing account, such as Twitter or Facebook.

A while back I collected some data to determine how many people were using Facebook, Twitter, and OpenID to log in to TypePad. It was fairly obvious to me that people liked logging in using existing accounts.

My new product, Grove, provides hosted IRC servers for teams. Since IRC appeals mainly to developers, I thought it would be great to allow people to sign up and login with GitHub.

So our team created both GitHub and Twitter log in buttons.

Grove-login

 

With TypePad, the most popular service for logging in was Facebook. However, I purposely didn't add a Facebook log in button because I felt that our target audience (developers) wouldn't be as likely to use it. In fact, they might actually find a Facebook button a turn-off.

Our team isn't collecting much data yet, but we do know how many accounts total are connected via GitHub or Twitter.

Users who have connected their account:

Twitter: 13.96 %
GitHub: 20.41 %

Wow. This means that 1 in 5 users have probably logged in with GitHub while only 1 in 7 have logged in with Twitter.

I guess I don't need to add that Facebook button any time soon.

Posted on 02/06/2012 at 06:41 AM | Permalink | Comments (14)

« Previous | Next »