 Pizzas akan datang selama 5 minit. Saya akan mempunyai. Kita akan berjumpa dulu sebelum kita mempunyai pizzas. Mula-mula, jika anda ada masa, anda boleh menghidupi pakaian yang ditutupi. www.bib.ly-ruby-sg13. Biar kami mempunyai beberapa bagian-bagian, supaya kami tahu bagaimana kita dapat memperbaiki dan memperbaiki untuk 2014. Pertama, kami perlu menghidupi pakaian-bagian kami. Pada pukul ini, pakaian ini adalah pakaian Plox71. Terima kasih banyak untuk menghidupi kita untuk menggantikan pakaian ini. Kita ada seperti sepanjang 70 RISVP hari ini. Jadi, ia menyebabkan mereka untuk membuat pakaian-pakaian yang ditutupi. Jadi, semoga anda akan menggantikan semua orang di sini. Itu adalah jika semua orang datang. Pakaian-bagian kami perlu menghidupi pakaian. Saya akan membuat pakaian-pakaian yang ditutupi hari ini. Jadi, tolong beritahu saya, membuat pakaian-pakaian yang selalu. Kerana saya tidak mahu memasakkan makanan. Terima kasih, En. Jengah. Kita juga ada beberapa penerbangan di sini. Jadi, semoga anda mempunyai diri. Seperti biasa, jika anda ada sesuatu untuk berkongsi dengan komuniti, tolong beritahu saya, tolong berhenti. Adakah anda membuat pakaian-pakaian di rileh, projek kelas, anda ada pilihan tentang mencari, mencari, C-I, apa-apa saja. Anda mempunyai kumpul yang terawal, seperti di GitHub. Biar saya tahu, supaya saya dapat beri anda 5-10 atau 15 menit. Anda tahu bagaimana menarik saya? Di Twitter atau di e-mail? Adakah orang di luar? Mari masuk. So, satu perkara yang saya ingin beritahu, sekarang kita mempunyai website di rubi.sg. Itulah website komuniti. Jadi, saya bukan hanya yang membuatnya, kita mempunyai komentar dari Huay Ming, dari Simon, dari Huay Ming, etc. Terima kasih banyak untuk Tinkerbox, dan PN untuk menunjukkan perjalanan yang pertama. Sudah tentu ia masih di luar untuk iterasi. Terima kasih banyak untuk membantu, untuk membantu. Jadi, ia akan menjadi pakaian-pakaian yang berlaku, apabila orang bekerja untuk rubi Singapura. Dan dari itu, anda dapat menghidupi beberapa pakaian-pakaian yang kita ada di Facebook, Google Group, Github, etc. Baiklah, tolong periksa. Jadi, ada pakaian-pakaian-pakaian hari ini? Oh, wow. Jadi, setiap bulan kita ada pakaian-pakaian-pakaian, saya harap anda akan terus datang, supaya semua orang akan tahu. Ada sesiapa yang mencari? Sudah tentu? Baiklah. Jadi, pada akhirnya, sebelum akhirnya, saya akan beri dua minit untuk mengajar tentang perjalanan anda. Jadi, jika sesiapa yang berminat, anda boleh datang dan melihat anda. Baiklah. Hari ini, kita ada tiga pakaian-pakaian seperti biasa. Pertama, kita akan membeli Michael dari Github. Anda akan bercakap tentang bagaimana Github menggunakan Github untuk membuat Github. Selanjutnya, kita ada pakaian-pakaian remote. Ia adalah PJ dari Engine Yard. Jadi, kami akan bercakap tentang Sinatra vs Rails. Dan akhirnya, kita ada tiga pakaian-pakaian-pakaian oleh Engine yang berada di luar sekarang. Jadi, itu adalah pakaian-pakaian yang kita ada hari ini. Tanpa lagi, mari saya berhubung ke Michael dari Github. Ya, teknologi. Ya, kerja. Helo, Singapura. Helo, Helo. Jadi, saya berjalan dari Adelaik, Australia untuk bercakap dengan anda, bukan tentang Ruby. Jadi, saya akan bercakap tentang bagaimana Github beroperasi dalam senjata kerja dalam senjata kultur. Dan mengapa kita beroperasi dalam cara yang kita lakukan. Jadi, Github adalah pakaian-pakaian yang diperlukan untuk membuat pakaian-pakaian untuk membuat pakaian-pakaian untuk membuat pakaian-pakaian lebih baik bersama. Jadi, itu pakaian-pakaian kita. Anda boleh menggunakan Github untuk membuat pakaian-pakaian yang baik untuk menggabungkan pakaian-pakaian yang lain dengan jis atau pakaian-pakaian yang berpakaian. Tapi pakaian-pakaian kita adalah diperlukan pada saat ini. Jadi, siapa pakaian-pakaian Github? Ia tidak. Ia sebut. Adakah sesiapa tidak pakaian-pakaian Github? Serius? Saya rasa ini sebenarnya ada pakaian-pakaian yang tidak ada yang membuat pakaian-pakaian. Jadi, itu progres, saya rasa. Jika sesiapa-siapa mempunyai pakaian-pakaian pada saat ini, mereka akan melihat saya kemudian dan kita akan membuat pakaian-pakaian Github. Jadi, siapa pakaian-pakaian Github untuk membuat pakaian-pakaian Github? Ia tidak. Seperti secara biasa. Jadi, beberapa perkara yang saya akan bercakap tentang hari ini saya akan membuat pakaian-pakaian Github. Jadi, bagaimana yang lain orang menggunakan pakaian-pakaian Github? CBS? Tiada apa-apa? Dropbox. Dropbox? Paling kurang ada sesuatu. Baiklah. Jadi, saya akan membuat pakaian-pakaian Github. Saya rasa Github adalah pakaian yang sangat kuat untuk mendukung pakaian-pakaian Github. Pakaian-pakaian Github adalah penting untuk membuat pakaian-pakaian Github. Jadi, pakaian-pakaian Github adalah hebat. Jadi, bagaimana pakaian-pakaian Github menggunakan pakaian-pakaian Github? Pakaian-pakaian Github adalah pakaian-pakaian Github. Saya adalah Michael C. Harris. Sebenarnya, saya menggunakan pakaian-pakaian Github. Tapi, tiada siapa yang tahu pakaian Github sangat penasar apabila seseorang bercakap tentang Michael Harris. Saya mengenai generalnya Michael Tufish. Saya akan jawab Tufish. Dan pakaian-pakaian Github adalah terhadap pakaian-pakaian Github yang lain pakaian-pakaian telah diberikan. Sebenarnya, Stolen daripada Zak Coleman pakaian-pakaian Github yang dititulkan bagaimana pakaian-pakaian Github menggunakan Github untuk membuat Github, yang yang anda mungkin lihat adalah sebaiknya. Ia terhadap Pakaian-pakaian Tom Preston yang menggantikan membuat perjalanan untuk kebahagiaan dan Pakaian-pakaian Github dan pakaian-pakaian Github. Saya menggunakan pakaian-pakaian. Pakaian-pakaian Stolen adalah baik. Itu okey. Pakaian-pakaian Github adalah menggunakan pakaian-pakaian atau pakaian-pakaian Github. Tapi pakaian-pakaian ini dari pakaian saya. Saya sudah di Github selama enam minggu. Dan ini adalah tentang perkara yang saya membuat pada masa itu dan cara yang pakaian saya membuat. Pakaian-pakaian saya adalah pakaian-pakaian Github. Pakaian-pakaian Github adalah pakaian-pakaian yang sama. Pakaian-pakaian virtual dan menggantikan pakaian-pakaian anda. Dan ia sebabnya pakaian-pakaian yang sama, biasanya untuk pakaian-pakaian tidak dapat memakan pakaian-pakaian mereka di Github.com. Mereka tidak dapat memakan pakaian-pakaian yang di luar pakaian-pakaian mereka. Atau pakaian-pakaian pakaian-pakaian dan mungkin mereka mengawas semua perkara tentangnya. Pakaian-pakaian yang sama, hanya menggantikan pakaian-pakaian virtual dan membuatkan keadaan pakaian-pakaian mereka. Jadi, pakaian saya di Github adalah untuk mendukung produk itu. Dan apabila saya bawa pakaian saya berkata, kita membeli pakaian-pakaian untuk membuat kerja saya di region Asia-Pacific. Jadi, jika mendukung dan mendukung tidak berlaku di Github dan mempunyai pakaian-pakaian yang di luar pakaian-pakaian yang di luar pakaian-pakaian. Jadi, jika anda berminat dengan itu, jika anda bercakap dengan saya. Jadi, terutamanya dalam organisasi teknologi, saya rasa ada tendensi untuk kita fokus pada teknologi. Tapi ia sangat penting bahawa anda membuat keputusan berjaya tentang sebuah kultur yang anda inginkan dalam perkembangan anda daripada menggantikan kultur anda pada teknologi yang anda menggunakan. Jadi, cara yang banyak perkembangan berlaku tidak mengikuti kultur yang anda inginkan. Jadi, salah satu perkara yang penting yang kami membuat di Github adalah memikirkan cara kultur yang berlaku dan kultur yang anda inginkan dalam perkembangan anda untuk membuat apa yang kita lakukannya sehingga kita boleh melakukannya. Jadi, anda tidak inginkan perkembangan kultur yang anda lakukannya dengan apa yang berlaku. Anda inginkan kultur yang anda lakukannya. Satu perkara yang penting yang kami inginkan dalam perkembangan anda adalah untuk membuat kebetulan untuk kebahagiaan. Itu bermaksud bahawa perkembangan anda dapat membuat keputusan untuk membuat kebetulan untuk membuat kebetulan untuk duit atau untuk membuat kebetulan untuk orang yang bekerja dalam perkembangan. Membuat kebetulan untuk orang yang lain juga, tapi pada saat ini kita akan bercakap tentang membuat kebetulan untuk orang yang berkembangan dan orang yang bekerja sekarang. Sekarang, duit yang besar dan duit yang pasti perlu untuk perkembangan dan organisasi untuk menyelamatkan. Dan saya mahu duit. Itu okey. Saya tidak inginkan bahawa kita tidak inginkan duit. Tapi itu bukan perkara perkembangan tidak akan berjaya. Jika kita tidak boleh menjelaskan orang yang boleh passionatikan sesuatu yang mempunyai untuk bekerja, membuat kerja yang terbaik untuk kita. Jadi kita perlu sangat berhati-hati bahawa kita membuat perkembangan yang membuat orang gembira untuk membuat kerja yang terbaik. Jika kita mempunyai untuk membuat kebetulan, kebetulan orang tidak akan gembira dan mereka akan pergi dan produk akan berjaya. Jadi, kita patut berfikir tentang bahagiaan orang. Jadi, orang-orang yang selalu memotivasi menurut Dan Pink, dan saya rasa dia membuat sebuah bahagian yang baik. Dia mungkin melihat sebuah bahagian daripada ini. Autonomi, masjid dan perkembangan. Autonomi, bahawa kita ingin mempunyai apa yang penting kita bekerja. Kita ingin dapat memikirkan bahagian yang lebih baik bersama-sama dalam keputusan kita. Atau apa-apa periksaan anda untuk perkembangan kita, dan kita ingin berkata, apa yang saya boleh lakukan untuk membuat perkembangan yang terbaik pada perkembangan itu. Kita ingin dapat membangun tradisional sehingga kita ingin dapat membuat untuk bergunnyata dengan ibu yang lebih baik lebih. Kita inginlah bers singles yang lebih baik dengan nasib k Fut aunque untuk membuat jenis software untuk membuat anda membuat lebih baik dengan bersama. Untuk menggambarkan bersama untuk membuat software. Jadi bagaimana kita melakukan itu? Satu-satunya perkara yang kita lakukan adalah kita biarkan orang-orang... Ia berlaku seperti ada orang yang berusia, tapi tidak. Ia hanya sebuah kultur yang kita mahu, adalah kita mahu orang-orang dapat melakukan kerja yang terbaik dan orang-orang dapat melakukan kerja yang terbaik apabila mereka bekerja, apabila mereka mahu dan apabila mereka mahu. Ia tidak membuat apa-apa perjumpaan untuk mengatakan anda perlu bekerja dari 9.00 am ke 5.00 pm. Jika anda adalah orang yang hanya membuat jenis software pada 2.00 pm, jika anda tidur untuk setengah hari, tidak membuat kerja yang terbaik, maka itu sangat penting. Jadi anda harus dapat bekerja... apabila anda rasa memotivasi untuk bekerja. Jika saya memotivasi untuk melakukan sesuatu pada 6.00 am, yang adalah apabila saya membuat kerja yang terbaik, maka itu sepatutnya baik. Jika Team Ops menemukan yang mereka bekerja yang terbaik apabila mereka pergi ke pejabat pada 2.00 am dan bekerja sepanjang malam, maka itu baik juga. Dan maksud saya, orang-orang mempunyai kawasan, membuat kerja yang terbaik, ia tidak membuat senjata untuk berkata 9.00-5.00. Dan anda dapat memilih tempat kerja yang anda bekerja. Jadi ia tidak membuat senjata untuk berkata, anda harus datang ke pejabat dan duduk di kubikal di tengah-tengah, dan tidak dapat dapat membuat kerja kerja kerana pejabat anda terus bercakap tentang krikat atau apabila anda bekerja yang lebih baik di rumah, anda harus dapat bekerja yang lebih baik di rumah dan bekerja di rumah. Jika anda bekerja yang lebih baik di cafe dan klub, anda harus dapat bekerja di rumah. Sebenarnya, saya menghubungkan masa saya di antara Melbin dan keluarga saya di South Australia. Dan itu bekerja dengan baik untuk saya. Itu adalah cara saya dapat melakukan kerja yang terbaik. Jadi, saya akan membuat kerja yang terbaik untuk membuat kerja yang lebih baik di rumah. Jadi, itu sebuah kultur yang kami mahu. Sekarang salah satu perkara yang... Terima kasih, Winston. Satu perkara yang bermakna adalah bahawa kita patut bekerja asyikrinis. Dan dengan asyikrinis, kita tidak mempunyai orang bersama-sama untuk berada di tempat yang sama, berada di tempat yang sama, berada di tempat yang sama, dan bercakap tentang bagaimana perkara yang berlaku. Kita perlu biarkan orang mempunyai lebih lama berada di tempat yang berlaku apabila mereka melakukannya apabila mereka mahu bekerja dan apabila mereka mahu bekerja. Jadi, tidak ada yang memperkenalkan anda di tempat anda. Tidak ada yang memperkenalkan anda di tempat anda. Bahwa perkenalkan perlu berlaku pada masa. Satu perkara yang terbaik adalah bahawa semua perkara yang diperkenalkan jika perkenalkan perkenalkan berlaku pada masalah dan perkenalkan maka perkenalkan diperkenalkan. Dan jika anda mempunyai perkenalkan video, kita memperkenalkan mereka supaya orang yang tidak memperkenalkan pada masa itu boleh memperkenalkan dengan mereka nanti. Tidak perlu berkata bahawa masa tersebut tidak penting. Sebenarnya, ia penting untuk memperkenalkan bersama dan memperkenalkan orang. Ia penting daripada keputusan sosial. Tetapi ia bukan cara biasa yang memperkenalkan di Github. Ia adalah dengan keputusan asyinkranis. Dan perkara asyinkranis, perkara yang kita memperkenalkan, adalah biasanya untuk memperkenalkan kerja asyinkranis. Untuk membuatnya lebih mudah untuk kita tahu bersama-sama bersama-sama bersama. Baiklah. Jadi, itu sebuah gambar, sebuah gambar sebuah kultur yang kita ingin membuat di Github. Dan kita telah membuat di Github. Tetapi ia tidak berkata tentang bagaimana kita menggunakan Github untuk membuat di Github. Jadi, apa yang kita lakukan? Scott Chacon telah memperkenalkan kerja asyinkranis yang kita menggunakan di Github. Dan kerja asyinkranis adalah sebuah kerja asyinkranis yang kita menggunakan dari keputusan asyinkranis kepada kode yang dapat diperkenalkan. Kode yang ada di atas sana yang kita boleh kemudian memperkenalkan. Ia adalah kerja asyik dan ini saya akan bercakap tentang Github. Saya tidak akan bercakap tentang kerja asyikranis tetapi jika ada kerja asyikranis yang anda tidak faham patut menghubungi dan bertanya keputusan asyikranis. Kerja asyikranis di Github adalah kerja asyikranis. Kerja asyikranis kita selalu memperkenalkan. Kita jual. Er ... ia selalu memperkenalkan, kita tidak memperkenalan dan membina yang tidak Yang penting adalah, daripada bahagian stabil, apabila anda membuat sebuah feature baru atau mempunyai idea baru atau mempunyai sebuah bulan, anda membuat sebuah bahagian stabil yang diberi-beri nama. Jadi, mungkin saya akan menyebabkan bahagian bahagian saya, atau bahagian roket ke sebuah dunia atau sesuatu. Jadi, ketika seseorang melihat bahagian bahagian yang diberi-beri, bahagian yang diberi-beri, mereka dapat melihat perjalanan sebuah syarikat yang diberi-beri pada masa yang sama, dengan melihat bahagian bahagian yang diberi-beri diberi. Dalam bahagian yang diberi-beri yang diberi-beri diberi, kita mempunyai sepenuhnya, dan sebab GIT diberi-beri, mempunyai sepenuhnya, jadi kita juga mempunyai bahagian yang diberi-beri diberi-beri. Apabila kita mempunyai bahagian yang diberi-beri diberi-beri, jadi kita mempunyai banyak test, dan ia bukan praktikal untuk menunggu dan menunggu untuk perjalanan test sepanjangnya, yang dapat mengambil 10 minit lebih daripada 10 minit. Dan kita mempunyai bahagian yang diberi-beri yang diberi-beri, dan apabila kita mempunyai bahagian yang diberi-beri, kita dapat terus bekerja, terus memperkenalkan, dan jika ia gagal, kita akan mempunyai notifikasi di bilik chat kita. Kita tahu ada sesuatu yang kita perlukan, tetapi kita tidak risau terlalu banyak mengenai perjalanan test sepanjangnya. Perjalanan test sepanjangnya biasanya memperkenalkan. Jadi, sebab kita mempunyai untuk GitHub, yang diberi-beri yang diberi-beri, apabila seseorang lain memperkenalkan memperkenalkan remote, mereka akan mempunyai bahagian yang diberi-beri. Jadi, mungkin bahagian yang paling penting dalam proses sepanjangnya, adalah apabila anda mahu memberi feedback, anda akan membuka perjalanan. Sekarang, saya rasa, predominantly, saya telah memperkenalkan tempat penjara yang terbesar, supaya anda dapat memperkenalkan GitHub pada tempat penjara yang diberi-beri yang diberi-beri. Supaya anda dapat memperkenalkan GitHub dengan tempat penjara yang diberi-beri. Tetapi, saya memperkenalkan tiga bulan yang terakhir, dan saya melakukannya bagian yang terbuka. Sekarang, tempat penjara saya berakhir dan saya membuka tiga bulan yang berakhir untuk menyebabkan tempat penjara yang berakhir. Saya rasa itu, terutamanya, yang banyak orang lakukannya. Sebenarnya, sebelum saya membuka GitHub, itu yang kita lakukan juga. Itu yang saya lakukan pada kerja saya. Tetapi, itu bukan cara yang menjalani perjalanan di GitHub. Tempat penjara yang terbuka setelah beberapa jenis kode yang berubah. Jadi, yang penting untuk cara proses kerja di GitHub adalah memilih panggilan awal. Di panggilan panggilan itu anda akan bercakap tentang apa yang anda lakukan? Bagaimana anda memilih panggilan? Bagaimana anda akan memilih? Kenapa anda akan memilih panggilan itu? Dan bagaimana ia akan memilih konteks yang lebih jauh? Dan kita menggunakan memilih panggilan itu. Jadi anda boleh memilih seorang yang mungkin berminat dalam panggilan yang anda lakukan, atau anda boleh memilih panggilan panggilan. Jadi, jika saya berminat dalam panggilan panggilan, bagaimana orang akan menggunakan panggilan itu, saya mungkin kata, ok, saya berminat dalam memilih panggilan ini. Saya mungkin mempunyai panggilan yang saya perlu buat. Saya mungkin memunyai panggilan Github UX kerana ialah panggilan panggilan panggilan, dan saya perlukan panggilan mereka. Saya mungkin memunyai panggilan mobile kerana saya memiliki panggilan mereka juga. Dan kemudian, dari sana, dalam panggilan awal ada panggilan asyik yang memperkenalkan panggilan itu. Ada orang lain yang mungkin fikir tentang perkara yang sama atau mungkin memperkenalkan panggilan lain dan memperkenalkan dan memperkenalkan panggilan itu. Orang yang tidak tahu kita berminat dalam panggilan ini mungkin memperkenalkan dan berkata, saya berminat dalam membantu panggilan ini, bagaimana kita memperkenalkan panggilan ini bersama-sama? Ada proses yang orang yang berada di Github selama lama yang tahu lebih banyak cerita perkara yang kita cuba sebelum atau perkara yang telah terlalu, boleh memperkenalkan dan berkata, ini adalah panggilan yang memperkenalkan. Kamu tidak ingin memperkenalkan panggilan ini. Ini adalah cara yang lebih baik untuk dibuat. Jadi, panggilan panggilan itu menjadi rumah yang benar-benar memperkenalkan bagaimana panggilan ini akan bekerja, bagaimana memperkenalkan pangilan ini dalam cara yang akan bekerja. Dan anda boleh berkata panggilan panggilan ini sebagai sebuah panggilan atau anda boleh pergi ke panggilan individu dan berkata panggilan individu. Sekarang, semasa anda memperkenalkan panggilan anda atau panggilan anda, panggilan atau apa-apa, panggilan baru yang anda memperkenalkan ke panggilan yang anda indah-indah dan memperkenalkan, akan dibuat ke panggilan pangilan itu. Jadi kita mempunyai panggilan panggilan, panggilan, panggilan panggilan, panggilan panggilan, panggilan panggilan, panggilan panggilan. Dan kemudian selepas orang telah berkata, hey, ini hebat. Ini bersedia untuk bergerak, biasanya dengan panggilan atau panggilan yang anda memperkenalkan seperti ini atau sesuatu. Kemudian anda tahu, okey, ini hebat. Mari kita memperkenalkan ini ke Panggilan. Dan orang yang memperkenalkan Panggilan bukan panggilan yang berjaya, bukan orang yang memperkenalkan panggilan anda dan mengatakan, okey, ia anda. Panggilan yang memperkenalkan panggilan adalah orang yang memperkenalkan panggilan. Anda memperkenalkan panggilan anda. Jadi anda harus menjadi yang memperkenalkan. Jadi ia sangat penting bahawa orang yang memperkenalkan panggilan adalah memperkenalkan panggilan untuk panggilan yang mereka membuat. Dan semua orang memperkenalkan semua orang yang memperkenalkan panggilan. Semua orang dalam perkembangan boleh memperkenalkan panggilan. Sebab kita melalui proses ini apabila ada panggilan yang hebat tentang bagaimana panggilan yang berjaya, orang yang memperkenalkan pangilan dan memperkenalkan panggilan yang berjaya. Saya memperkenalkan menolak dan saya memperkenalkan panggilan.com dengan baik-baik saja. Apabila panggilan yang memperkenalkan panggilan, itu memperkenalkan itu. Kulingkan panggilan. Panggilan memperkenalkan panggilan. Palingan tidak berjanji jika semuanya meletakkan, itu diperlukan ke produksi dengan mencari botan. Dan semua... Jadi, sedikit mengalami, kerana... anda mungkin sudah melakukannya. Kerana salah satu perkara yang kita lakukannya adalah... Kita... Ya, kita menggunakan integrasi kontinu dan mempunyai test dan sebagainya. Tetapi, untuk benar-benar pasti bahawa sesuatu yang kita boleh menjaga Master Stable... Rule No. 1... Kita juga melakukannya dengan branch deploy. Jadi, dalam chat kita boleh katakan... Deploy... branch thumbprint ke GitHub... dan kemudian branch thumbprint akan mengerjakan di GitHub. Bukan Master. Tapi Master masih di Stable Deployable State... Dan bila-bila saya melihat kemungkinan... setelah saya melihat branch saya... saya melihat metrics performa dan semuanya yang cantik... yang kita boleh mengerjakan ke channel chat kita. Dan... jika sesuatu salah, saya boleh katakan... Deploy GitHub dan itu akan membuat... Deploy... Master kembali lagi... dan mengerjakan branch thumbprint saya. Jadi... setelah saya melakukannya, saya boleh kemudian... mengerjakan... dan semuanya akan mengerjakan... automatically, mengerjakan Master... dan goal. Kita masih di Stable Branch. Jadi, dan seperti yang saya katakan... sesiapa yang boleh buat itu? Ia merupakan nerf. Boleh kita melakukannya dengan sub-seta? Kita boleh melakukannya dengan sub-seta masyil. Saya... Jadi... saya belum melakukannya dengan sub-seta... orang yang lebih baik untuk bertanya... tapi saya tidak fikir ada cara untuk... melakukannya dengan sub-seta masyil. Ya. Jadi, semuanya berlaku dengan chat ini. Bagaimana dengan... anda semua mempunyai... Jadi, kita juga boleh melakukannya dengan... apa yang kita nampak, laps. Jadi, anda boleh melakukannya dengan lap... mengerjakan. Ia dapat mempunyai... staf saja. Seperti sebuah masyil. Saya juga telah melakukannya dengan... cara yang sama. Jadi, saya akan melakukannya dengan... mengerjakan... lap 1. Ya. Anda dapat tahu bahawa ini lebih baik... kerana... kita mempunyai hal ini... dan anda... tentu-tentu mempercayai soal sosial... lebih banyak daripada seseorang. Ya. Tetapi, bagaimanapun... saya bermaksud bahawa... bagaimanapun... mereka mempercayai bagaimanapun... untuk mengerjakan. Jadi, anda melihat itu... apakah perubahan yang boleh... berubah tanpa... mempercayai soal... atau pengerjakan? Saya rasa... saya rasa pengerjakan pengerjakan... adalah... sebuah cara yang penting... untuk mengembangkan kode yang baik. Saya rasa... yang... biasanya... prosesnya boleh diletakkan... walaupun jika anda tidak mempercayai... pengerjakan pengerjakan pengerjakan. Saya... saya akan beritahu bahawa... saya... banyak orang mungkin... bekerja di syarikat... apabila anda berfikir... okey... pekerja saya tidak akan memlewati cara itu. tetapi... dengan över... dan... telah membuat dps tekanan anda...79 Bagaimana dengan pembentangan Pertama-pada Pertama-Pertama? Well, as I said we've got a UX team so that it's possible that we'll run UX studies before a feature gets implemented. Very likely, very early in the process rather than towards the end. We can staff deploy code so that all of the GitHub staff have access to features. And that's something that we do very regularly for new user interface things. The other thing is of course that you might get to a point where you've developed this feature and go or actually after discussing it, this is not shippable and we shouldn't ship it. We should throw it out. And that's totally cool, like being able to throw stuff out because why would you deploy stuff that's not, that you've found through the development of it, isn't what you want. You should be empowered, absolutely empowered to throw stuff away. So, yes, things get before users buy. They get before staff and they might get staff shipped. They might get branch deployed. So if R1 is allowed to deploy these software branches, wouldn't they or why each other find mistakes sometimes? No, that's all managed through the deployment process. So if you've deployed a branch then to production, then production is locked and no one else can deploy to it at that time. So we've got a queuing system I can say, let me know when I can deploy next. So sometimes there are bottlenecks, like you want to deploy something and someone else has a feature branch out so it's locked. Generally, that person is going to be in chat because they've got their feature branch deployed. Normal stuff will only be branch deployed for 15 or 20 minutes and then it will be merged to master. So if you've got an urgent bug fix that needs to go out, then you can say, can I grab production? So this all sounds, you've got happy emoticons and people are speaking to each other very politely. I can't imagine that it doesn't go the other way. Can you comment on when it gets a little bit techie and everybody? I mean because it has to. I'm not saying the system fails. I'm just saying there has to be time when there's friction at this. The friction actually happens really rarely. Ya, I'm not saying all the time. I'm just saying once in a while. Rare enough that I haven't seen it that much. Not a single time? No, I'm not a single time. In the six months that I've been there, have I seen people get upset about someone saying this feature is wrong or shouldn't be deployed? Because we're continually talking about the type of culture that we want and things like... Or for example, could you hurry up so I can deploy in my future? Ya, that does happen and generally that's like, okay, ya, cool. I'll hurry up. If your feature needs to go out, I'll just wait till after dinner. Ya, I mean we're 230 odd people at the moment. And not everyone's working on the same code bases. I'm generally working on enterprise things. The bug fixes and features that I develop are generally things that are only going to... Even though it's the same code base, they're feature flagged to only go out with enterprise releases. So my stuff's not that urgent. Someone else is working on gist. That's their stuff. The people, if you're working on some significant thing together like completely rewriting the way authentication works, then you generally have a bunch of people who are working together towards a shared vision. So the things that are more likely to have conflict are generally smaller things or the things that are bigger have more people involved in the first place. And I think that opening of the pool request early gets that discussion out of the way really early before anyone's really invested all that time to be offended. So ya, I think that's actually really important the discussion up front while we're going to questions. On that note, part of this pool control in existing organizations has to do with risk aversions. Has anyone broken production? And... Has there been... But yes, of course production breaks. But that happens everywhere. That's not anything to do with this workflow. What this workflow does is actually allow us to really quickly work out that production's broken. We need to do something about that and move forward. I mean, what typically happens is when production breaks then someone says, oh no, how do we prevent this? What caused it? And then typically, that's how these controls in the end of the time. Ya, that's right. And that's right. More about what is the response. The way that we view our culture is obviously evolving and the way that we use that technology to support our culture is obviously evolving as well. Technology changes. Ya, the level of the DDOS attacks against github change. The dynamics of the company change when we've got 230 people as opposed to well, when I joined it was 180 people. And before that, actually we were under 40 for a really long time. Ya, so things will definitely break but we can respond really quickly. We deploy like 40 times a day and it's mostly seamless. And you know, millions of users and a lot of traffic and quite a complex thing to integrate gith but a workflow like that. So but it stays on. So talking about my role. Last one and I'll move on. So my question is so you mentioned that you guys deploy a broad drive like a switch between master and future drivers on production. How you guys manage github changes. Ya. So we use Rails Migrations. Github is a Rails app. We use Rails migrations. Kind of nothing I ever touch touches the database and that's partly about me being able to choose what I work on. There's also more complex stuff where your code base has to deal with with multiple different data sets like if you're transitioning the way that you store a large amount of data and you can't just go we never take the site down. So all of these deployments are zero downtime deployments. So you can't say okay we'll migrate this 40 gig of data to another data structure and not bring the site down. So there are ways that and I'll let the people who are more expert in that talk about that when they come visit Singapore. Ya. So migrations I think there'll be people who are talking about that sort of thing quite soon. So my team is enterprise so deployments don't work like that for enterprise. They don't get in the hands of our users until we do a release. We generally do a feature release four times ish a year in which we bring the github.com code base as close as possible. We merge in master into our enterprise branch and release release that and then release as many patches as possible so that our customers for enterprise demand a little bit more stability and they're a little bit more change averse and they are updating their own code so we can't push directly to their installations. So it's a little bit different for enterprise but no it's significantly different for enterprise but the code itself goes out to.com in the same way. They'll eventually get to enterprise. So what does that have to do with that culture people are given the autonomy to decide how they work, where they work, what they want to work on open allocation as someone mentioned everyone gets to decide what they're doing so that autonomy is motivating and leads us to happiness. We work together on those pull requests, on features to a mastery of the different things that we're doing which is motivating. We build things that are worthwhile that have a purpose. It's a good thing to share a vision to say we're going to build software tools that allow the building of better software tools and that's how we develop GitHub Any more questions? So how often I'm actually okay So the GitHub that you use in GitHub how often is that completed and how often do you deploy that or is that the enterprise version? No, github.com is developed on github.com So we have github organisation as a github repository that is the github code and it gets developed in exactly the way that I've described and we're using the same code that everyone else is using so we're dogfooding the site itself we build tools that we want, we make the workflow soup the way that we're building better tools so we're using it all the time So what is down for it, what is down for you? That's right Unfortunately True I think we've been pretty good at keeping the site up under, well the ops team have been pretty good at keeping the site up under amazing amazing circumstances So I mean, purpose So having a shared vision but the work that you're doing is worth something The company should have some priorities Yeah, so I haven't really talked about some of the bigger vision things I've just sort of said we build software to help people build software together but there are other people who are in a better position to talk about overall strategy and vision but basically that's what we're thinking about all the time when I'm deciding what I want to work on then I'm going to take into account that vision that we've developed together that's what I mean by a sense of purpose What are some of the challenges or the dull side of actually he's worked for? I mean, some people may not play well or any other factor Ah that's a hard question to answer Generally we're very careful about hiring it's a fairly onerous process in a different way than other companies or onerous because we focus a lot of our attention on culture and people who are going to work well together people who are willing to say my approach is wrong people who are willing to throw work away so I don't tend to get those clashes of personality I don't see it go wrong that much Difficult question to ask Winston So you mentioned about supporting enterprise when you talk about support usually in other companies you'll be like an untaxity job Definitely So the support team support teams at github the github.com support team and the github enterprise support team are very much first level on equal footing with everyone else there's absolutely no concept of you're just support I'm not really going to listen to you you can weigh into any discussion and your voice is heard equally of course people have expertise in different areas so that they're listened to more and people are sometimes more natural leaders but those people are in support or they're in development and it's all just one team so there's no concept like i say i can actually decide to leave the support team and go and work on something else but i actually love working on support it's a fantastically interesting job and support it at github.com as well as github enterprise it's really very interesting so yeah it's a first class team it's very interesting the most interesting thing that i've worked on so github enterprise is a virtual machine run in someone else's company that i don't have access to so supporting that is quite a challenge so enterprise gets put in network infrastructures with unpredictable things on the network with a variety of different authentication schemes and someone comes to me and says gravitas aren't working it's no longer sending email or no one can log in anymore and talking to them through the process and getting a resolution to that very challenging and really very interesting for me so that it sounds like you have to potentially know about the rest of the stuff that goes around so i have to know about everything to do with github.com and how it works i have to know about everything that happens with github enterprise the virtual machine and i'm going to say i i'm in my team and i have to be able to get the information that i need about how they've deployed github.com within their organization i mean github enterprise within their organization so it's a diplomatic role as well which is interesting too is everyone on github supporting support so only enterprise people on page agenda i'm not on duty anymore so a couple more winding up things and there will be more opportunity for questions afterwards so if anyone is interested in learning more about the github flow we have training available we can get people to come out and do training or there are free web classes so if you go to training.github.com there are free things to offer as well and i'll get a bunch of references to put up and that's the end and the last thing is that i'll stick around afterwards if you want to have a chat about anything and on thursday night at tibletown in club street we'll be having a drink up so if you want to hopefully the stickers will have arrived but if they haven't arrived then i'll get them to your next meeting anyway but you're welcome to come along and have a chat for as long as you like on thursday night and a beer on it alright, let me have a round of applause