muhammed c. tahiroğlu

seçkin bir kimse değilim

Dört Nala Koşan Çekirdekler

Mikro işlemcilerin hızları epeydir artmıyor, farkında mısınız? Takıldı kaldılar 3 ghz seviyesine. Halbuki biz bebekliğimizde, ne masallar dinlerdik. Ellerinde 15 ghz’likler varmış da piyasaya sürmüyorlarmış, falan filan. 

O masalları unutuvermişiz. Kaç senedir avutuluyoruz aynı frekans değerleriyle. 

Şimdi elimizdeki mikro işlemciler, yatay büyüme gösteriyor. Hızları artmıyor ama sayıları artıyor. iPhone 4S, iPad 2 gibi cihazlarda bile şimdi çift çekirdek var. 

Çekirdek sayısı artıyor da bizim bundan kârımız ne olacak? 

Öyle mucize beklememeliyiz. Çünkü çekirdek sayısının artması, var olan bir programın daha hızlı çalışmasını sağlamayacak. Bu yanılgıya düşmeyelim. İşletim sistemlerinin hızlandığını göreceğiz. Temel görevleri hızlı yaptıklarını göreceğiz. Ama elimizdeki eski programlarımız, işlemci çoklandı diye malesef dört nala koşamayacak.

Çünkü arkadaşlar… çok çekirdekli bir ortamda çok özel kodlar yazmak gerekiyor. İş yükünü paralel olarak çekirdeklere bölmek gerekiyor. Deyim yerindeyse, makinedeki tüm işlemcileri, adil bir paylaşımla koşturmak gerekiyor. 

Elimizdeki kadük programlar, sadece tek atı koşturmayı biliyorlar. Birden çok atı koşturamadıkları için, performanslarında ciddi bir artış göremiyoruz.

Bu yatay artışın bir süre devam edeceğini görüyoruz. Yani çekirdek sayılarımızın 16’ya kadar yolunu yapmışlar şimdiden.

İşletim sistemleri buna kolay adapte oluyor. Olacak da. Asıl mesele bizim uygulamalarımız olabiliyor mu? Programlama platformlarının birçoğu, bu gelişmelerden ötürü paralel programlamaya hususi destek verir oldu. Destek tamam, helva tamam mı?

Yeni nesil uygulamaların kırbacı eline almasını istiyoruz:

İnsana İnsanca Muamele Etmek

Bir işi gerçekleştirmek için bir araya gelmiş parçalar bütünü, sistem olarak adlandırılıyor. Sistem bileşenleri, ahenk ile adandıkları dava için çalışıyorlar. Onları kullananlar ise bizleriz, yani, insanlar.

Bu sistemler, ne kadar karmaşık olurlarsa olsunlar… bize bizim dilimizde konuşmak zorundalar. Bize, insanca muamele etmek zorundalar. 

Bilgisayar uygulamaları için de aynısı geçerli. Dünyayı yok etmek gibi sofistike bir iş de yapıyor olsa, bize sunacağı yalnızca bir tane kırmızı düğme olmalı: “yok et”. 

Bir uygulamanın nasıl çalıştığını anlamak için üstün zekâlı olmamıza gerek olmamalı. 

Bir uygulama, hep söylediğimiz, “ağyarını mâni, efradını câmi” prensibiyle arayüzünden iş katmanına kadar her noktasında “az ama öz” olmalı. Gereken her şeyi içermeli. Gerekmeyen şeylerden azade olmalı.

Dikkat edin. Aslında tadına doyamadığımız her uygulama, bu prensiple yapılanlardır. Her şeyin olabildiğince karmaşıklaştığı dünyamızda, sevgimizi kazananlar, en basitleri, en kolayları ve bize insanca muamele edenleridir.

Artık “yazılım” hayatımızın tam orta yerinde. Mahremimize bu kadar girmiş bir varlığın, elbette makine gibi değil, insan gibi iletişim kurması, işlemesi gerekli.

Yarının dünyasında, insana en yakın olanların sözü geçecek.

Microsoft’un Yolu

2012 senesi, Microsoft’un önemli ürünler çıkaracağı ve de geliştirici platformunu ufaktan silkeleyeceği zaman dilimi olacak. Tüm göstergeler, beklentiler bu yönde. 

Şu an geliştirici camiasında göze çarpan bir sahipsizlik var. İnsanlar nereye sürüklendiğini merak ediyor. Gemi hareket hâlinde. Vatandaş rotayı bilmek istiyor. 

