Twenty-nine

Today I turned twenty-nine. As a new tradition, I’m writing twenty-nine things I’ve learned in twenty-nine years.

- Whenever a friend is on your mind contact them.

- If you believe but don’t expect you will never receive.

- Take time to understand your interest and values; it’ll help you focus, live more, and get ahead.

- Expectation is acting on what you believe (your faith) before you see it.

- You’ll never have a breakthrough year if you focus on a breakdown year.

- Money is a medium. Wealth is value.

- Goals should always be aligned with values.

- Under schedule and you’ll have meaningful time to reflect and engage in leisure.

- Like what you have to do; don’t do too much of it; get the most out of the free time that remains.

- Stand out by means other than simply outworking peers. Be impressive.

- Maximize rewards and interesting opportunities afforded while minimizing time investment and schedule footprint.

- I’ve defeated statistics but my impact in society is not done.

- A certain substance is really good.

- I finally came to the realization that I will never get “into” sports. It’s just not me.

- Leaving Facebook and Instagram wasn’t hard. It only made Twitter more interesting and valuable.

- Being a star was never in God’s plans. Remember this and you’ll be full of Earth.

- I don’t like seeing my mom cry; losing my brother was emotional and still is.

- Node.js isn’t that bad.

- I feel naked without a wristwatch on. I like watches.

- Shipping is hard. Fitting a culture unlike you is even harder.

- Marriage is cooler than I imagined; Tamara makes it beautiful.

- Time swiftly passes.

- Learning to think big is easier when you focus on less and meditate.

- Knowing people use software I’ve open source is soothing.

- I was reminded recently that understanding how to perform CPR is important. Learn.

- Tamara and I are living a pretty awesome life. I’m continuously happy.

- Vinyl records sound warmer than digital records.

- Tattoos will be in my near future.

- I want an experience, not money, not celebrity.

Introducing Chrrp

Chrrp is an iOS app that alerts tech founders when something good happens. Using Stripe’s API, Chrrp lets you know when a customer signs up or when you make money. It’s like a Stripe pager.

Chrrp also provides recent info on sign ups, revenue, and charges, all in a simple yet newsy app.

Learn more about Chrrp

The Story

