Gary Haran.com


Top 3 Agile Development Tips

Posted in Programming by gary.haran on the August 24th, 2007

Test Before You Write Code

Simple enough, writing a test allows you to officially describe what you you plan to write.

  1. write a test
  2. run it to see it fail - this means your test looks good
  3. write the code to make the test pass
  4. run the test to see it pass - this means your code works

Not only will you have better code because you put more thought into it but you will also have automated tests to prevent regression.

Code Atomically

A sailor must adjust the course whenever the wind changes. Sure if the changes are suddle he might be fine simply adjusting how tight the ropes are but if the changes are drastic he will have to do more than a slight adjustment.

Coding is the same except you are the sailor and all other programmers are the wind. Every time they make a change you potentially have to adjust course. How do you know? Well you have to checkin and update often to know.

  1. reduce the time between each checkins - this minimizes the chances of conflicts and if you need to revert you don’t have as much wasted time
  2. make each checkin fix a single problem - makes it easier to write commit message and track changes

Elegance Over Cleverness

Clever code is often too clever. It gives your colleagues a hard time when they need to read. Instead aim for elegance - less useless lines but more readable lines.

DemoCamp Montreal: An Open Question To The Montreal DemoCamp Community.

Posted in Programming by gary.haran on the August 19th, 2007

On Friday I was a spectator at the DemoCampMontreal4 meetup where my brother presented url_pipe, a project I find fascinating in many respects. There were some really interesting presentations and rather than explain in this post what those were I’ll direct you to a post on Montreal Tech Watch that does so much synospis of the night than I have the energy to do.

I forsee a problem with future DemoCamps and I’d like to throw out a question to the Montreal community who enjoys the event. I’d like to see DemoCamp continue to be the great event that it is but I’m scared that we’ll start seeing companies present products and services at the event rather than good software demos.

On the main DemoCamp site there is a quote that I think explains a lot about the spirit that makes the unconference so interesting:

It’s not about you and it’s not about your company - it’s about the DEMO

I think presenting great software is what DemoCamp should continue to be about. My question to us all is wether or not we should be clearer about what we expect at future DemoCamps?

DemoCamp Montreal 3

Posted in Programming by gary.haran on the July 24th, 2007

DemoCamp Montreal 3 is happening tonight.

From my experience with the last BarCamp I’m expecting to meet some of the brightest in the city.

Essential Textmate

Posted in Programming by gary.haran on the June 21st, 2007

As all my programmers friends, co-workers and acquaintances moving towards Macs I get asked often about Textmate because I love it so much. Instead of giving everyone the 5 minutes crash course every time I thought I’d simply post here the must know things about my favorite text editor.

How to open Textmate from the command line

mate .  # opens current folder as a project
mate filename.txt  # opens only a single file

Common key shortcuts I use

Escape # completes token, cycles through all possibilities

Apple-T # Go to file in project mode
Apple-option-leftArrow # move to left tab
Apple-option-rightArrow # move to right tab

Apple-shift-T  # Go to symbol in file
Apple-F2 # bookmark line (adds a star in the gutter)
F2 # cycle through bookmarks

Apple-shift-L # find in your project

Ctrl-shift+< # creates starting and closing html tags
Ctrl-shift+> # cycles through < %=  %>, < %  %> and < %-  -%>

Ctrl-shift+D # dupplicates everything from the start of the line or selection

Ctrl-w # selects word/token

Apple-[ or Apple-] # indents/unindents line or selection

Apple-& (or Apple-shift-7 on most keyboards) # HTML entities

Advanced features I love

With mutli-line selections

Option  # column mode editing
Apple-option-A # end of line append

Bundle I recommend

Duane Johnson’s Bundle
This bundle offers one feature I really enjoy, it’s like column mode but where you add markers where you want with Option-S and replace them with a type as you replace string after hitting Option-F. Probably the most useful bundles of them all.

« Previous PageNext Page »