Tablet bilgisayar sevdası, masa üstü programlamadaki yoğurt yemeleri elbette değiştirecek. Ve sanmayın ki bu kurumsal geliştirme pratiğini vurmayacak.

Onlar da etkilenecek. Eninde sonunda. 

Bu yeni geliştirme paradigması, bazı teknolojilerin de miadını doldurmasına neden olacak. Meselâ Silverlight.

Microsoft, Silverlight için 5’i son versiyon olarak sunacak. “6” olmayacak. Silverlight ile yapılmış ne varsa, arşivlere kaldırılacak. (Torunlarımız bakar belki.)

Windows Phone 7 ve XNA. Bunlara ne olacak acaba? Hadi diyelim Phone 7, WinRT’ye râm olacak, katılacak. Ancak XNA’ya henüz yer bulamıyoruz. Microsoft da düşünüyor olmalı.

Mary Jo Foley, MinWin diye bir Windows bileşen setinden bahsediyor. Dediği bu şey, 25 mb - 40 mb arası yer kaplayan, Windows’un cüceleştirilmiş “cücük” kısmı. Bu minyatür Windows, muhtemelen bundan sonraki Windows Phone’lar ve ARM işlemcili tabletlerin platformuna temel teşkil edecek. 

Ve son söz. Her vicdan ve göz sahibi vatandaşın göreceği gibi, Microsoft, Apple’ın sunduğu kullanıcı deneyimini yakalayabilmek için elindeki verimli araziyi yeniden ekmek ve biçmek istiyor. 

Bizler de bu arazideki rençperler olarak, alnımızda emeğin ışıltısı, 2012’de ne ekeceğimizi düşünüyoruz.

Ölen platformlar için saygı duruşu

Biz yazdık ama bir de Tim Anderson‘un ağzından dinleyelim:

Three dying platforms: Flash, Silverlight, Win32

Elemanımızın Silverlight’ın Windows Phone 7’den yavaş yavaş çekilerek WinRT varyantına dönüşeceğini söylemesi, bizi yakından takip ettiğini gösteriyor.

Tahmin etmek Tim’in dediği gibi tehlikeli iştir. Ama bazı şeyler artık tahminden öte geçiyor. Doğanın kanunu oluyor.

Geliştiricilerin eforlarını, dikkatlerini, meraklarını ölen platformlardan çekip, canlanan ya da sıçrayan platformlara çevirmesi gerekiyor. Yarının kuralına, iktidarına şimdiden hazır olmaları gerekiyor. 

Bu bilgiye ve tecrübeye karşı vicdansız yazılım mesleğinin midesini ancak onun suyuna giderek doyurabiliriz. Oyunu, onun kurallarına göre oynamalıyız.

1998’in Byte dergisi olarak kalmayı kim ister?

Demek ki ölenle ölünmezmiş

2011 yılında birçok yazılım teknolojisi için “acaba ölecek mi? gidici mi?” deyip duruyorduk. Haklıydık arkadaşlar. Haklıydık

Ama bazı köşe başı gençleri, ellerinde tespih çevirip, hiçbir teknolojinin ölmediğini, bizim cenaze servisçiliği yaptığımızı, heyecanımıza yenik düştüğümüzü söylüyor ve böyle sanıyordu. 

Ama gördünüz. Selâ verilmeye başlandı seçkin camilerde. Vatandaşın taptığı kale gibi teknolojilerin temelleri sarsılıyor. 

Flash ile başlayalım. Önce Macromedia, sonra Adobe Flash. Adobe’un büyük bir iştahla satın aldığı, piyasanın baskın ve hâkim cross-platform oyuncusu. İstemci tarafta, sadece bir müesseseye bağlı, özel mülk bir Cross-platform ürünün artık yerinin kalmadığını bağıra bağıra söylemiştik. Adobe’un bunu anlaması için biraz kasması ve Kasım’ı beklemesi gerekiyormuş. 

Adobe, Flash’ı mobil cihazlarda çalıştırmak için kasmayı kesti! 

Bu haber, “Flash bile çalışıyor” diye hava yapan kimi mobil işletim sistemi fan’larında üzüntüler üretti. Gözü hiç Flash görmemiş, gariban iPhone - iPad camiasında da resmen bayram etkisi yaptı. 

Flash’ın zamanla, masa üstü web tarayıcı tarafından da sessiz sedasız silineceğini göreceksiniz. Çünkü Flash şu an akıntının yönüne ters gitmeye çalışan bir teknoloji. 

