toolmantim

life feed icon

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 feed icon

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.

Previously on tech

18 Apr Github vs Gitorious and centralised development revisited

18 Apr HAML + Merb Helpers? Very noice. (1 comment)

31 Mar Moving on from centralised-decentralised development, or: what’s after github and gitorious? (14 comments)

08 Feb Presentation: Rails Two Dot Oh (2 comments)

31 Jan Sydney Rubinius Sprint (1 comment)

30 Jan Different validations for the same ActiveRecord model (7 comments)

22 Jan Merb Routing in 0.5 (10 comments)

10 Jan Multiple file selection with a :) (5 comments)

20 Dec Keeping the keys to your OpenID identity using delegation (6 comments)

12 Dec Anti-Santa (1 comment)

06 Dec Sharing git repositories via OS X’s built-in web sharing (2 comments)

05 Dec Setting up a new remote git repository (12 comments)

05 Dec Setting up a new Rails app with Git (18 comments)

04 Dec Mocking OpenID authentication for offline development (3 comments)

03 Dec Comment spammers currently at zero (9 comments)

03 Dec Rollin your own attachment_fu messages evil twin stylee (7 comments)

02 Dec Core Animation Menu Application sample code (2 comments)

20 Nov Cap deploy via SCP (3 comments)

13 Nov Simple step-based validation with ActiveRecord (12 comments)

03 Nov DropShots (6 comments)

23 Oct Jelly in Sydney

17 Oct Presentation: Supporting Time Zones (1 comment)

14 Oct Old-skool Ajax zoop Box (5 comments)

01 Oct SMSes on Rails – u r hot! I wnt u 2nite. (1 comment)

13 Sep 1 <3 parallel.rb

06 Sep Per-hamster ActionMailer template paths (2 comments)

27 Aug First FB app: Which Artist Are You? (1 comment)

15 Aug New Flickr Set SMS Notifications

14 Aug The new Backpack: a shinier engine but a dull paint job (8 comments)

03 Aug I can has faces API

02 Aug New RORO site and first video (6 comments)

30 Jul Geek Trivia Night in Sydney (1 comment)

29 Jul A “DHH Approved” Logo? (7 comments)

27 Jul RORO Sydney August Meetup (1 comment)

23 Jul Lachie’s hax day

23 Jul First rails-oceania gem released: goto_string

20 Jul RORO July Meetup (18 comments)

17 Jul Rails Camp 07 Rundown (8 comments)

10 Jul Blog resources for Rails newcomers? (6 comments)

06 Jun Logging Rails to SysLog with SyslogLogger (7 comments)

05 Jun Integration testing with RSpec and Doogie (3 comments)

03 Jun RedAnt

31 May New Inventors Google gadget (1 comment)

31 May 2007’s Mad Month of Events (2 comments)

19 May Consolidating your app’s constants (8 comments)

14 May Breaking hearts (7 comments)

13 May Railscamp photos: Camp Chapman

10 May RDoc preso at Rails Sydney May meetup

07 May Getting Rails talking to SQLServer on OSX via ODBC (12 comments)

06 May Customising autotest (6 comments)

02 May Railscamp day passes

30 Apr Rails Oceania coding powa (1 comment)

28 Apr ical feed in 5 minutes

20 Apr Introduction to RDoc (8 comments)

12 Apr Peepswag (5 comments)

29 Mar Lookin for a new team member (3 comments)

28 Mar If you’ve been ignoring mocking (4 comments)

26 Mar bangbang your nil is dead (7 comments)

26 Mar Capistrano for (gasp) non-rails apps (2 comments)

20 Mar Announcing RailsCamp07 (8 comments)

12 Mar DIY field validation reflection (2 comments)

12 Mar tumble me too

12 Mar Detecting subversion changes with rexml

10 Mar CruiseControl.rb

06 Mar and the licking continues (3 comments)

06 Mar The first Bar Camp Sydney (8 comments)

02 Mar Idol Jamming

02 Mar timwouldlickit.com (2 comments)

27 Feb Full-blown APIs with respond_to? (6 comments)

27 Feb A new jobfutures.com.au and my BDD/RSpec preso (1 comment)

15 Feb AR::Base#attributes = nil (7 comments)

08 Feb Getting up-and-running with RSpec (6 comments)

