OSCON Amsterdam 1. Gün – Açık Kaynak Konferansı 2015

Elif T. Kuş —  30 Ekim 2015 — 1 Comment

Önceki senelerde iki FOSDEM‘e gittikten sonra bir de OSCON‘a gidelim dedik ortağımla. FOSDEM, açık kaynaklı yazılımcıların Avrupa’daki toplantısı; kabaca çevirmek gerekirse. Her tür açık kaynakçı konuşmalar veriyor. Paralelde 6-7 oturum yürüyor 2 gün içerisinde. Çok güzel bir etkinlik ama beleş, dolayısıyla kalabalık ve kaynaklar yetersiz. Kaynaklar yetersiz ne demek? Yani girmek istediğiniz konuşmanın salonu dolabiliyor, yemek yenen alandaki masalarda yer kalmıyor, kalırsa pis oluyor, yemeği alabilmeniz anca öğlen arasının sonunu bulabiliyor. Dedik bunların bir de Amerikan versiyonunu görelim. En yakın olarak da O’Reilly’nin OSCON’ununu bulduk. ‘Amerika bütçemizi aşacak bu sene’ derken, Amsterdam’da da olduğunu öğrendik ve paralara kıyıp gittik.

Rebecca Parsons

Etkinlik 3 günlük. İlk iki gün konuşmacılar var, 3. gün de tutorial’lar var. Biz 2 günlük bilet aldık. Sabahları keynote’lar vardı, öğleden sonra da 4 koldan yürüyen oturumlar. İlk sabahı Keynote’larla başladık. İlk keynote Thoughtworks‘ün CTO’su Rebecca Parsons‘a aitti. Konusu, “The evolution of evolutionary architecture“, yani “Evrimsel mimarinin evrimi”. Yazılım süreçlerindeki gelişimin, bizi nasıl mimariyi baştan ayrılan uzun bir süre ile değil de (bknz. Waterfall ve efradı), geliştirme sırasında küçük küçük değişiklikler yaparak (bkz. agile ve arkadaşları) geliştirilebilir hale getirdiğini anlattı. Aklımda kalan başlıklar: “Refactoring databases”, yani veritabanlarında fonksiyonalite değiştirmeden kodun değiştirilmesi. Veritabanında bu koddakinden daha zor, çünkü çoğu zaman data migration (veri göçü) gerektirir. O da hep bela bir iştir. “Continous integrity”: İllaki. Yani aslında bugün kod geliştirme biçimimiz. Kod tek yerde durur, herkes aşağı yukarı günde bir kodunu buraya gönderir ki sonradan birleştirme derdi olmasın. “Testing”, ki kodda değişiklik yaptığınızda kodun eski halini bozmadığından emin olalım. “Continous deployment” (sürekli yayınlama), kodun yayınının otomatikleştirilmesi dolayısıyla hızlanması ve böylelikle hataların daha hızlı ortaya çıkması. Üst çerçeveyi veren bir konuşmaydı. İyi bir konuşma idi. İzlemek isteyenler burdan izleyebilir: http://www.youtube.com/embed/dgxr4nEjaFw?autoplay=1

Arkasından Doug Crockford çıktı. İncecik bir kitap olan “The Good Parts of Javascript“in yazarı, daha önce “Özgür Yazılım ve Açık Kaynak Günleri”nde Bilgi Üniversitesi’ne gelmişti. Yahoo’da teknolojinin başındaydı senelerce. Paypal’da webi iyileştirmek için geliştirdikleri Seif Project‘ten bahsetti. Web’in güvenlik gibi problemlerinden bahsettikten sonra bunları çözmek için ne yapmayı düşündüklerini anlattı. 3 adımda yayınlayacakları projelerinin ilk paketini yayınladıklarını açıkladı. Değişik bir proje. ‘Detaylar gün içindeki konuşmada’ dedi. Biz de gitmedik.