Web’in ilk günlerinden beri web’in gelişmesinde, estetiğinde sağladığı katkılardan dolayı kendisine minnettarız. Ama artık dünya, başka bir dünya. Kurallar, beklentiler, her şey değişti. Akıntıya karşı kürek çeken Flash’ın küreği kırılacak bir gün.

O gün, sayfalarımızı reklama boğan Flash banner’lerine bir Fatiha okuyacağız, nasipse.

Ya SilverLight?

Microsoft’un ilk sürümünde Flash’a alternatif olarak çıkarttığı, sonra masa üstü programlama yetenekleriyle donattığı logosu fıstık, kendisi fıstık teknoloji. Ne olacak SilverLight’in hâli? Ölecek deyip duruyorduk da ağzımıza bant yapıştırıyorlardı.

Ne oldu?

Gelen duyumlara göre Microsoft, SilverLight 5’ten sonra bir daha bu teknolojiye yatırım yapmayacak. SilverLight 5, son samuray olarak kalacak. Tüm terekesi de Daron Yöndem’e teslim edilip, tabelası indirilecek. 

Çünkü o da bir cross-platform hedefli teknoloji. Hiç duydunuz mu bilmem ama SilverLight’ın anlı şanlı bir Mac OS X versiyonu da var. Unix/BSD tabanlı bir sistemde Microsoft tarafından implement edilmiş tek .NET runtime’ı oluyor bu SilverLight. Mono’dan bahsetmiyorum. Bizzat Microsoft’un kendisi, .NET SilverLight runtime’ı.

Neticede, Microsoft da elindeki istemci taraflı cross-platform ürünün geleceği olmadığını gördü ve doğru bir karar verdi. Akıntıya kürek çekmek akıl kârı değildi.

Şimdi bir şey kafanızı karıştırmadı mı? Eğer Microsoft, SilverLight’ın ipini çekecekse, yine SilverLight runtime’ını kullanan Windows Phone 7 ne olacak? 

Efendim, Microsoft SilverLight’ın sadece tarayıcı tarafındaki kısmına desteği kesecek. Windows Phone 7 tarafı güçlenerek devam edecek. Ancak burada önümüze tuhaf bir durum çıkıyor.

Windows 8’in uygulama alt yapısı (Metro UI) farklı bir SDK içeriyor. Windows Phone 7 ise ona benzer ama farklı bir SDK. Ancak iki SDK da benzer özellikler içermeye başlayacak. Örneğin WP7 için sensörlerle ilgili kütüphaneler sağlanmış durumda. Microsoft, bunların aynısını, tabletler için düşündüğü Windows 8 WinRT SDK’sına da koymak zorunda veya koyacak. 

Yani tablet ve telefon gibi aslında ileride birbirinden çok da farkı kalmayacak, yetenekleri çok yakın iki cihaz için iki ayrı işletim sistemi ve iki ayrı SDK yazılımcıları bekliyor olacak. Siz ürettiğiniz bir yazılımı hem telefon ve hem de tablet için ayrı ayrı derleyip, ayrı ayrı sertifikasyona sokacaksınız. 

Aman ne hoş!

Microsoft’un yazılımcılardan zılgıt yiyeceği ve kendisinin de operasyon yükünü artıran bir durumla karşı karşıya olduğumuzu görüyor musunuz? Sertifikasyonda, her iki SDK için ayrı araçlar ve süreçler çalıştırmak zorunda Microsoft. 

Bu işten mutlaka bir çıkış yolu olmalı. Microsoft da muhtemelen buldu ve zamana yayarak, bu belâdan kurtulacak. 

Ben kendi tahminimi ya da temennimi ileteyim. 

Windows Phone 7’nin tüm API’sini WinRT’ye taşısınlar. Yeni Windows Phone uygulamaları, WinRT API’si üzerine yine XAML/C#/C++ ile yazılsın. Mevcut uygulamalar çok basit bir şekilde XAML değişikliği olmadan, kod dosyalarında ufak modifikasyonla WinRT’ye taşınabilsin. XNA uygulamalarını da bir şekilde halletsinler, onu da ben düşünmeyeyim. Tüm bu geçiş sürecinden sonra elimizde tek bir SDK kalsın. O da WinRT. İstersek C++ ile Windws Phone uygulaması yazalım ve performansın dibine vuralım. 

