Git workflow

There are several pretty popular Git workflows floating around. Chances are you’re probably using something similar for your projects or at work. Here they are, just in case.

A simple git branching model

# everything is happy and up-to-date in master
git checkout master
git pull origin master

# let's branch to make changes
git checkout -b my-new-feature

# go ahead, make changes now.
$EDITOR file

# commit your (incremental, atomic) changes
git add -p
git commit -m "my changes"

# keep abreast of other changes, to your feature branch or master.
# rebasing keeps our code working, merging easy, and history clean.
git fetch origin
git rebase origin/my-new-feature
git rebase origin/master

# optional: push your branch for discussion (pull-request)
#           you might do this many times as you develop.
git push origin my-new-feature

# optional: feel free to rebase within your feature branch at will.
#           ok to rebase after pushing if your team can handle it!
git rebase -i origin/master

# merge when done developing.
# --no-ff preserves feature history and easy full-feature reverts
# merge commits should not include changes; rebasing reconciles issues
# github takes care of this in a Pull-Request merge
git checkout master
git pull origin master
git merge --no-ff my-new-feature

# optional: tag important things, such as releases
git tag 1.0.0-RC1

The Atlassian Git Tutorial is also a great repository of knowledge. Check out their workflows.

Side effects in life

There’s a side-effect to absolutely everything you and I do. Exercise, for example, allows you to not only grow stronger and fitter but also gain knowledge about your body. You’ll learn your limits; both physical endurance and mental resilience.

If you practice meditation, you’ll know that it takes a bit of time to empty your mind. During that period of transition chances are other thoughts creep in to fill the void. For me, this is both annoying and beneficial. Annoying because it’s hindering my true purpose: a clear mind. Beneficial because it gives these thoughts free reign, effectively freeing them from whatever activity you were occupied with before your failed (or successful) attempt at meditation. Lateral thinking is usually accidental.

There’s a bunch of ancillary benefits to exercise I’m learning about as I grow fitter/happier/more productive. You learn about your body’s limitations, and how to push them.

AngularJs resources

I’m currently knee-deep in Angular and having a blast, primarily due to the large amount of quality guides, tutorials and learning resources floating around. For each weird thing I envision folding into my toy app, I’m pleased to find a well-documented library exists. I wanted a way to have multiple views/nested routes on the same page and after struggling with the built-in router, behold! A library appears. Good stuff, here’s more:

AngularJS on Rails

Integrating Rails and AngularJS

Angular best practices

Bootstrapping an AngularJs app in Rails - short tutorial videos covering each of Angular’s features

angular-ui - a stateful router

My Personality

The other day my lovely and charming girlfriend urged me to try out this personality test she found, pointing out that it was pretty damn accurate. Reading over her results, I had to agree they were spot on. Not gonna lie, back in the days of I’d kill hours doing their surveys, and had more fun filling out questionnaires on OkCupid than I did finding love.

human behaviour

Not surprisingly, it turns out I’m Vladimir Putin! My strengths include directness, self-confidence, independence and decisiveness. Weaknesses include arrogance, over-analyzing and being a judgemental prick. Me in a nutshell.

<< 5 of 6 >>