life
A few Korean phrases
November 30, 2007 09:42 (Sydney Australia)
Some phrases I learnt whilst in South Korea, saved here because I know I’ll forget or lose this scrap of paper.
- combe
- cheers!
- aneunghaseyu
- hello
- go ma war
- thankyou
- come sa hap ni da
- thankyou (to elders)
- ohladygolady
- love vomit
Previously on life
27 Aug The Fab Chandeliers Video
15 Aug She’s Got Balls (2 comments)
13 Aug How to prevent email overload (5 comments)
05 Aug Housewarming Pics (1 comment)
27 Jul #100 Blog in Australia? (11 comments)
02 Jul New abode in Slurry (5 comments)
21 Jun A Midnight Meander: Breaky BBQ for Oxfam
24 May Johnny Eyebrows Howard
15 May the fabulous thefabchandeliers.com launches (1 comment)
13 May Guide to Moving to London
19 Mar Cooking adventures, 2nd Report (1 comment)
04 Mar Mut in a Box (2 comments)
27 Feb Peter and Ira’s wedding
25 Dec My Year in Cities, 2006 (14 comments)
24 Dec Merry xmas! (5 comments)
04 Dec The Work Manifesto (3 comments)
29 Nov Lovin the Lomo (2 comments)
25 Nov Mischievous Melbourne Milkshake (2 comments)
21 Nov It’s all about Me (6 comments)
07 Nov Viola Vibes CD Launch (2 comments)
07 Nov Cooking Adventures, first report (3 comments)
01 Nov A most amazing birthday (2 comments)
28 Oct Aussie Food & Wine Fair (3 comments)
09 Sep A Darlo Hullo (3 comments)
04 Sep Goodbye Wherehouse (6 comments)
18 Aug For Kaye
01 Aug Crazy crazy time of year (3 comments)
13 Jul To the snow I go (7 comments)
12 Jul This is a song for Peter (2 comments)
05 Jul Who am I? (4 comments)
04 Jul Home after her European romp (7 comments)
26 Jun No GPRS on VirginMobile (6 comments)
17 Jun Added upcoming gigs and more (5 comments)
03 Jun Visitor stats (2 comments)
01 Jun black is the new tangerine
31 May Matisyahu: Reggae, Judaistic style (7 comments)
30 May Life as a coffee machine (2 comments)
29 May The Macbook marketing muddle (11 comments)
27 May The Cloud Room @ Spectrum and where’s our Time Out? (2 comments)
20 May Rock on. (2 comments)
16 May Back into the swing of things (4 comments)
02 May Leavin on a jet plane (2 comments)
29 Apr Bangkok is hottt (6 comments)
26 Apr To Venice, to Venice (5 comments)
20 Apr Baths, pommies and dirty French men (11 comments)
26 Mar Love is All (4 comments)
22 Mar Update from San Francisco (4 comments)
16 Mar Red’s Rifle Range (5 comments)
11 Mar Day one and one and one and one (15 comments)
09 Mar Into the skies we go (8 comments)
07 Mar 4 days til departure (10 comments)
28 Feb kooee from the batcave (1 comment)
20 Feb Shut up fool, I ain’t get on no plane, fool! (3 comments)
18 Feb wax on, badge off (12 comments)
16 Feb Games rot your brains (2 comments)
15 Feb Costa Rican Kath
12 Feb “The Wang” (1 comment)
09 Feb Everybody’s Photos of the Wedding (2 comments)
08 Feb Tech or Personal? (11 comments)
06 Feb Jo and Stu’s Wedding (4 comments)
03 Feb j*shark arrives at the wherehouse (4 comments)
02 Feb Update your feed URLs
01 Feb Where’s good European snow in April? (11 comments)
01 Feb Stu’s Bucks Party (4 comments)
01 Feb Easier on the eyes (3 comments)
30 Jan Four Things (6 comments)
30 Jan Good morning world (19 comments)
tech
To Fork or Branch
April 18, 2008 03:25 (Sydney Australia)
Just because you can doesn’t mean you should.
Once you get your mittens on a tool that can ease distributed development it’s very tempting to distribufy1 everything but sometimes all you need is to intelligently use branching.
The classic use case for multiple repositories
One good example of the multiple repository setup is Pratik’s Rails Documentation repository, a fork of the Rails repository used to improve the documentation. Pratik can entrust people to contribute patches directly, as well as picking and choosing from people’s own repositories. As Pratik is part of Rails core he can merge patches back into the main repository at his own discretion. This setup helps the doc team rally around a single repository, lowers the perceived barrier to partipation (“woot he accepted my patch!”) and provides a network of trust.
Another example would be a project with a large development team consisting of several sub-teams.
The whole project has a grandaddy repository that is the beautiful, stable, deliverable code. Only the sub-team lead’s get commit access to the golden repository.
Each ninja-sub-team has their own repository with their own shared branches and their own copy of the golden repository’s master branch. They can see the activity of their team, set up systems around their own branches and there’s a definitive source for the sub-team’s work.
Every week each sub-team’s lead (aka “poor bastard”) would be responsible for pulling in all the changes from the golden master and integrating it with that week’s changes. Once everything is AOK and, assuming the team’s code passed QA, the lead pushes their changes up to the golden master. This distributed setup helps control the integration bottlenecks and enforces a network of trust and quality control.
Another good use case for creating separate repositories/forks is when you simply want to disconnect yourself from the team and go do your own thing, and simply working on a branch on the central repository won’t suit. You may end up rallying a team around whatever you’re doing, or you might not want others prying on your weirdo experiments.
The two person team
Take for example: the two person team working on a single repository. Hopefully you both trust one another and are in somewhat constant communication. You need tools which help you work independently whilst still integrating each other’s work efficiently.
One distriburific2 way of setting it up would be each person has their own remote repositories accessible to the other person. On Github this would be the equivalent of forking a project, with two separate forks being developed and merged into on another.
This is setup is simple if you’re only trying to maintain a master branch, but when you start introducing stable/beta/experimental branches that you’re both contributing to and keeping in sync between repositories the overheads of managing and merging the repositories starts to outweigh any benefits of having them separate.
If your project needs a definitive source, and definitive “stable” and “beta” branches, so you can point to for deployments etc then chances are you want a centralised repository. This would be a different and slightly less distriburific setup, having a single remote repository which the two developers have access to commit to (on Github this would be the equivalent of adding collaborators to a repository), but it’s a lot less overhead to manage.
The single remote repository acts as the definitive source and can have the definitive stable/beta/experimental branches that you both need to collaborate on. There’s also the advantage that it’s much easier to keep track of development activity and what branches the other developer is working on.
Why you’d work around a single repository is for the same reasons a sub-team within a big project might work around a single repository: it eases collaboration between the team members and creates a definitive source.
You want to be developing, not managing the development process
Whilst it might seem fun for everybody to be forking and running their own repositories sometimes all you need are branches and a central repository. For trusted teams simply adding collaborators to your project brings less management overhead than having to manage merging their changes yourself. For larger teams, or wanting to split up sub-projects, or simply wanting to disconnect yourself from the team and do your own thing, sometimes separate repositories makes more sense.
It’s very tempting to distribufy1 everything but sometimes all you need is to intelligently use branching.
1 dis·trib·u·fy—the act of separating red and green M&Ms.
2 dis·trib·u·ri·fic—fantastically distributed in the most distributed way possible.