SilverLight’ın cansız bedeni yere serildiğinde, Windows Phone da Windows 8 ile birleşmiş, yek vücut olmuş olacak.

Daha önceki tavsiyemi ileteyim. Microsoft yolunda ekmek yiyorsanız, size en vefalı çıkacak teknoloji XAML’dır. XAML’a yatırdığınızı mutlaka geri alırsınız. 

Cross-platform yakınlarının başı sağolsun.

CS: Chrome’dan Sonra

Google Chrome, ilk çıktığı gün ne kadar da sefildi değil mi? Köprünün altından bol köpüklü sular aktı, aktı ve şimdi 15 mi 16 mı herhangi bir sürümde bu tarayıcı. Ve geçmişe göre çok ileride, çok ötede. 

Kendisini en sevdiğim Windows uygulaması ilân ediyorum. Çünkü içi ufak detaylarla dolu, tarayıcı görünümünde bir yardımcı kendisi.

Neler mi meselâ?

Bir adres içeren metni seçip sağ menüyü açtığınızda “go to …” diyebilen bir şey Chrome. Ya da başka bir kaynaktan aldığınız adres içeren metni, omnibar’a yapıştırmak için sağ tıkladığınızda “paste” demenin yanı sıra “paste and go” da diyen bir şey. 

Yanlışlıkla koca bir pencereyi kapattığınızda, diğer açık kalan bir pencerede “reopen closed window” diyen bir şey. 

Bir güncelleme sonrası, teklif ettiği “relaunch”ı reddedip daha sonra pencereyi elinizle kapadığınızda, bu hareketi unutmayıp, sonraki açılışı, aynı adresleri açarak yapan bir şey Chrome. 

Bir sayfadaki arama kutusunu anlayan, oraya sağ tıkladığınızda “add as search engine” diyen ve o siteye özgü hızlı arama oluşturan bir şey Chrome.

OpenSearch’i destekleyen sitenin adını azıcık yazıp “tab”a bastığınızda o sitede bir kelime arayacak hâle dönüşen bir şey Omnibar.

Bir dosyaya bastığınızda size “open .. save” gibi saçma sorular sormak yerine “keep .. discard” gibi daha yapıcı şeyler soran, böylelikle bölünmeden dosyalar indirmenizi sağlayan bir şey Chrome.

10 dk.’da kendinize özel bir “extension” yazabileceğiniz şey Chrome.

Bir “extension”u çalıştırmak için yeniden başlatma gerektirmeyen bir şey Chrome.

Sürüm güncellemelerini “delta” mantığıyla çeken tasarruflu bir ampül bu Chrome.

“Settings” sayfasında fantastik bir arama hizmeti sunan yegane tarayıcıdır Chrome. 

Arkasındaki script motorunun performansından, tab’ların ayrı proses’ler hâlinde çalışmasından, Google hesabı üzerinden sync hizmetinden, çeviri teklifinden vs. bahsetmiyorum bile. 

Evet. Google Chrome, hayatımı kolaylaştıran irili ufaklı detaylarla dolu, tutuklu kaldığım bir ürün. Google’ın diğer ürünleri bir tarafa derim, Chrome bir tarafa.

Chrome’dan sonra demiştim ya… evet, Chrome’dan sonra başka bir tarayıcıda kendimi ümüğüm sıkılmış hâlde buluyorum. 

Chrome kullanın, ümük probleminiz kalmasın. 

4 Sene Önce Twitter Dutluktu

Twitter sitesine kayıt olmamın 4. sene-i devriyesi. 4 senede, 57 takipçi, 446 adet lakırtı. gayet başarısız, perişan bir profil.

Üzülmüyorum. Twitter akımından herhangi bir beklentim, menfaatim ya da gocuntum yok. Varsın, öyle bir dünya yürüsün.

Niye kayıt olduğumu da bilmiyorum. Bir teknoloji sitesinde denk gelip, deneme amaçlı girmiş olabilirim.

Peki Arap Baharı’nın dinamiti derecesine gelmiş bu dev teşkilata karşı neden bu kadar duyarsızım? Sosyal etkileri diğer tüm siteleri geride bırakmış bu mekanı neden kendime ait hissetmiyorum?

Psikolojik olarak etkileniyorum Twitter kaosundan.

Sanki, boş bir alanda, milyarlarca insan, kendi ana dillerinde ya da uydurdukları alt-dillerde ağzına geleni söylüyor. Ben de ortalarında durmuş, kulağımı hangisine çevirsem de dediğini anlasam diye çırpınıyorum. Düşünmesi bile ürküten bir mahşer provası!

