Anlık olaylar, fikirler, gudik ismail vs...
Sun, 30 Jun 2013
"İstesek Twitter'a erişimi engellerdik." Bu beyan Gezi Direnişi hakkında konuşan bir bakanın (hangisi olduğunu hatırlamıyorum ama farketmez, zira hepsi birbirine benziyor) beyanıydı. Bu ifadedeki sosyal ve politik çarpıklıklardan şimdi bahsetmek istemiyorum. Onun yerine beni asıl dehşete düşüren şeyden bahsedeceğim: İsteseler, gerçekten engelleyebilirlerdi.
1970'lerin başında, bugün İnternet dediğimiz devasa yapının altında yatan TCP ve IP protokolleri ilk defa ABD'nin çeşitli şehirlerindeki 4 (yazıyla: dört) bilgisayarı birbirine bağlamak için kullanıldığında en önemli hedeflerden biri sistemin bir veya birkaç bileşeninin zarar görmesi, erişilememesi (o yılların lügatına bakacak olursak: nükleer saldırıya uğraması) halinde sistemin geri kalan bileşenleri arasındaki iletişimin sürdürülebilmesi idi. İşte İnternet dediğimiz şeyi bu kadar başarılı kılan temel fikir bu "engellemelere karşı dayanıklılık" fikriydi. Sistem öylesine güzel tasarlanmıştı ki, İnternet'e bağlı herhangi bir bilgisayarın devre dışı kalması sadece o bilgisayar üzerindeki kaynaklara erişilememesi anlamına gelir. O kaynaklar kaybolsa dahi milyarlarca bilgisayarın oluşturduğu devasa ağ işlemeye devam edecektir. Daha net ifade etmek gerekirse: Bir gün Twitter'ı komple engelleyebilirler, ama Twitter engellense de siz İnternet'teki diğer web sitelerine erişmeye devam edebilirsiniz ve bu erişebildiğiniz sitelerden bazıları (büyük olasılıkla <küçük harf>tunnel tarzı bir ismi olacaktır) size dolaylı yoldan da olsa Twitter'daki içeriği sunmaya devam eder.
Peki nedir İnternet'i bu kadar dayanıklı kılan şey? Bu sorunun cevabı İnternet dediğimiz şeyin teknolojisinden çok o teknolojinin ortaya çıkarttığı dokusunda gizlidir. Eğer Google'a "Map of the Internet" yazarsanız karşınıza Internet'in çeşitli şekillerde hazırlanmış haritaları çıkacaktır. Bu haritaların ortak noktası ise haritalarda görebildiğiniz değil, göremediğiniz bir şeydir: İnternet'in merkezi. İnternet dediğimiz şeyi dayanıklı kılan işte budur. İnternet'in bir merkezi, yönetildiği tek bir nokta veya tek bir girişi yoktur. İnternet dünya üzerindeki milyarlarca bilgisayarın birden fazla şekilde birbirine bağlanması ile ortaya çıkmış karman çorman bir yapıdır. İşte bu sebeple İnternet kapatılamaz, engellenemez. Siz bir defa o karman çorman yapıya kendinizi dahil etmenin bir yolunu bulduğunuz anda bağlandığınız noktadan İnternet'in köşe bucak her noktasına erişebilirsiniz.
İnternet'in temelini oluşturan pek çok protokol de işte bu dağınık, karman çorman yapıya uyum sağlayacak şekilde tasarlanmıştır. Web'de gezmek için kullandığınız HTTP, e-posta göndermek için kullandığınız SMTP, anında mesajlaşma için (büyük olasılıkla farkında olmadan) kullandığınız XMPP gibi protokollerin hepsi merkezsiz çalışacak şekilde tasarlanmıştır. İşte bu sayede bir gün gelip de çok sevgili devletimiz, bizim iyiliğimiz için, Google'ın bütün servislerine erişimi keserse GMail kullanıcıları ile iletişimimiz sekteye uğrayacaktır, evet. Ancak yine de diğer e-posta sağlayıcılarının kullananlar (veya benim gibi kendi e-posta sunucusunu işletenler) arasında iletişim hiçbir kesintiye uğramadan devam edecektir.
Peki Twitter (veya Facebook veya Google Plus veya...) bütün bunlara nasıl bağlanıyor? Çok basit. Twitter Gezi Direnişi süresince pek çok insanın birincil haber kaynağı haline geldi. Kendi adıma ben olan bitenin çoğunu oradan takip ettim. Peki ya Twitter bir şekilde ulaşılamaz olsaydı? O zaman bundan zarar gören sadece Twitter kullanıcılarının bir kesimi değil, tüm kullanıcılar olurdu. Basitçe: Twitter'a erişimin kısmen engellenmesi gibi bir ihtimal olamaz. Twitter'a yapılacak herhangi bir müdahale tüm Twitter kullanıcılarını etkileyecektir. Kısacası: Twitter, İnternet veya e-posta kadar dayanıklı bir teknoloji değildir.
Twitter nasıl işler? Özünde Twitter'ın altında yatan teknoloji oldukça basittir. Dünyanın bir (veya birkaç) noktasında kümelenmiş halde binlerce bilgisayar bulunur. Bu bilgisayarlar dünyanın her yanından Twitter'a gelen HTTP isteklerini alır, cevap verirler. Kısacası Twitter'a erişimi engellemek istiyorsanız tek yapmanız gereken bu birkaç bin bilgisayara erişimi engellemektir. Böyle yazınca bu sayı çok yüksek gibi görünse de aslında bu birkaç bin IP adresini bulduktan sonra engellemek gayet kolaydır.
Peki bu problem nasıl çözülür? Çok basit, Twitter'ı federe çalışan bir sistem haline getirerek. Bu sayede her kullanıcı istediği sunucu üzerinde kendi Twitter'ını çalıştırabilir, bir kullanıcı tarafından diğerine bir bilgi iletilmesi gerektiğinde bu doğrudan iki Federe Twitter sunucusu arasındaki iletişimle yapılabilir. Tabii takdir edersiniz ki bu fikri ilk bulan kurnaz ben değilim. Halihazırda bunu sağlayan bir teknoloji mevcut. OStatus protokolü ve StatusNet yazılımı tam olarak bu bahsettiğim federal yapıyı oluşturmak için tasarlanmıştır. Bu protkol ve onu implement eden yazılımlar sayesinde isteyen her kullanıcı kendi mikro blog sitesini çalıştırabilir, veya istediği herhangi bir servis sağlayıcı üzerinden bu hizmete ulaşabilir (aynen e-posta'da olduğu gibi). Bu sayede, bir servis sağlayıcının herhangi bir sebepten servis dışı kalması halinde ağı oluşturan diğer kullanıcılar kendi aralarında iletişime devam edebilirler.
Günümüzde Twitter tarzı ortamların ne kadar yoğun bir biçimde ciddi haber alma kaynaklarına dönüştiği göz önüne alındığı zaman bu kaynağın bağımsız çalışabilmesinin önemi daha net bir şekilde kendini göstermektedir. Bu noktada özgür ve dağıtık protokollerin yaygınlaşması kullanıcıların özgürlüklerini garanti altına alacaktır. Bu nedenle yapılması gereken en önemli şeylerden biri insanların bu konuda bilinçli hareket etmeye başlamasıdır. Bu nedenle üşenmeyin, OStatus destekleyen Mikroblog sistemlerine destek verin.
Not: FreedomPi ne oldu diyenler için, kurulumunu bir script haline getirdim, GitHub deposundan edinebilirsiniz.
Not 2: Bugünlerde bir diğper güzel dağıtık protokol olan SIP ile uğraşıyorum. En kısa zamanda SIP ile dağıtık, güvenli ve bedava iletişim konulu bir blog yazısı bekleyin.
Wed, 22 May 2013
Uzun zaman önce, uzak bir galakside (Aralık 2012, Dolapdere, İstanbul) evdeki Raspberry Pi'ımın media center olarak çok meşgul olması sebebiyle yeni bir RPi siparişi vermeye karar vermiştim. Element 14 gibi satıcılar beni Türkiye distribütörlerine yönlendirince ve o distribütörler de "Raspberi mi? Evet, sipariş üzerine getiriyoruz, şimdi söylerseniz gümrük falan derken iki aya kalmaz elinizde olur" gibi cevaplar verince alternatif kaynaklardan edinmeye karar vermiştim. ModMyPi uzun zamandan beri bildiğim, hatta bir kere küçük bir elektronik aparatı bile sipariş ettiğim bir siteydi, oradan sipariş vermeye karar verdim.
Siparişimin tam noel dönemine de denk gelmesinden olacak sipariş müthiş bir hızla postaya verilmesine rağmen uzun bir süre elime ulaşmadı, sanıyorum gümrük ya da öyle bir şeylere takıldı. Ben de zaten sonra başka meşgalelere dalınca unuttum gitti.
Aylar sonra (tam olarak söylemek gerekirse Nisan ayında) bu siparişi hatırladım. ModMyPi müşteri hizmetlerine bir mail atıp durumu anlattım. Hemen geri döndüler, normalde siparişin ulaşmaması durumunda haberdar etme süresi iki aymış. Yani iki ay içinde siparişim ulaşmadı diye kontağa geçmezseniz sipariş yanıyormuş. Bu nedenle ücreti iadesi gibi bir yola gidilemeyeceğini, ancak iyi niyetlerinin bir göstergesi olarak bana sistemlerinde siparişimin bedeline denk bir indirim kuponu tanımladıklarını söylediler (hayatımda ilk defa benim adımla tanımlanmış bir indirim kuponum oldu bu sayede). Teşekkür ettim ve konu orada kapandı.
Geçtiğimiz hafta elime iki tane yeni RPi geçmesi ile yine kaşındım ve kuponumu kullanıp birkaç parça aksesuar almaya karar verdim. Siparişimi geçtikten bir hafta sonra paketim elime ulaştı. Eve gelip paketi açtığımda bir kere daha şaşırdım. Ben kablolu klavye sipariş etmiştim ama paketin içinden daha üst bir model olan kablosuz klavye mouse seti çıktı. Bu noktada şark kurnazlığına yatıp hiç uyandırmayabilirdim fakat özellikle daha önceki problemimi çözerken ne kadar iyi niyetli davrandıklarını da göz önüne alınca içimin rahat etmeyeceği kesindi, bir mail atıp böyle bir hata olduğunu, aradaki farkı ödemek istediğimi söyledim. Bugün yazdıkları cevapta önce siparişimi hatalı gönderdikleri için özür dilediler, ardından da eğer istersem ürünü değiştirebileceklerini, veya eğer kablosuz seti kullanmak istersem ek bir ücret ödememin gerekmediğini söylediler.
Yukarıda anlattığım olaylardan sonra, en azından teşekkür etmek adına bu olanları yazmak, insanlara duyurmak istedim. Gördüğüm kadarıyla RPi topluluğunun etrafında gerçekten bu topluluğun Hacker kültürünü benimsemiş, müşterilerine sadece bir tüketici değil, ekosisteminin bir parçası olarak yaklaşan bir grup ticari oluşum ortaya çıkmaya başlamış. Doğrusu bunu görmek beni çok memnun etti. Umarım ileride bu tip, dahil olduğu topluluk ile aynı değerleri paylaşan şirketlerin sayısı diğer topluluklar içinde de artar.
Wed, 05 Sep 2007
Öncelikle mesleki deformasyon nedir bir bakıp, ardından okumaya devam ediyoruz.
Geçenlerde bir arkadaşım ile tartışırken muhabbet eninde sonunda "elmalar ile armutları karşılaştırıyorsun"a geldi takıldı (ki İsviçreli bilim adamları'na göre ülkemizde bir muhabbetin bu noktaya gelme süresi ortalama 13 dakika 46 saniyeymiş.). Bunun üzerine muhabbetin rotası değişti. Kendisine elma, armut veya karpuz gibi cisimlerin karşılaştırılabilirliklerini açıklamaya başladım. Detaylara girmeye gerek yok. Sonuçta savunmam tüm meyve, sebze ve (yenebilir olmak şartıyla) hayvanların ağırlık, hacim, fiyat gibi bazı ortak özellikleri olduğuna ve karşılaştırma kriteri olarak bu ortak özellikleri ele alındığında rahatlıkla karşılaştırılabilir olması üzerineydi. Sonuçta 3 elma ve 3 karpuz farklı türlerden olmalarına karşın ikisinin ağırlığını karşılaştırmak hiç zor bir iş değildir.
Peki mesleki deformasyon bunun neresinde? Mesleki deformasyon bu cümleleri kurarken aklımın arka planında dolaşan fikirlerde tabiiki. Arka planda ne mi dolaşıyordu? Nesne yönelimli programlama, elma ve armut'un aslında aynı temel sınıftan türetilmiş olması gibi şeyler. Tabii bunların yanında eşitliğin tanımı (equal? ve eq? farkı) gibi şeyler de aklıma gelmedi değil. Sanıyorum gereğinden fazla mesleki deformasyona uğradım. Domates, salatalık yetiştirme çağına geldim sanırım artık.
Aslında bu girdiyi Haskell ve Type Class kavramına bağlamayı planlıyordum ama önce domates fidesi almak için yola çıksam iyi olacak gibi. Bir ara Type Class'lardan da inşallah bahsederim.
Mon, 14 May 2007
Haftasonu biraderim Ultimate Spider Man adlı oyunu oynayamamaktan yakınıyordu. Oyun açıldığı anda bilgisayar kendisini resetliyordu. İşletim sistemi daha bir gün önce kurulduğu, internete sadece çok güvenli şartlar altında bağlandığı ve abuk subuk yazılımlar barındırmadığı için bir virüs vs... olmadığından da emindim. Zaten dinlenmek için sadece bir haftasonum olduğundan fazla uğraşmayıp konuyu rafa kaldırdım.
Ne var ki biraderim benim kadar kolay pes etmedi ve uğraşıp sorunu çözdü. Bulduğu çözüm ise gerçekten insanı hayretlere düşüren cinstendi. Şimdi bir adım geriye atıp durumun bir analizini yapalım:
Donanımsal sorunu olmadığını ve içinde virüs vs... barınmadığını varsaydığımız bir bilgisayar var. Bu bilgisayar belli bir uygulamayı çalıştırınca kendini bir anda resetliyor. Şimdi, donanım mimarisi hakkındaki kısıtlı bilgim bana diyor ki Intel işlemcilerinde, korumalı modda çalışan sıradan bir uygulama bir anda bilgisayarın kendi kendine reset atmasına sebep olamaz. Bu durumda sorun daha alt seviye bir noktada olmalı. İşletim sistemi çekirdeğinde böyle önemli bir sorun olsa herhalde ortaya çıkar, yaması yapılmış olurdu tahmininden hareketle sorunun bir sürücü sorunu olduğunu düşünüyorum. Sistem yeni kurulmuş ve en güncel sürücülerle donatılmış olduğuna göre bu kapalı kodlu sistemde bundan sora yapabileceğimiz tek şey oturup yam beklemek.
Ya da... Google'da biraz arama yapmak. O saatlerde uyuduğum için biraderim nerelerde ne aradı bilmiyorum. Fakat sabah olduğunda beni benden alan çözüm hazırdı. Bilgisayarın kendisini resetlememesi için gereken şey oyunu açmadan önce vlc veya ona benzer bir uygulama ile bir ses dosyası çalmaya başlamaktı. Bir kere ses dosyası çalmaya başladıktan ve siz oyunu açtıktan sonra gerisi normal çalışıyordu ama ilk açılışta buji görevi görerek ilk ateşlemeyi yapmaktı.
Bunun üzerine daha yorum yapabileceğimi sanmıyorum. Bakalım daha neler göreceğiz.
Fri, 26 May 2006
Hep böyle başlar...
- Abi MPEG var, DivX var... Kim ne yapsın ki WMV'yi?
- Yok abi MP3 varken OGG Vorbis varken bu WMA denen şeyi kim, neden kullansın ki?
Şimdi de Windows Media Photo diye bir icatla çıkıyorlar karşımıza. Çok değil, 4-5 yıl içinde WMP destekli fotoğraf makineleri ve yazıcılar, haliyle DRM korumalı WMP gibi dosya biçimleri göreceğimizden şüphe ediyorum. En kısa zamanda WMP'ye alternatif olabilecek, kaliteli, iyi sıkıştırma yapan bir resim dosyası formatı (lütfen PNG demeyin, 24bit fotoğraflarda kendisinin pek iyi sıkıştırdığını sanmıyorum) ortaya çıkıp özellikle Windows ile iyice entegre olmazsa dosya biçiminden bağımsız kalmış tek alanı da kaybedeceğimizden korkuyorum.