Onun arkasından Docker’da Security konuşması vardı. İlgimi çekmeyen bir konuydu. Konuşma mı kötüydü, konu mu ilgimi çekmedi diye düşündüm. Sonra aklıma “Weinberg’in Hedefi” (Weinberg’s Target) geldi. Weinberg IT yönetimi ile ilgili efsanevi kitaplar yazan bir adam. Yaşar’ın blogunu okuyup ona tavsiye eden Müfit Sözen sayesinde tanıştık. Weinberg’ün “Becoming A Technical Leader” adlı kitabını okuyorum bu ara. Orda o kendi eğitimlerinin iyi olup olmadığını bu “Weinberg’ün Hedefi” (Weinberg’s Target) ile değerlendirdiğinden bahsediyor. Eğer eğitimin sonunda öğrencilerin konuya olan merakı arttıysa eğitim hedefine ulaşmıştır. Ve bu öğrencinin bu konuya ilgi duyup duymamasından bağımsız olarak böyle. Weinberg’ün Hedefi’ne göre konuşmayı değerlendiriyorum. Hem Docker’dan hem Security’den soğudum. Demek ki kötü bir konuşma. Hemen önceki konuşmaları da değerlendirelim. Parsons’un konuşması, konuyu genel çerçevede bilmeme rağmen mesela Refactoring Database konusunu aslında çok iyi bilmediğimi farkettim ve bu konuyla ilgili birşeyler okuyasım geldi. Demek ki geçti. Hatta iyi bir konuşma. Seif Project: Enteresanmış, bir bakılabilir. Demek ki sadece iyi bir konuşma.

Simon Phipps’in konuşması açık kaynak yazılımdaki örgütlenmelerle ilgili idi. Açık kaynak yazılımın şirketler değil açık yazılıma yönelik örgütlenmelerle yürütülmesi gerektiğini anlattı. İyi bir örgütlenmenin nasıl olması gerektiğinden bahsetti. FOSDEM’e ilk geldiğimde farkettiğim birşey, bizim açık yazılım etkinliklerinde bir takım açık kaynak kütüphanelerden bahsedilirken bu adamların konferanslarında bu işin stratejisi, politik altyapısı, ekonomik tarafı gibi olayı çok daha geniş perspektiften ele alan konuşmalar oluyor. “Weinberg’ün Hedefi” gerçekleşti. İlgi çekici ve iyi bir konuşma idi.

IMAG2216

Sam Aaron

Sam Aaron’un konuşması keynote’ların en bomba konuşması idi. En fazla Tweet atılan konuşma bu olmuştur kesin. Konuşmanın başlığı “Programming as performance – live coding with Sonic Pi“. Sam Aaron acayip enerjik biri, konuşmanın başında çocuklara programlama öğretme konusuna girdi. “Çocuklara programlama öğretirken onları “Sorting çok eğlenceli’ diyerek ilgilerini çekemezsiniz” dedi. “Onun yerine kodla etkileşime girecek bir ortam vermeniz gerekir” diyerek SonicPi‘yi anlatmaya başladı. SonicPi Raspberry Pi üzerinde çalışabilen kod yazarak elektronik müzik yapmanızı sağlayan bir IDE. Ve canlı olarak kodu değiştirerek müzik yapmaya başladı. Aslında düşününce yaptığı şey DJ seti yerine bir kod arayüzü vermek. Ama tabi çok daha güçlü bir arayüz. Kod da aslında zaten bir arayüz değil mi? Bizim makineyi programlamak için kullandığımız bir arayüz. Yoksa Assembly falan yazıyor olurduk. Birazıcık ilginizi çektiyse şurdan izleyebilirsiniz. Hatta kodlayarak müzik yapmaya başladığı kısımdan başlayarak şurdan izleyebilirsiniz. Bu arada SonicPi‘yi bilgisayarınıza da kurabilirsiniz bu arada.

Keynote’lar bittikten sonra paralel oturumlar başladı. Her arada bir karar verme halleri, hangisine gideceğiz?. İlki Simon Brown‘un “Software Architecture as Code” (kod olarak yazılım mimarisi) idi. Yazılım mimarisinin şekil ile temsil etmenin sıkıntılarından bahsetti. Ve tabi bunları güncel tutmanın. Koddan otomatik diagram çıkaran araçların yetersizliğinden bahsetti. Hakkaten de her seferinde ben de bir denerim sonra ‘olmadı’ der bırakırım. Ama hep de bir arada deredeyim. Ben mi şunları adam gibi kullanamıyorum yoksa bunlar mı bir işe yaramıyor. Hep de ortamda birileri olur ‘şöyle çok güzel toollar var’ diyen. Ama belli ki kendi kullanmamış, kullansa tavsiye etmez. Genelde bu bu araçlarda da katmanlama iyi olmuyor. Simon Brown diyor ki ‘Bizim mimariye Google Maps’teki gibi aşama aşama zoom edebilmemiz lazım’. Artı ‘bizim bu mimariyi araçlarla koddan çıkarabiliyor olmamız lazım’. ‘Çünkü kod zaten bu mimari yapıya dayanılarak yapılıyor’. ‘Ama’ diyor ki ‘ne yazık ki günümüzde artık kod yeterli değil. Çeşitli sebeplerden dolayı koddan çıkmayabiliyor’. O yüzden yeni bir araç yazmış. Mimariyi koddan çıkarabildiği kadar çıkarıyor. Çıkaramadığı yerde siz o bilgiyi kod yazarak veriyorsunuz. Ve ortaya çıkan şekil Google Maps’teki gibi yakınlaştırılabilir bir şekil oluyor. Detaylar için https://www.structurizr.com/‘a bakabilirsiniz. Çok güzel fikirler. Çok işe yarayabilecek bir araca benziyor. Weinberg’ün hedefi gerçekleşti. Sructurizr’a bakılacak.