Her nasıl ki televizyon, sürekli boş beleş yayın yapan kanallar arasında “zap” yaparak vakit geçirten bir makine ise, Twitter da internetin “zap” makinesi. Bir fark var tabi. Burada herkes kendi yayınını yapıyor. TV izlediğim zamanlar 30 kanalı idare edebiliyordum hadi de bu Twitter idare edilemez safhada.

Twitter’ın asıl büyük problemi de ana akışın gruplanamaması. 

Takip ettiğim teknik bir adamın yazdığı teknik bir laftan sonra, canı yoldaki kediye sıkılmış bir kankiyi duymak, nasıl bir kontext zıplamasıdır düşünün. Kişisel olarak mesajlaşmayıp, ahalinin önünde laflaşan abiler de buranın ayrı bir cilvesi.

Sevmiyorsan kullanma. TV yayıncıları da bunu diyor. Benim yayınlarımı izlememe özgürlüğün var. O zaman benim de azıcık eleştirme özgürlüğüm olsun.

Yalnız, 4 sene önce bu Twitter’ın dutluk olduğu doğru bir önerme.

Güle Güle Dennis Ritchie

70 yaşında hayata gözlerini yuman “eli öpülesi” bu zat, programlama dillerinin anası sayılabilecek C’nin mucidi.

Kendisi UNIX’in de önde gelen programcıları arasında.

Bell laboratuvarları sitesindeki sayfası hâlâ aktif.

Kendisine yaptıkları, yazdıkları ve bilgisayar bilimine kattıkları için fevkalade müteşekkiriz.

Bonus: The Guardian’dan bir yazı.

Google Cloud SQL

Google, enginlere sığmam taşarım demiş ve App Engine servisine yandaş olarak Cloud SQL’i duyurmuş

  • Veri tabanınızı biz yöneteceğiz, siz zahmet etmeyin
  • Yüksek güvenilirlik ve erişilebilirlik. Verinizi birden fazla veri merkezine replike ediyoruz.
  • MySQL ortamı. JDBC ve DB-API bağlantı desteği.
  • Yönetim paneli
  • App Engine ile fantastik entegrasyon

diyorlar.

Burada sunulacak MySQL’lere App Engine haricinden bağlanabilir miyiz bilemiyorum. Onu da yazsalardı. 

Var olan MySQL veritabanlarını da Cloud SQL’e yükleyebiliyormuşsunuz. Servisin ileride PostgreSQL türüne de destek vermesi kaçınılmaz.

Servis çoğu Google servisi gibi bedava. Çünkü beta. Beta, bedava, belki ileride parayla.

Ha bu arada App Engine de çok sevilen bir yer değil

Sümerler ve Parşomenler

Bazen düşünüyorum… acaba şu hâlimizi görse atalarımız, kağıdı icad etmeye gerek yok, işimize bakalım, ava çıkalım derler miydi? Kağıda yaptığımız nankörlüğün bini bin para. Daha geçen gün evden bir kamyon kağıt attık. Attığımız için adı “atık” oldu. 

Var gücümüzle “elektronik ortam”a geçelim diyoruz. Faturasını e-fatura olarak isteyenlere ufak armağanlar veriyorlar. Amazon’un e-kitap satışları, kağıda baskılı kitap satışlarını sollamış bile. 

Ademoğlu, kağıda karşı bir “soğuk savaş” devrinde.

Tamam kağıdı bir kenara bırakalım, yazıya geçelim. Bakın Sümerler, ne güzel eserler bırakmış:

Bu figürlerle sözü kalıcı hâle getirmişler. Yazı diye bir şeyi bulduklarından haberleri olmadan…

Biz de yazmaktan uzaklaştıkça, yazmak yerine karaladıkça, Sümer ruhuna bir figür daha yaklaşacağız anlaşılan.

Aslımıza rücu etmek gibi bir yola girmişiz. 

Yarının dünyasında, sıradan ders kitapları, hafta sonu gazetelerine iliştirilen reklam broşürleri bile müzede sergilenecek. O era’nın çocukları müze gezerken, bir zaman kağıda yazarlarmış diye hayretlere gark olacak belli ki.

Hiyeroglife geçtiğimiz gün, döngümüzü (fasit dairemizi) tamamlamış olacağız. Twitter, boşuna resim ekleme koymadı. Yarına hazırlık…