07 Feb HTML encoding your flash in your controller

06 Feb System-wide script/console logging (7 comments)

06 Feb Creating Rake::TestTasks on-the-fly (4 comments)

01 Feb Logging Rails activity in script/console (2 comments)

01 Feb Skinny user activation (17 comments)

30 Jan Interviewed on the Rails podcast

21 Jan Automating new user creation on new slices (4 comments)

10 Jan Super-simple mocking (1 comment)

27 Dec Environments and the Rails initialisation process (8 comments)

25 Dec Peek inside the Googleplex

22 Dec Colour-in your tests (3 comments)

21 Dec So what is Rails, anyway? (7 comments)

20 Dec RedBubble: another Aussie startup (6 comments)

20 Dec Ruby Mutants

15 Dec Rails Aus Sydney Christmas Bash

15 Dec WebConserve (5 comments)

09 Dec Avoid DB calls when setting up your environment (1 comment)

07 Dec A clean slate, Edge Rails recipe (15 comments)

02 Dec Ales on Rails Chrissy Meetup

01 Dec Real world vs the Web 2.0 world (3 comments)

30 Nov instance_eval brings sexy back (10 comments)

29 Nov Keeping models in subdirectories (8 comments)

16 Nov RoRA Nov 15 Debrief (2 comments)

15 Nov UnicodePrimer for Rubyists

14 Nov SmugMug CEO on serving 100M photos using Amazon S3

14 Nov Measure Map vapourware? (7 comments)

14 Nov Rails generators and TextMate integration (2 comments)

13 Nov Aussie web design hotting up (4 comments)

26 Oct JSON-P at RoRA

23 Oct Flexible contracting work available

05 Oct Disabling Rails sessions for JS and XML output

05 Oct How to output JSON-P with Rails

29 Sep How to use ActiveRecord eager loading to raise your blood pressure (4 comments)

23 Sep Uncovering bugs with DB unique constraints

20 Sep Web Connections (1 comment)

19 Sep Safari, URLs, the semi-colon and one night in Paris (4 comments)

18 Sep Resource feeder rocks

18 Sep Roll your own dispatch reaper

12 Sep Generating cropped thumbnails with acts_as_attachment (27 comments)

08 Sep Syntactic fantastic

30 Aug Correct HTTP status codes and responses? (4 comments)

30 Aug Handling 404s in your Rails app

01 Aug Comment spam and my OpenPublish presentation (7 comments)

12 Jul Securing your production log (1 comment)

11 Jul Installing and managing edge Rails

06 Jul AUC Cocoa training course (1 comment)

05 Jul Using AR::Associations to limit find() scope

25 Jun Streamlined to provide Rails with Django-like features

23 Jun Montastically free site monitoring (3 comments)

20 Jun to_proc we go!

18 Jun DRY your Migrations

06 Jun Reset CSS accused of crime: Form control styling (2 comments)

05 Jun South by Inner West

03 Jun Bureau of Metereology Redesigns (2 comments)

31 May Installing Django on OSX (9 comments)

30 May Calling all Aussie web folk: Snow Web 06

29 May Hacking St George Bank (4 comments)

26 May Setting up Capistrano on Segpub (1 comment)

25 May Blogging for Sitepoint (2 comments)

22 May Web Directions site launches (1 comment)

20 May Yellow pants and racks of plastic

16 May toolmantim.com Email Subscriptions

21 Apr S5 on Rails: A simple presentation application

16 Mar The Podcast Pickle (1 comment)

14 Mar Why the Lucky Stiff! (1 comment)

09 Mar Javascriptin like a rock star

07 Mar Mollio: A set of CSS Building Blocks (2 comments)

05 Mar Rails webDU talk (1 comment)

24 Feb Migrating with Models (6 comments)

22 Feb Only 7 days left until Sydney Rails Workshop (1 comment)

16 Feb Abusing err.. Using AR::Associations (3 comments)

15 Feb Site error notification in Farcry 3

15 Feb For the love of Gates! (2 comments)

11 Feb Long articles look crap on the homepage (1 comment)

11 Feb Upgrading your v2 PLPs for Farcry 3

11 Feb Aussie’s first Rails workshop

09 Feb The purpose of a standardised conference powerpoint template (1 comment)

09 Feb New tech stream (1 comment)