Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Double-Shipping Software For Profit

Double-Shipping Software For Profit

Selling a product once is fun, but selling that product twice is wildly excellent. GitHub does that with Firewall Install, our installable enterprise GitHub. This talk aims to discuss how you can repackage your existing product too, by covering code strategies for parallel codebases, supporting remote server infrastructures, and talking about the impressively stupid decisions we've made.

Zach Holman

May 17, 2011
Tweet

More Decks by Zach Holman

Other Decks in Programming

Transcript

  1. $

  2. MRI

  3. class Repository < ActiveRecord::Base def file_server if Rails.fi? “localhost” else

    Smoke.find_fs(self) end end def refs tag_names + branches end def exists_on_disk? if Rails.fi? File.exist?(fs_path) else Smoke.exists_on_disk?(self) end end def route owner.route end def delete if Rails.fi? File.rm_rf(fs_path) else Smoke.delete end end def to_s “lol this is a repository / #{id}” end def online? return true if Rails.fi? CHIMNEY.storage_server_online?(route) end end
  4. class Repository < ActiveRecord::Base def file_server if Rails.fi? “localhost” else

    Smoke.find_fs(self) end end def refs tag_names + branches end def exists_on_disk? if Rails.fi? File.exist?(fs_path) else Smoke.exists_on_disk?(self) end end def route owner.route end def delete if Rails.fi? File.rm_rf(fs_path) else Smoke.delete end end def to_s “lol this is a repository / #{id}” end def online? return true if Rails.fi? CHIMNEY.storage_server_online?(route) end end
  5. class Repository < ActiveRecord::Base def file_server if Rails.fi? “localhost” else

    Smoke.find_fs(self) end end def refs tag_names + branches end def exists_on_disk? if Rails.fi? File.exist?(fs_path) else Smoke.exists_on_disk?(self) end end def route owner.route end def delete if Rails.fi? File.rm_rf(fs_path) else Smoke.delete end end def to_s “lol this is a repository / #{id}” end def online? return true if Rails.fi? CHIMNEY.storage_server_online?(route) end end if Rails.fi? File.exist?(path) else Smoke.exist?(path) end