Thursday, May 30, 2013

How we use GitHub as a killer bug tracker and code review tool

I like a place to organize my bugs and features. I don’t like to double track in my own to-do list and in a bug tracker. I’m also a huge fan of code review. It was important to me that code review integrated well with my bug tracker.

Enter GitHub and Hub

I’ve started a few team projects, and haphazardly ended up using GitHub for bug tracker and code review. Once I found that Hub converted issues into pull requests, I fell in love.

My team has a very simple workflow for code review. (This could work well for individual projects as well by simply skipping the code review step.)

Planning and bug tracking 

  • Create milestones in GitHub Issues
  • Create issues for features or bugs for each milestone

Development 

  • Create a branch for each issue you start work on

git branch –track issue8 origin/issue8

  • Push to the branch on GitHub (You can commit/push as much as you want to this GitHub branch)

Code submission and review 

  • Convert issue into pull request with Hub

hub pull-request -i 8

  • The code can be reviewed on GitHub by a co-developer
  • Changes are pushed to the branch and GitHub tracks commits in the pull-request thread
  • Once the code is ready — Merge

Rinse and Repeat 

  • Rinse: delete branch
  • Repeat: create another branch for another issue

 

Tracking branches

The only step that felt like extra work here was adding branches for each issue. However, once it became habit I can’t imagine it any other way.

We have a master branch that is merged into, and a release branch that gets updated with each milestone. It seems natural that each issue/feature has it’s own branch to update and merge.

Wednesday, May 29, 2013

Ironically… You need to do it for you

When you’re the founder of a tech startup, your spouse will probably feel lacking in what your business demands from you most: time. You run into the frequent decision to sacrifice your time for your business, your health, or your family. You can’t choose them all. Every minute of every hour must be dedicated to one thing.

Unfortunately, family often gets the short straw.

I have some counterintuitive advice: whatever you do to ease the pain of neglecting your family, it is important that you do it for yourself - not for them.

Often we may want to point out to our significant other the amount of sacrifice we’re making for them:

‘Have you noticed? The last week I took more time off work to give you more attention.’

‘I just wanted to point out that I’m giving up work to be here right now.’

‘Going on another vacation… Remember that I miss work every time we go.’

Don’t. Stop it. You’re not helping. You’re making it worse.

Your spouse wants you to want to spend time with them. When you make it a sacrifice to be with them you’re sending the opposite message. You’re saying: ‘I’d rather be at work right now, but I know you need me to babysit you.’

Stop expressing that you wish you could spend less time with them by reminding them of what you’re giving up.

If anything, express the opposite feeling. You enjoy your work. But make sure you express to your spouse that being away from them in order to work is the sacrifice. Let them know that you miss them and wish you could spend more time with them.

The best thing about being self-employed is also the worst thing: you don’t report to anyone but yourself. When you’re not there nothing gets done. But that doesn’t mean you always have to be there. You get to define when you work and when you don’t work.

Take time off with your family because you want to - do it for you.

Monday, May 20, 2013

Two Xcode plugins I didn’t know I needed

Mini Xcode - GitHub

Let’s you select scheme and device with a simple (Ctrl+7 / Ctrl + 8) shortcut. It also lets me size every window the way I’d like. No restrictions based on the toolbar.

DerivedData Exterminator - GitHub

Puts a button up on the toolbar, and works well with Mini Xcode: Select Derived Data Exterminator in Title Bar in the View menu.

Love em.

Thursday, January 24, 2013

Donate because you’re one of the Lucky Ones

Mick Hagen and Undrip are doing something cool over at lucky.undrip.com for the entrepreneur victims of Sandy.

Donate. I did. Then I downloaded the song from iTunes put it on repeat, and haven’t stopped listening to it since. We really are the lucky ones.

Tuesday, January 1, 2013

Getting Healthy: My 4:50 Goal

It is time for me to be healthy: exercise regularly, eat healthy foods, and spend quality time with my family.

This post is going to be a bit more personal than usual. If you’re interested in the inspiration more than the post itself you can check out the original post on healthy goals by Alex Lawrence. Take a minute to read it. And join the cause if you’re feeling the need like I am.

Why start now?

I have not exercised regularly since I played for BYU four years ago. During those short years I had a rigorous schedule of hard exercise 6 days a week: weight lifting on Tues/Thurs/Sat and practice on Mon/Wed/Fri. Practice was a pretty intense cardio workout. By the end of my time with the team I was running about a 4:50 mile. Not fast by a racing standard; but I felt healthy.

Over the last year I ran 15.39 miles with Ashley; total. She likes to take a slow pace, so I never really tested myself. We went on a cruise at the beginning of the month and I felt the need to exercise. I ran 3 of the 5 days and it felt great. I was able to get down to about a 5:20 mile, but it was not as easy as it once was.

Today I am not feeling unhealthy or particularly healthy for that matter.

Joining #TmFit

The post by Alex is timely. I’ve been feeling my body getting older. I know that I’m only 28; but for the first time in my life I don’t feel like I am the healthiest I could be. I am not taking as good of care of my body as I should.

I’m not worried about losing weight. If anything I wouldn’t mind gaining a few more pounds. I probably won’t be tracking what I eat. I would, however, like to eat more healthy foods and less crappy foods.

Here are my goals. I’m hoping to accomplish them in 2013, but they aren’t meant to be new years resolutions.

  1. No more fast food. I’ve been eating poorly ever since I left my corporate job. Actually, I was eating poorly when I was a corporate stooge as well. It’s time to cut out the fast food. New rule: No fast food. None. I will live better without it.
  2. I want to get back to a 4:50 mile. This will mean speed training. A 4:50 mile is pretty much a full run for the entire distance. I’ll need to spend a couple days a week at the track, and the others running as well.
  3. I’d like to run a qualifying marathon. I don’t expect to actually run in any marathon that requires a certain pace. I’d just like to know that I’m back at that level of health.

How I’ll do it

I want to start a simple workout schedule that fits my life. I am strapped for time, so I need something that will help me meet my goals and still be possible. I need short but effective workouts for weekdays. I’ll try to get my runs in the mornings before my family wakes up.

My workout plan is 6 days a week:

  • Monday short run: 1–3 miles
  • Tuesday shoulders chest and abs
  • Wednesday long run (7 min/mile pace): 6–9 miles
  • Thursday yoga/abs
  • Friday fartlek run (7 min/4:50 split): 3–6 miles
  • Saturday chest back and abs

The yoga/abs workout will come from P90X. They are the best part of the workout plan. Also, for the month before the marathon I’ll likely bump my long days to 12–15 miles per day.

How I’ll track it

I’m hoping that ‘public accountability’ will mean that someone is going to point me back to this blog post during the year and say: “Are you following your plans, and reaching your goals?

I’ll be tracking each run and my total miles with the Nike+ app for iPhone and all of my stats are set to public. The app is very well done. I’ve thought about buying the FuelBand. Have any of you used it?

For my own personal records of how close I am getting to my goals I’ll likely use Day One. I love the DAYTUM concept, but the team was hired by Facebook, and they have stopped development. I may have to home brew my own solution for a database app.

- Alright. Wish me luck, it starts today.

Wednesday, December 26, 2012

Shots like this make me miss BYU. (via mwphoto)

Do some shopping and support jkhowland.me