Early October, I was gchatting with my friend [Brandon Brisbon](http://brandonbrisbon.com). We had our normal exchange – Brandon talked about what he was [working on](http://emailhooks.co/) and vice versa. Then out of habit we started talking about ideas. The convo went like this:

Me: You know what would be a good app?

Brandon: What?

Me: An app that plays MoneyBags by Rick Ross everytime a new customer or payment is added to Stripe.

Brandon: Hmmm yea its doable, but u think people would pay $X for that?

Me: I would.

A domain purchase and few lines of code later, we created Chrrp.

Download Chrrp now and let us know what you think. If you have a request, let’s chat.

 

2014 Goals

This is my first time *publicly* writing about my annual goals, or any goals for that matter. I typically write them in a notebook or my Mac’s text editor, then share them with Tamara. This routine has worked *okay*, but its largely been ineffective and loose.

This doesn’t mean Tamara hasn’t been a good support person. She’s always cheered me on. Usually through *packaged* messages, reminding me that I have moobs or need to follow through with X. The problem has been me not honoring those goals.

If I had a blame card to give out it would say, “Royce doesn’t document or track annual goals wisely“.

So for 2014 it felt right to put my goals *out there*. The plan is to reflect next December on what went well and what didn’t, sorta like Justin Mares 2013 reflection post but with more swagger. I also plan to track everything on a domain (more about this below). Hopefully the experience is insightful.

Welp, here goes a new thing…

#### 10 goals for 2014

- Go on (minimum) 12 dates with Tamara.

- Pay off debt (i.e., student loans) and have a net worth of $0 or more.

- Read 12 books from front to back.

- Write 12 blog posts.

- Recieve A+ grade on 3 CS graduate courses (Taking 3 classes at CU Boulder next year towards CS Masters).

- Exercise 208 times for at least a full hour (At a rate of 4 times a week).

- Reduce body fat by 8 percent. Currently at 26.6 percent. Note: Follow Twitter hashtag #moobdiet for updates.

- Create one or more software-oriented products that generates $20,000 in revenue.

- Go on a 1 mile jog with Layla once a month.

- Increase emotional and spirtual energy. Note: I’ll do this by reviewing techniques from Manage Your Energy, Not Your Time once a month, meditating daily, and showing appreciation often.

How I plan to measure

I’ll be using a mix of Fitbit, Foursquare, Google Cal, and other stuff for measurement and progress. All data will be viewable at a new site (royce.io), which isn’t up yet but will be soon. I’ll be using APIs for most of the data, other data will be punched in manually. You can think of royce.io as a quantified selfie site that serves as a one-stop progress dashboard. I’ll tweet about the new site when its shipped.

As far as that last goal, I hope to compile feedback from Tamara (pretty sure she’ll have tons of it), local friends and family. I’ll summerize this feedback along with stats from royce.io in the *end of 2014 results post.*

Anyway, wish me luck. Happy New Year! As for you…

-Royce

Bye Facebook

A few weeks ago I deactivated my Facebook account. It wasn’t planned or on the to-do list, I just felt indifferent about the service.

Before deactivating, I checked out my activity stream, liked a few posts, wrote a comment, and looked at my notifications. The normal routine. After a few minutes went by, I was still gazing at Facebook in bed, and by then my conscious had woke up and asked, why does Facebook deserve your attention?

Back in college, I enjoyed Facebook. I could view pics of me and my friends from the night before, keep up with old and new friends, find out about local parties, and stalk people without being judged. Facebook simply complimented my college experience. But even while attending college, Facebook didn’t deserve my attention.

“in an age of personal technological revolution, we all need a more explicit philosophy for adopting tools. Without this clarity, we run the risk of drowning in a sea of distracting apps and shiny web sites.” – Cal Newport

Times have changed.

Facebook isn’t relevant (to me) anymore and has championed a new level of distractions called social networks. I’m not anti social networks, but I’m against the bad habits they implicitly promote.

I have limited time and rather focus on projects, hang out with folks, and learn new tricks.

So yea, that’s that. Less social is more.

Do Product Faster

On Being a Hackstar

My Mom thinks my line of work is magic. When I told her four months ago that I was going to be a Hackstar at Techstars Boulder, she assumed I’d be locked in a room making all the Internets. Well Mommy, it’s sorta like that.

A Hackstar is a software or designer craftsman who has one primary goal: do product faster. What does this mean? Unlike Techstars founders, Hackstars have the luxury of focusing only on product and not other stuff that comes with founding a company. Whether building out features or designing web user experiences, Hackstars spend a good part of the three-month camp making all things product-oriented happen.

I had the pleasure working with two companies: Shopventory and Adsnative.

Shopventory is an inventory management tool for mobile point of sales (think PayPal and Square) ran by a duo of San Diego engineers. If you run a shop, use Square or PayPal, and have a guap of merchandise, you will perfectly understand the problem at hand. I helped them with features like accepting payments, inventory items from PayPal, and abstracting how data is modeled and stored to support future integrations.

Adsnative makes it simple to integrate high-quality content into the organic experience of, say, a mobile or web app. If you’re a publisher or advertiser, you’d use this tool to make ads look like everyday content on your mobile or web site. I did several things for this group of Berkley guys like interface with YouTube’s API to provide feeds for easy campaign creation, set up vagrant for easy dev setup, and re-factored a feed parser to better parse RSS and web articles.

Additionally, I helped build the official Techstars Demo Day app, which will be used to broadcast TS Boulder demo day and others. It’s pretty sweet.

Techstars Boulder is like an exclusive summer camp that hooks Techstars founders up. Founders learn how to run a company with respect to being honest with themselves, and their team and mentors. They get exposure from wise and successful entrepreneurs and VCs like David Cohen and Brad Feld. The list goes on and on, and it sums up to a mind blowing experience. For Hackstars, we get to experience 99% of the program like the founders minus the pressure of making hard decisions and building a successful company. Plus, we get hooked up through getting-in early with companies that are deemed to be unfairly successful.

Techstars Boulder 2013, you’ve been awesome. The friendships gained, knowledge acquired, and the experiences and moments enjoyed will welcomely haunt me forever. Thanks to Eugene, Luke, and Techstars for the opportunity. To others I’ve shared drinks with including Crystal and Chase, I will cherish our time together.

As B.B. King once said, let the good times roll.

 

Money, Time, and Energy

Last May, I attended Boulder Startup Week. The gist of the event is to gather a bunch of tech-oriented folks, attend events ranging from hiking to tech talks to startup parties, and attract folks to the area. Let me tell you…

*It didn’t take much to win me over.*

After a week of meeting new people and roaming downtown Boulder, I went back to Kansas City convinced that Tamara and I should move. And not just for selfish reasons. I believed that the Boulder/Denver area had something to offer Tamara as well as myself. It helps that we’re both creatives.

With very little convincing, Tamara agreed and we decided to move. We didn’t have a job lined up or any worldly reason of moving except that we liked the area. That was all that mattered.

*Why am I telling this story?*

Tamara and I learned relatively early in our relationship that planning together can lead to living an autonomous life-style. We knew that living in Kansas City was not an option, at least in the near term. We wanted to try something different, and so we did. This could only happen with smart planning.

Money, time and energy are three things couples tend to actively talk about and plan. I’m going to briefly talk about these resources and how we manage each.

Money

Tamara and I purposefully spend the bulk of our money on traveling. Why? Because we’re young, and we want to see the world before we get old. Instead of getting a nice ass crib or car, we focused our funds on things that would promote new experiences in our lives.

We also automate all of our expenses. For example, we each get a guilt-free allowance from our primary account; meanwhile our bills get paid automatically and on time. The only thing we concern ourselves with is feeding the beast with enough money.

Time

People who know me know I plan my life in themes by the decade. During my 20th birthday I coined the theme “travel and new experiences,” which meant for roughly a decade majority of my time would be spent exploring and taking risks. So instead of wasting money on material things, I live frugally and spend a bulk of my earnings traveling and taking risks. Tamara and I have behaved in a similar manner since being married, which allowed us to make the move to Boulder without much stuff and ties to Kansas City. It’s the reason why we’re planning to take four overseas trips in 2014.

The aggregate of your time is important, and the thought of being buckled down working in your 20s sucks. Hence, figure out a theme for the next 5 or 10 years, and position yourself, career wise and personally, to devote as much time to that theme as possible.

Energy

Lastly, managing your energy not your time is severely important. To do this takes discipline and a cadence of meditation, exercise, and kindness. I won’t go into detail, as this blog post is longer than I wanted it to be. Just think about how you and your spouse can produce the most energy from your mind, body, and spirit.With the two of you being cheerleaders of each others biggest asset (you), it makes for a healthy and fruitful relationship. There’s a great Harvard Business Review article on this topic.

Thanks for reading. Would enjoy getting feedback.

Always Be Testing

You’re a developer and you get handed over shitty code. The only proof that the code works is someone who uses the software and complains to you that it’s buggy. What’s a developer to do?

Whether you’re handling new or legacy code, first thing is to start testing.

When I first started writing software I thought testing was for the birds. Testing, in my mind, absorbed time and energy away from building features and shipping. But after supporting my own and others code, I realized a couple of things. Supporting software sucks and making bad code good is typically impossible without rewriting. This is true unless you have clear documentation and a test suite.

Testing code is about the end game. Would you rather be fixing bugs and rewriting months down the road or implementing new features? I’m guessing the latter.

Testing saves money, jobs, and lives. – Daniel Greenfeld

Further, Daniel Greenfeld (author of Two Scoops of Django) points out that the “lack of stability in a project can mean the loss of clients, contracts, and even employment.” More important than implementing new features is reducing risks like those mentioned by Daniel. No developer wants to lose their job because they didn’t tests their work.

I want to provide you tips…

In this post, I’d like to offer up testing habits that will make you a better developer.

1. Something is better than nothing

Make it a habit to start testing. If you don’t know where to start, try testing code that is critical to your business like credit card processing, registering a user, or managing confidential information. Unit tests are your best friend for testing these type of tasks.

Remember that creating an automated test suite is not a waste of time, especially when it eliminates clicking through screens manually to resolve bugs.

2. Coverage isn’t everything.

You may think that I’m a fan of 100% test coverage. Well, I’m not. 100% code coverage could be a recipe for failure because the tests may lack real-life use cases.

It’s obvious that 0 percent coverage of a module indicates we have work to do. But what does it mean when we have 70 percent coverage? Do we need to code tests that go after the other 30 percent? – Greg L. Turnquist

When faced with partial to no test coverage, work towards increasing coverage by writing new tests that target scenarios the code is expected to handle. This doesn’t mean create test cases just to say you have 100% coverage. Be smart and think about how your code is meant to operate then add tests that are useful.

In other words, effective coverage trumps 100% coverage.

3. Be willing to invest in test fixtures

A test fixture is code that typically supports your tests. For example, removing records from a database before running a unit test is a text fixture.

Spend time working on test fixtures and the investment will pay off. Not only will your unit tests pass, but you’ll have better intuition on how your code should operate.

4. If you aren’t convinced on the value of testing, your team won’t be either.

You’re only as strong as your weakest link. Expect problems if only part of your team believes in the value of testng.

5. Harvesting metrics

You can achieve incredible progress if you set a clear goal and find a measure that will drive progress toward that goal – Bill Gates

To get an idea of how testing helps improve code and reduce bugs you should harvest metrics for validation.

Here are steps on how to measure your testing taken from Python Testing Cookbook by Greg L. Turnquist:

  1. Create a spreadsheet to track number of test cases, time to run test suite, date of test run, bugs, and average time per test.
  2. Check the spreadsheet into your code base as another controlled artifact.
  3. Add some graphs to show the curve of test time versus test quantity.
  4. Add a new row of data at least every time you do a release. If you can capture data more often, like once/week or even once/day, that is better.

Harvesting metrics allows you to point to facts that show why your time writing tests is value added. It’s a good reference to justify the importance of testing.

“Think of it as a backup for your assertion of quality.” – Greg L. Turnquist

6. Capturing a bug in an automated test

Whenever a bug occurs in your software, look for an opportunity to write an automated unit test that recreates the error then work towards fixing the problem.

7. Pause to refactor when test suite takes too long to run

Tests are meant to be ran multiple times a day. If they take to long to run, you’re probably going to run them less often. Take time to refactor when this happens. Profiling your code is just as important as making unit tests, which leads to better performance and costs savings.

8. Be willing to throw away an entire day of changes.

One day, you decided to refactor a bunch of code without running existing tests throughout the refactor. You find out that your code breaks unit tests and you have to work towards making things right.

If you don’t commit early and often, code a little, and test a little then you pretty much wasted a day writing code that doesn’t make the cut.

Remember to code a little, test a little coupled with commiting to your version control as often as possible.