Arkasından kötü bir konuşmaya girdik. ‘Chaos patterns – architecting for failure in distributed systems’. Jos Boumans ve Bruce Wong idi konuşmacılar. Wong kendinden ve çalıştığı şirketlerinden bahsetti bol miktarda. ‘Ben bu işin yapıldığı yerden geliyorum ey zavallılar havası’ vardı ki kendisini zavallı gösterdi. Jos biraz daha iyiydi ama o da DevOps ve Reliability Engineer’in o kadar temellerinden ve sanki ilk defa bahsediliyormuş gibi bahsetti ki.. Galiba 2015’lerin Amerika’sından 1990’ların Avrupa’sına geldiklerini sandılar Bu arada temel konulardan bahseden çok konuşma vardı, aynı şey onlar için geçerli değil. Weinberg Hedefi tutturulamadı.

New Relic’ten Adam Harvey‘ın konuşması 5* non-cryptographic hash functions enter. One hash function leaves idi. İlgimi çekmeyeceğini düşünerek girdim ama iyiydi. Weinberg’ün hedefi tutturuldu. “Eğer hash’lemeyi de metni özetlemek için, daha doğrusu kısa tekil id tarzı birşey çıkarmak için kullanıyorsanız güvenlik için kullanılan md5 gibi algoritmalar kullanmayın. Bunlar sizin için gereksiz yavaş” diyor. Ve bunun için 5 tane algoritma anlatıyor. Güzeldi. Kendime çıkardığım sonuç: “C, C++ gibi bir programlama dilinde yazmıyorsanız (mesela Python, Ruby) genelde halihazırda kütüphanede olan CRC32‘yi tavsiye ederim”.

Mark Bates‘in Get Better konuşmasının kendisi çok iyiydi, ama ilginç bir şekilde içerik zayıftı. “Plate spinning: Modern concurrency in Python” konuşması bayağı sıkıcıydı. Çok fazla kod detayına girdi. Aklımda pek birşey kalmadı. Adamcağızın kitabı varmış. Çoğu konuşmacı aynı zamanda O’Reilly’den kitapları olan insanlardı. Kötü konuşmacıların şöyle bir faydası oldu. ‘Bu arkadaşlar kitap yazıp yayınlatabiliyorsa ben de yazar yayınlarım’ diye düşündüm.

Böylelikle bir gün sona erdi. İkinci güne girersem bu yazı sona ermeyecek veya siz okumayacaksınız. İlgi olursa ikinci yazıyı da yazarım.

Genel izlenimlerim şu: Konferans güzel. Konuşmacılar genel olarak iyi. Keynote konuşmacıları iyi seçilmiş. Konuşmaya gelenlerin çoğunun O’Reilly’den çıkmış bir kitabı var. Kabaca yarısı bağımsız danışman olarak çalışıyor, diğer yarısı da etkinliğin sponsoru olan firmalarda çalışıyor. Böyle bir pazarlama ortamı var, ama bu çiğ bir şekilde yapılmamış. Kadın konuşmacı sayısı çok fazla değildi. Katılımcı da çok değildi. Ama ilk keynote’un bir kadında olması hoşuma gitti. Google özellikle kadın konuşmacı göndermek için uğraşıyor gibi bir izlenim edindim.

Keynote’ların videolarına ve bazı slide’lara şu linkten ulaşabilirsiniz.

Elif T. Kuş

Posts Twitter Google+

Temelde web uygulamaları ve mobil uygulamalar ile uğraştım. Python, Java, C#, Objective C, Android ve iOs ile kod yazdım ve hala yazıyorum. Lisansımda Kimya Mühendisliği okudum. Sonradan öğrenenlerdenim. Kendi şirketim üstünden proje bazlı çalışıyorum ve IT danışmanlığı yapıyorum.

One response to OSCON Amsterdam 1. Gün – Açık Kaynak Konferansı 2015

  1. İlgi şuan ne durumda bilmiyorum ama ikinci yazıyı da okumak istedim hemen 🙂 Atmosferi çok güzel aktarmışsınız.

Yorum yapmak için