24 August 2015

Bash Script İçerisindeki Arşiv Dosyasını Açmak


Geçen gün elime bash script bir dosyası gelmişti. Yaklaşık ilk 200 satırı klasik bash script dosyasıydı, ancak geri kalanında binary bir şekilde duran bir arşiv (tar.gz gibi) dosyası olduğunu gördüm. Binary şekilde bash script dosyasının içine gömülen bu arşivin açılması gerekliydi.

Şu komutlar ile binary kısımdaki arşiv açıldı:

match=$(grep --text --line-number '^ARCHIVE:$' DOSYA_YOLU | cut -d ':' -f 1)
archive=$((match + 1))
tail -n +$archive DOSYA_YOLU | tar -xzvf - -C .

Not: DOSYA_YOLU yazan yerleri değiştirmeyi unutmayınız.



18 August 2015

DevOps Newsletter #18.08.2015


Ceph Notes http://cephnotes.ksperis.com/ Keywords: #ceph #howto The definitive list of lists (of lists) curated on GitHub https://github.com/jnv/lists Keywords: #lists #opensource Announcing Docker Toolbox https://blog.docker.com/2015/08/docker-toolbox/ Keywords: #docker #toolbox Gitfs – Version controlled file system http://www.presslabs.com/gitfs/ Keywords: #git #filesystem #vcs How and why we use DevOps checklists https://blog.serverdensity.com/how-and-why-we-use-devops-checklists/ Keywords: #devops #checklist #howto Your single AWS account is a serious risk […]

11 August 2015

Red Hat'te Linux Çekirdeği Geliştiriciliği


Geçtiğimiz kış Outreachy'de Linux çekirdeği üzerinde, Red Hat'te çalışan Rik van Riel'in danışmanlığında staj yaptım.

Staj bitiminde Rik istersen Red Hat'te birkaç pozisyona başvur, ileride seninle birlikte çalışmak isterim dedi. Aslında birkaç sene daha Türkiye'de kalma kararımı Google görüşmesinden sonra vermiştim ama Red Hat'te çalışma düşüncesi de geri çevirilemez bir şeydi, o yüzden kabul ettim.

İlk önce jobs.redhat.com adresinde ilgimi çekebilecek olan işlere baktım. Rik deneyimli çalışan aradıklarını söyleseler bile, yeni başlayan pozisyonunda da iş bulabiliriz dedi. Open Stack, Sanallaştırma ve Arm işlemciler için çekirdek geliştirimi olarak 3 farklı pozisyona başvurdum. Bu üç pozisyon üzerinde de hiç deneyimim yok ancak daha uygun pozisyonlar bulamadım. Zaten onlar da deneyimi olmayan eleman alacaklarını biliyorlardı.

Open Stack ekibi İstanbul'dan taşınman gerekir, bu gibi durumlarda deneyimsiz geliştriciler yerine kıdemli olanları tercih ediyoruz ama sen şansını deneyip mülakatlara gir dedi. Sonrasında kıdemli elemana daha çok ihtiyaçları olduğunu belirttiler, diğer görüşmeleri yapmadık.

Sanallaştırma ekibi aynı zamanda Rik'in çalıştığı ekip. KVM ve Qemu'yu geliştiriyorlar. Sanallaştırma pozisyonu için öncelikle başlangıç görüşmesi yaptık. 2 hafta sonrasına gün belirleyip ilk mülakata girdim. En fazla teknik soruyu ilk mülakatta aldım, sorular zor değildi. Glassador'dan okuduğum kadarıyla Red Hat için soruları zor olmuyor yazıyordu. İlk görüşmede spinlock, zamanlama gibi temel çekirdek kavramlarından sordu. Yeni bir konu olsa da gerçek zamanlı algoritmalar üzerinde yorum yapmamı istedi. Üniversitede en sevdiğim dersler, staj projemde neler yaptığım, bir yamayı kabul ettirene kadar en fazla kaç sürüm gönderdiğim, stajda kabul edilen yamaların çekirdeğin kaçıncı sürümünde olduğu, Rik'le nasıl çalıştığım, kodlamaya nasıl başladığım .. şeklinde devam eden staj sürecimin her evresinden sorular aldım. Görüşme sonunda bir sonraki adıma geçtiğimi öğrendim \0/.

Sonraki adım 5 farklı mühendisle görüşmeyi içeren bir paket gibi. Bu görüşmelerin hepsi aynı günde olmak zorunda değil ve her biri yaklaşık 50 dk sürüyor.

Red Hat görüşmeleri Google'ınki kadar zor değil ve görüşme zamanlarını istediğimiz kadar geniş bir süreye yayamıyoruz. İki görüşme arasındaki süreyi Google pek önemsemezken, Red Hat'teki arkadaş senin yerine başka birini işe alabilirler, bu yüzden görüşmelere ne kadar erken girsen o kadar iyi demişti.

Diğer görüşmeler çok az teknik soru içeriyordu. Genelde stajda neler yaptığım üzerine konuştuk. Bir gün iki görüşmeye birden girdim. O akşam pek yorucuydu diyebilirim. Birde Google görüşmelerinde bu kadar heyecanlanmadım. Sanırım 3. görüşmeden sonra normal heyecanda konuşabildim.

Son görüşmeyi Rik'in içinde bulunduğu takımın yöneticisi olan bir kadınla yaptık. Tüm görüşmeler içindeki tek kadındı. Görüşebileceğim en yüksek mercideki kişiydi.

Son görüşme çok eğlenceli geçti. Bir iş görüşmesinden ziyade bir arkadaşımla konuşuyormuşum gibiydi. Teknik sorular yok denecek kadar azdı. Çanakkale'den, şimdiki işimden, neden çekirdek üzerinde çalıştığımdan, Türkiye'den taşınma durumumdan konuştuk.

Bu görüşmeden bir iki hafta sonra Red Hat'te işe alındığımı öğrendim, Brno'da çekirdek geliştiricisi olarak çalışacaktım.

Birkaç aydır pek iyi değildim, rahatsızlığım zirveye ulaştığında doktora gittim. Şimdilik çok ciddi bir rahatsızlığım yok ancak İstanbul'dan taşınmaya yetecek kadar da iyi değilim, ülkeyi değiştirmek zaten zor bir durum .. Ben bu kararsızlıklar içerisindeyken Red Hat'e de bunu söyledim, taşınmam 4 ay sürer, ben birkaç ay daha geciktirsem gitmeyi derken Red Hat'ten gelen maaş teklifi çok az oldu. Birde taşınma masraflarını zaten karşılamıyorlar. Bir iki firmadan duyduğum kadarıyla taşınma konusunda çok yardımcı olan yerler de var ..

Brno netten gördüğüm kadarıyla pahalı bir yer değil, ancak Red Hat'in €1k'nın biraz altında maaş teklif etmesine şaşırdım. Mezuniyetten sonra bir seneye yakın bir zaman evden çalıştım ve bu zamanı çok da fazla karşılık almayarak geçirdim. Başarılı projelere bu şekilde katkı vermek bir süreliğine benim için kabul edilebilir bir şey. Ancak bunu yurtdışındayken ve sağlığım da şuan için çok iyi değilken kabul etmedim.

Aslında Red Hat kabul etmediğimde evden çalışmayı teklif etti, kabul ettim ancak sonrasında yeni başlayanların bir sene boyunca ofiste çalışması gerektiğini ve ilk yıldan sonra evden çalışma izinlerinin olduğunu söyledi. Neticede maaş ve rahatsızlığım nedeniyle kabul etmemiş oldum. İk'daki arkadaşa Brno'da çalışmayı İstanbul'da birkaç sene çalıştıktan sonra olsaydı kabul ederdim, dedim. Daha sonraki bir zamanda eğer çalışmak istersem kendisiyle iletişime geçmemi istedi.

Bugünlerde kendime iyi bakıp, daha sağlıklı yaşayarak hayatımı düzene oturtmaya çalışıyorum. Zaten öğrenciyken de yaşama şeklimi değiştireceğim diyerek kendime bu sözü vermiştim. Ben bu sözü tutmaya başlamadan önce, vücudum bana uyarıyı verdi :p. Aslında çok önemli şeyler değil ama çok geç saatlere kadar uyanık kalmamak, az tuzlu yemek, sağlıklı beslenmeye çalışmak gibi okul temposundan sonra daha normal koşullarda çalışmayı düşünüyorum :).

Yurtdışına yine giderim, sonraki zamanlarda karşıma daha iyi koşullarda başka fırsatlar çıkar diye ümit ediyorum.

07 August 2015

XX. Türkiye'de İnternet Konferansı ve Akademik Bilişim 2016


Türkiye'de İnternet Konferanslarının yirmincisi bu yıl 1-3 Aralık 2015 tarihlerinde İstanbul Üniversitesinde yapılacak.

On sekizinci Akademik Bilişim Konferansı ise 3-5 Şubat 2016 tarihlerinde Aydın Adnan Menderes Üniversitesinde düzenlenecek.

Bilişim camiasının en büyük iki buluşmasını takvimlerinize şimdiden işaretleyin de sonradan keşke haberim olsaydı demeyin.

04 August 2015

Easy-RSA 3 ile kişisel sertifika otoritemizi (CA) kuruyoruz


CAEasy-RSA3, Linux komut satırından çalışan, PKI CA (kök sertifika otoritesi) oluşturulmasını ve yönetilmesini sağlayan bir araç. OpenVPN ile birlikte dağıtıldığından, tanınan bir araç. OpenSSL komut satırı aracının üzerine yazılmış betiklerden oluşmakta. Başlıca özellikleri;

– Kök sertifika oluşturma ve imzalama
– Sertifika istek ve imzalama (request and sign)
– Alt kök sertifika yönetimi ( sub-CAs )
– Sertifika iptal listesi oluşturma ( CRL )

Saydığımız bu özelliklerin kullanım örnekleri aşağıdaki gibi;

Açık anahtar altyapısının (PKI) oluşturulması

Easy-RSA‘nin kullanılabilmesi için öncelikle gerekli klasör yapısının oluşturulması gerekmekte. Farklı klasör isimleri ile birden çok PKI altyapısının yönetilmesi mümkün, varsayılan üst klasör adı PKI. Altyapının ilk kurulumunu aşağıdaki komut ile tamamlayalım;

./easyrsa init-pki

Bu komut her çalıştırıldığında tüm yapı sıfırlanıyor.

Kök sertifikanın oluşturulması

Sertifika isteklerini (CSR) imzalayabilmek için bir sertifika otoritesine (CA) ihtiyacımız var. Kurduğumuz PKI için bir CA anahtar çifti oluşturalım;

./easyrsa build-ca

Sorulduğunda güçlü bir parola girmemiz önemli, PKI yapısında en yüksek güvenlik gerektiren bileşen CA gizli anahtarıdır. Belirlediğimiz bu parolayı daha sonra sertifika imzalarken kullanacağız. Bu adım tamamlandığında bir açık anahtarımız (ca.crt) ve bir gizli anahtarımız (ca.key) oluşturulup PKI klasör yapısındaki yerlerine kopyalanır.

İmza istediğinin CA’ya gönderilmesi

İmzalama isteğinin nasıl oluşturulduğunu “SSL Sertifikası Nasıl Üretilir?” başlıklı yazımda açıklamıştım. Gelen isteklerin CA‘ya iletelim ve sonrasında bu iletilen imzalama isteğini onaylayalım;

./easyrsa import-req istekDosyasi.req istekAdı

İsteğin ayrıntılarını görüntüleyelim;

./easyrsa show-req istekAdı

İsteği imzalarken kullanılabilecek üç farklı parametre bulunuyor. Bunlar CLIENT, SERVER ve CA. İhtiyacımıza uygun sertifika türünü belirleyerek imzalama işlemini tamamlayalım;

./easyrsa sign server istekAdı

Bu adımdan sonra imzalı sertifika PKI yapısındaki ISSUED klasörünün altına kopyalanır. İmzalayacağımız sertifikada CN (common name) alanı tanımlı olmalı.

İmzalanan sertifikanın iptal (revoke) edilmesi ve CRL’nin yayınlanması

Çeşitli nedenlerden dolayı, imzalanan bir sertifikayı iptal edelim;

./easyrsa revoke istekAdı

İptal (revoke) edilen sertifikaları CRL (certificate revoke list) dosya türünde yayına hazır hale getirelim;

./easyrsa gen-crl

Anahtar çifti ve istek oluşturma

Easy-RSA ile tek seferde anahtar oluşturmak ve imza isteğinde bulunmak mümkün. Yukarıda açıkladığım gibi bu isteği CA ile imzalayarak otorite imzalı sertifikayı elde ederiz.

./easyrsa gen-req istekAdı

 



02 August 2015

Bilgisayarlar ve Hackerlar


Bilim ve Gelecek’in 127. sayısında yer alan Sol ve Bilişim başlıklı yazısında Can Başkent önemli fakat yeterince tartışmadığımız konulara dikkat çekiyordu. Başkent, Wikileaks hakkındaki kuşkularını dile getiriyor ve RedHack’in kullandığı yöntemlerin tam tersi amaçlar için de kullanılabileceğinin altını çiziyordu. Tüm bunlara itirazım yok. Ama ben yazının ilk alt başlığına takılmıştım [1]: “Bizi hackerlar mı kurtaracak?”

 

Kurtarmak iddialı bir söz. Ama bilişim teknolojileri, şirketlerin ve hükümetlerin niyetleri dışında kullanılabilecekse, bunu geçmişte olduğu gibi gelecekte de ancak hackerların sağlayabileceğini düşünüyorum. Burada hacki ve hackerları, medyanınkinden farklı, gerçek ve tarihsel anlamıyla ele alıyorum. Dolayısıyla, “Şimdi Hacker Kiralamak Mümkün!! Kız/Erkek Arkadaşınız ya da Eşinizin Facebook Hesabını Kırmak mı İstiyorsunuz?” (bkz.  http://turk-internet.com/portal/yazigoster.php?yaziid=50174) gibi haberlerde yer alan, yasallık derecelerini göre farklı renkte (siyah, gri, beyaz) şapkalar giydirilen kişi ve eylemleri tartışmıyorum. Bir diğer deyişle, başkalarının bilgisayarına izinsiz girmeyi ya da gizli bilgilere erişimi basitçe hack olarak nitelendirmiyorum. Hack, etkinliğin sonucundan çok kendisiyle ilgili. İnternet’ten indirilen bir programla şifre kırmak değil ama bu şifre kıran yazılımı geliştirmek hacktir. Wikileaks örneğinde ise hack belgelerin ele geçirilmesinin (bu belgelerin bir kısmı olağan yöntemlerle sızdırılıyor ya da iletiliyor) yanında belgelerin güvenli bir biçimde dağıtılması için de gereklidir. Medyadaki haberlerin aksine hacki tanımlayıcı fiil kırmak değil, en ince ayrıntısına kadar anlamak ve değiştirmektir.

Hackerları bu bakış açısıyla anlatan başlıca iki kitap var. Birincisi, daha yeni olmasına rağmen Türkçe baskısı daha eski bir kitap. Pekka Himanen’in Hacker Etiği adlı kitabı. Himanen, Weber’in meşhur protestan etiği ile hackerların işe yaklaşımını karşılaştırıyor ve hacker etiğinin iş hayatına yıkıcı bir yaklaşım getirdiğini öne sürüyor. İkinci kitap ise çok daha eski (ilk baskısı 1984 tarihinde yayımlanmış) olmasına rağmen ancak 2014 yılının sonunda Türkçe’ye çevrilen Steven Levy’nin Hackerlar: Bilgisayar Devriminin Kahramanları (Hackers: Heroes of the Computer Revolution) kitabı. Levy’nin Hackerlar’ı, teknoloji tarihi meraklılarının mutlaka okuması gereken bir kitap. Çünkü bu tarihin kahramanları IBM, HP ya da Intel gibi şirketler değil, günümüzde birkaçı dışında çoğunun adı kamuoyunda pek bilinmeyen hackerlar.

Levy’nin Hackerlar kitabı teknolojiyi sadece kullanmaktan öte anlamaya çalışan, ilk tasarımcılarının amaçlarından farklı biçimde araçları değiştiren, bunu yaparken de zevk alan insanların öyküsünü anlatıyor. Birkaç istisna dışında çoğu büyük devrimci ideallere sahip olmayan, eğlendiği ve kendini bilgisayar üzerinde gerçekleştirebildiği için hackleyen programcılar. Hacker olarak adlandırılan kişiler, hacker etiğini benimsedikleri için hacklemiyorlar. Tersi daha doğru, hackledikleri için hacker etiğini içselleştirebilen insanlar. Himanen’in Hacker Etiği ile karşılaştırıldığında Levy’nin Hackerlar‘ı bu ilişkiyi çok daha başarılı bir şekilde yansıtıyor.

Bu yazıda, Levy’nin kitabında yer alan dönemleştirmeye bağlı kalarak hackerları, hackerların araçlarıyla olan ilişkilerini, kendilerindeki ve bilgisayar dünyasında yarattıkları değişimi özetlemeye çalışacağım. Levy, hackerları üç dönem altında inceliyor. Birinci dönemde (1950’ler ve 1960’lar), hack teriminin nasıl çıktığı anlatılıyor. Bu dönemde ilk hackerlarla karşılaşıyoruz. İlk bilgisayarları anlamaya ve onu yeniden programlamaya çalışan genç adamlar hacker kültürünün de temellerini atmaktadır. İkinci dönemde (1970’ler) ise kişisel bilgisayarların çıkışını görüyoruz. Kişisel bilgisayarlar IBM’in ya da HP’nin laboratuvarından çıkmayacaktır. Levy’nin donanım hackerları diye adlandırdığı, teknolojiyi sunulandan farklı biçimde yeniden tasarlayan insanların ürünü olacaktır. Donanım hackerlarının bir kısmı politik motivasyonlarla hareket etmesine karşın büyük bir kısmı sadece eğlenmektedir. Ama hackleri ortak bir amaca yöneliktir: Bilgisayarları büyük laboratuvarların dışına çıkarıp evlere getirmek. Bu dönemde Bill Gates Microsoft’un, Stephen Wozniak da Apple’ın temellerini atacaktır.

Üçüncü dönem ise 1980’lerdeki oyun hackerlarına ayrılmış. Bu dönemde, hackerların piyasayla tanışmasındaki yaşanan sorunlar dikkat çekici. Piyasalaşmayla beraber hacker kültürünün dağılmaya başladığı, şirket sahiplerinin hackerların garipliklerine eskisi kadar hoşgörüyle yaklaşmadıkları görülecektir.

Kitabın 1984’teki ilk baskısı Stallman’ın öyküsünün anlatıldığı Gerçek Hackerların Sonuncusu başlıklı bölümle sona eriyordu. Ama bugün biz bunun bir son değil, yeni hacker kuşağının başlangıcı olduğunu biliyoruz.

İlk Hackerlar

Hackerların öyküsü 1950’lerin sonunda MIT’de başlamaktadır. Levy hack teriminin MIT öğrencilerinin detaylıca tasarladığı eşek şakalarından gelmiş olabileceğini düşünmekte. Fakat terim daha sonra, “yenilik, üslup ve teknik ustalık” içeren etkinlikleri takdir etmek için kullanılacaktır.

Himanen gibi hackerlığın bilgisayar dışı alanlarda da gerçekleştirilebileceğini iddia edenler olsa da hackerlığın gelişimi bilgisayarların gelişimiyle paralellik göstermektedir. Bir şeyin nasıl çalıştığını iyice öğrenmeden rahat edemeyen meraklılar her zaman olmuştur. Ancak bilgisayarın değişime açık olması bu meraklılara, kendilerini bilgisayar üzerinde gerçekleştirme imkanı vermiştir. Bu anlama ve bilgisayarın potansiyellerini keşfetme süreci bir yandan bilgisayarlarını zenginleştirirken diğer yandan da hacker etiğinin temellerini atmaktadır.

Bilgisayarların henüz küçülmediği ve yaygınlaşmadığı bu dönemde bilgisayarlara yaklaşabilmek dahi sıkıntılıdır. IBM 704’ün tuşlarına basmak ve sonucu verirken çalışmasını seyretmek izne tabidir. Milyon dolarlık bu bilgisayarlara ancak rahip denilen kişilerin erişim hakkı vardır. Rahiplere veri aktaran ve rahip yardımcısı olarak adlandırılan kişiler bile bilgisayara doğrudan, izinsiz erişememektedir. Levy (2014) rahip ve yardımcısı arasında aşağıdaki gibi bir ritüelden bahsetmektedir:

Rahip Yardımcısı: Ah makine, acaba benim programımı çalıştırmak ve belki bana hesaplama sonucu vermek için sana sunduğum bilgileri kabul eder misin?

Rahip (makine adına): Deneyeceğiz. Söz vermiyoruz. (s. 6)

Hackerların gözünde rahipler ve yardımcıları, bilgisayara erişim hakkını sınırlayan bürokratlardır ve bundan dolayı hackerların şakalarının ilk (ama son değil!) kurbanları olacaklardır. Burada hacker etiğinin en temel ilkelerinden biri doğmaktadır: Bilgisayarlara erişim sınırsız olmalıdır. Daha sonra da bilgisayarlara erişimi sınırlayan kişilere ve yasalara öfke duyacaklardır. Keyfi kurallarla bilgisayarlara erişimlerini kontrol eden bürokratları (şimdi rahipler, daha sonra şirketler ve hükümetler) kendilerinin yaratıcı gücünü engellemek isteyen kişiler olarak algılayacak ve otoriteye mesafeli yaklaşacaklardır. Bu bakış açısı İnternet’in gelişiminde ve tasarımında da belirleyici olacaktır.

Aslında IBM 704 teknik olarak da hack etkinliği için yeterince uygun değildir. Veriler bilgisayara yüklendikten sonra herhangi bir etkileşim olmaksızın topluca işlenmektedir (batch processing). Rahipler olmasa, hackerlar belki IBM 704’ü istedikleri gibi yeniden tasarlayabilecektir. Daha sonra transistörle çalışan ilk bilgisayarlardan biri olan TX-0’ın gelişiyle hackerlar hem IBM 704’ün bürokrasisinden daha rahat bir ortama kavuşurlar hem de etkileşime açık bir bilgisayara sahip olurlar. Şimdi hackerların bilgisayarı kullanmalarına ve programlar üzerinde değişiklik yapmalarına izin verilmektedir. Ama yine de bilgisayarı diğer kullanıcılarla paylaşmak, belirli saatlerde kullanmak için randevu almak zorundadırlar. Kendilerine TX-0 hackerları diyen bu gençler, hack için yaşam tarzlarını değiştirirler. Bilgisayar 24 saat çalışmaktadır ve hackerlar rahatsız edilmeden çalışabilmek için gece yarısından sonra bilgisayarın başına üşüşmektedirler. Gün içinde de bilgisayara yakın bir yerde pusuya yatıp randevusu olan birinin gelmemesini beklemektedirler.

Hackerlar, dışarıdan dayatılan bir amaç için program yazmamaktadır. Bir şirket için çalışmamaktadırlar. Geceli gündüzlü yaptıkları işin üniversite eğitimleri ile de ilgisi yoktur. Hatta bir kısmı, bilgisayar tutkuları nedeniyle hiç mezun olamayacaktır. Ellerinde TX-0 adlı bir oyuncak vardır ve herkes onu zenginleştirmek için sistem programı yazmaya koyulmuştur. Programları daha az kodla yazabilmek için tutkulu bir yarış vardır. Daha az satırla, zekice yazılmış bir kod hackerların takdirini toplamaktadır. Eğer bir hacker belirli bir işi yapan bir kod yazmışsa, diğerleri tekerleği yeniden icat etmek yerine o kodu iyileştirmeye ve zenginleştirmeye çalışmaktadır. Bunun için de yazılım kodları her zaman herkesin erişebileceği ortamlarda saklanmaktadır. Hackerların “tüm enformasyon özgür olmalıdır” ilkesi hackerların pratiğinin ta kendisidir. Bu maddi olmayan dünyada özel mülkiyete bir meydan okumadır. Hackerlar, bilgisayarlara erişebilmek ve onu değiştirebilmek için gerekli durumlarda maddi dünyada da özel mülkiyeti çiğnemekten çekinmeyecektir. Örneğin bir bilgisayar parçasına ya da bilgisayarı takıp sökmek için alete gereksinim varsa odaların ve dolapların kilitleri açılmakta ve gerekli olan neyse alınmaktadır. Onlara göre bu hırsızlık değildir (age):

Bir hacker için kapalı bir kapı onur kırıcıdır; kilitli bir kapı ise düpedüz bir hakarettir. Aynen bilginin bilgisayardan açıkça ve şık biçimde nakledilmesi ve aynen yazılımın serbest şekilde yayılması gibi, hackerlar insanların dünyanın işleyiş biçimini çözmesi ve geliştirebilmesi için arayışlarını destekleyecek dosya ve araçlara erişim izni olması gerektiğine inanıyorlardı. Hackerın üretmek, araştırmak ve düzeltmek için bir şeye ihtiyacı varsa mülkiyet hakkı gibi saçma kavramları umursamazdı (s. 106).

Hackerların potansiyelinin farkına varan ve kendini hackerlara yakın hisseden MIT çalışanı Jack Dennis, TX-0 hackerlarından oluşan bir sistem programlama ekibi kurar. Ekipte, Alan Kotok, Bob Sanders, Peter Samson ve Bob Wagner gibi isimler vardır. Hackerlar saatte 1,60 dolar alacaktır. Ama tam olarak bir ücretli emek ilişkisinden bahsedilemez. Hackerların para kazanmak gibi bir amaçları yoktur. Bilgisayarı kullanmak için para verecek kadar tutkuludurlar; bu yeni işleri derslere devam etmemelerinin bahanesi olacaktır sadece.

Hackerların TX-0 macerasından sonraki yeni oyuncağı DEC (Digital Equipment Corporation) şirketinin MIT’ye ücretsiz verdiği PDP-1’dir. PDP-1 de TX-0 gibi etkileşime açık ama daha ileri bir bilgisayardır. Hackerlar bu sefer PDP-1’e yönelirler, TX-0 için geliştirdikleri yazılımları PDP-1’e uyarlarlar ve yeni yazılımlar geliştirirler. DEC diğer PDP-1 kullanıcılarına vermek üzere bu yazılımları istediğinde telif ücreti istemek hackerların aklının ucundan bile geçmeyecektir. Yazılımın paylaşılmasından doğal ne olabilir ki?

DEC, PDP-1’i ücretsiz verirken bunun karşılığını yazılım olarak alabileceğini hesaplayıp hesaplamadığını bilemem. Ama sonraki yıllarda şirketlerin stratejilerinden biri hackerlara kendilerini özgürce ifade edebilecekleri çalışma ortamı sunmak ve meraklarını tetikleyerek onların yaratıcılıklarından faydalanmak olmuştur. Meydan okuyucu bir problem ya da iş yoksa hackerların ilgisini çekmek de zordur. Örneğin PDP’lerden sonra kullanmaya başlayacakları ITS (Incompatible Timesharing System) çok kullanıcılı ve parolasız bir sistemdir. Herkes birbirinin verisine erişebilmektedir. Çünkü sistemde kullanılacak bir parolanın, kilit açma uzmanı olan hackerları daha çok tahrik edeceğinden hiç kimsenin kuşkusu yoktur. ITS’yi çökertmek de son derece kolaydır: Sistemi Yok Et (Kill System) yazılması yeterlidir. Sistemi çökertmek bu kadar kolayken hiçbir hacker buna tenezzül etmeyecektir.

Hackerlar, hacker etiğini daha sonra gittikleri üniversitelere ve laboratuvarlara taşırlar. Bilgisayarlara erişimin sınırsız olmasını, enformasyonun özgür akışını ve otorite karşıtlığını savunan hacker etiği, hackerların kendilerini gerçekleştirebilmesi için gerekli koşulları sağladığı için bu yeni yerlerde de kendilerine taraftar bulacaktır. Kullanılabilecek yazılımların miktarının ve bilgisayarların işlevlerinin artması bilgisayarların değerini de artırdığından bilgisayar şirketleri de bu süreçten memnundur.

Donanım Hackerları

İlk hackerlar, dünyaya kapalı laboratuvarlarında yeni bir dünyanın temellerini atmaktadır. Bilgisayar başında hoşça vakit geçirmelerinin yanı sıra bilgisayarların insanların yaşamını iyileştireceğine inanmaktadırlar. Buna karşın politikaya karşı ilgisizlerdir. Aslında bu duruma fazla şaşırmamak gerekir. Söz konusu insanlar uykusuzluktan yıkılana dek bilgisayar başında program yazmakta, uyuyup uyandıktan sonra tekrar bilgisayar başına oturmaktadır. Bazıları akademik hayattan tamamen kopmuştur, bilgisayar dışında bir sosyal hayatları yoktur.

1970’lerde ortaya çıkan donanım hackerları ise bilgisayarların insan yaşamını iyileştireceğine inanmakla kalmayıp bunun yollarını aramaktadır. Donanım hackerları, bilgisayarların sadece üniversitelerdeki ayrıcalıklı bir kesimin erişimine açık olmasını doğru bulmamaktadır. Bilgisayarlar, muhasebe hesapları dışında, daha yararlı alanlarda da kullanılabilmelidir. Bu hackerlardan bir kısmı son derece politiktir. Örneğin, MIT hackerları çalışmalarının Savunma Bakanlığı’nca finanse edilmesinden rahatsızlık duymamaktadır. Gerekçeleri de Savunma Bakanlığı’nın finansmanına rağmen savunma sanayine yönelik herhangi çalışma içinde olmamalarıdır. MIT laboratuvarını ziyaret eden, hackerların ustalığına hayran kalan Efrem Lipkin adlı donanım hackerı ise “finans kaynağı ve bu kontrolsüz sihirbazlığın” (s. 183) nihai sonucunu görebilmektedir. Vietnam Savaşı’nda en sevdiği oyuncakların yok edici silahlar haline geldiğini gören Lipkin, bilgisayarları çok sevmesine rağmen onların yapabileceklerinden nefret ettiğini söylemektedir.

Lipkin’in kötümserliğinin aksine radikal solcu Lee Felsenstein gibi bazı donanım hackerları ise bilgisayarların yeni ve özgürlükçü bir yaşam tarzının habercisi olduğunu savunmaktadır. İkinci nesil hackerlardan politik olanları, başka bir dünya için, insanlara bilgisayar kullanmayı ve programlamayı öğreterek, insanların bilgisayarla oynayıp eğleneceği mekanlar oluşturarak bilgisayarları yaygınlaştırmaya çalışırlar. Bu doğrultuda, Bob Albrecht ve George Firedrake tarafından çıkarılan Halkın Bilgisayar Ortaklığı (People’s Computer Company) adlı tabloidin ilk sayısının kapağında bilgisayarları farklı amaçlar için kullanma çağrısı yapılmaktadır: (http://www.digibarn.com/collections/newsletters/peoples-computer/):

Bilgisayarlar genellikle

İnsanlar için değil insanlara karşı kullanılır

İnsanları özgürleştirmek için değil

Kontrol etmek için kullanılır

Tüm bunları değiştirme vakti

İhtiyacımız olan şey…

Halkın Bilgisayar Ortaklığı

Etliye sütlüye karışmayan MIT hackerları ile karşılaştırıldığında donanım hackerları çok daha politiktir. Gerek Lipkin gerekse de Felsenstein gibi isimler istisna değildir. Donanım hackerları üzerinde 1968’in ve Vietnam savaşının etkileri hissedilmektedir. Fakat teknoloji donanım hackerları için de bir eğlence ve kendini gerçekleştirme aracıdır. Gordon French ve Fred Moore tarafından kurulan Ev Yapımı Bilgisayar Kulübü çok sayıda bilgisayar meraklısının buluşma yeri haline gelir. İnsanlar toplantıda çeşitli bilgisayar parçalarını, elektronik devreleri ve parçaları birleştirerek kendi yaptıkları bilgisayarlar hakkında fikir alışverişinde bulunurlar. Bu dönemin gözde bilgisayarı MITS’in (Micro Instrumentation and Telemetry Systems) Altair’idir. Moore Altair’in önemini şu sözlerle anlatır ( s. 237):

  1. Diğer şirketleri evde kullanılacak düşük maliyetli bilgisayarlara yönelik talep konusunda uyaracak
  2. Teknik bilgi boşluğunu doldurmak üzere yerel bilgisayar kulüpleri ve hobi grupları oluşturulmasını sağlayacak
  3. Bilgisayarların gizemi ortadan kalkacak

Ev Yapımı Bilgisayar Kulübü’ndeki hack etkinliğinin zemininde de gerekli araçların ortak mülkiyeti vardır ve MIT’dekine benzer, aynı ilkeleri içeren bir hacker etiği oluşmaktadır. Otoriter kurallara karşıtlık daha güçlü ve politiktir, kişisel bilgisayarlar buna karşı bir hamle olarak değerlendirilmektedir. Ev Yapımı Bilgisayar Kulübü’nün önemli isimlerinden Felsenstein gibi politik hackerlar, kamu yararı için yeteneklerini kullandıklarını ve hacker ideallerini topluma yaymaya az kaldığını düşünmektedir.

Ancak aynı dönemde hackerlara yabancı ve karşıt bir kültür ortaya çıkmaktadır. O zamanlar genç ve yetenekli bir programcı olan Bill Gates, MITS Altair 8800 için geliştirdiği BASIC dili yorumlayıcısını kopyalayarak paylaşan bilgisayar meraklılarını yerden yere vurmaktadır (age):

Peki bunu neden yapıyorsunuz? Meraklıların çoğunun bildiği gibi, çoğunuz yazılımları çalıyorsunuz. Donanım para ödenmesi gereken bir şey, ama yazılımın paylaşılması gerekiyor. Bunun üzerinde çalışan kişiye ödeme yapılmış, yapılmamış kimin umurunda? (s. 257)

Kapitalist mülkiyet ilişkileri açısından Gates haklıdır. Ama şimdiye kadar hack için gerekli tüm araçları paylaşmış olanlar için anlaması, daha doğrusu kabullenmesi güç bir durum vardır. Örneğin Ev Yapımı toplantılarının müdavimlerinden olan Dan Sokol BASIC programını toplantıda ücretsiz dağıtmış ve tek bir şart koymuştur: Programı alanlar sonraki toplantıya programın iki kopyasını getirip dağıtacaktır. Gündelik pratikleri nedeniyle yazılımın paylaşılabilir (ve paylaşılması gereken) bir şey olduğunu o kadar içselleştirmişlerdir ki Gates’in serzenişini anlamakta zorluk çekerler.

Apple’ın mucidi Steve Wozniak’ın durumu ise biraz daha farklıdır. Wozniak, Bill Gates gibi dışarıdan değildir. Ev Yapımı toplantılarının düzenli bir katılımcısıdır. Kulübün politik tartışmalarıyla pek ilgilenmemekte, teknik ilerlemeleri takip etmek için toplantılara katılmaktadır. Para kazanma amacı taşımaksızın bir bilgisayar yapmaya çalışmaktadır. Sadece diğer hackerlar gibi eğlenmek ve yaptığını arkadaşlarına göstermek istemektedir. İlk yaptığı bilgisayar panelinde, herkesin iki çiple yaptığını tek çiple yapar. Bunu da şöyle açıklar: “Ben bu işe estetik amaçlarla giriştim ve kendimi zeki hissetmek hoşuma gidiyordu.” (s. 284)

Wozniak’ın geliştirdiği bilgisayar panelini görünce çok heyecanlanan Steve Jobs ile ortak olurlar. Apple adını verdikleri bilgisayarın reklamında şunlar yazmaktadır: “felsefemiz, cihazlarımız için yazılımı ücretsiz veya minimum maliyetle temin edebilmektir.” Bir hacker olarak Wozniak, hacker etiğine bağlılığını devam ettirmekte, geliştirdiği cihazın yapısının açık olmasına ve yeni yaratımları engellememesine dikkat etmektedir.

Wozniak Apple’ı, HP (Hewlett-Packard) şirketinde çalışırken ve yalnızca hoşça vakit geçirmek için tasarlamıştır. HP’den ayrılıp kendi şirketinde çalışmaya başladığında durum değişir; artık amacı para kazanmaktır. Şimdi Wozniak gibi birçok hackerın kendi şirketi ve kendi sırları vardır. Artık Ev Yapımı Kulübü, bilginin özgür aktığı bir paylaşım yeri değildir.

Felsenstein ve yoldaşları, hacker etiğini MIT laboratuvarlarından dünyaya taşımış ve kişisel bilgisayarın temellerini atmışlardır. İdeallerini kısmen gerçekleştirmişlerdir. Ama hareket kendi içerisinden karşıtını doğurmaktadır.

Oyun Hackerları

1980’lerin başında hackerların şirket sahiplerine ya da ücretli çalışanlara dönüşmeleri sadece oyun yazılımı sektörü ile sınırlı değildir. Ancak o yıllarda, Levy’nin üçüncü nesil hackerlar diye adlandırdığı hackerlar yazılım dünyasının yıldızlarıdır. Bu yıldızlar, öncelleri gibi yazılım geliştirmekten zevk alan ve zekice kodlar yazan hackerlardır. Ancak MIT laboratuvarlarında ya da Ev Yapımı Kulübü’nde olduğu gibi bir topluluk bilincinden yoksundurlar.

Oyun hackerlarını acı sona doğru sürükleyen de topluluk bilincinin yokluğu olmuştur. Önceki hackerların arasındaki dayanışma ve ortaklaşa mülkiyet yerini bireyciliğe ve yüklü telif haklarına bırakmıştır. Bazı hackerlar kendi şirketlerini kurmuşlar, kendileri gibi hackerları istihdam etmişler ve kısa sürede başarı elde etmişlerdir. Fakat şirketin büyümesi ve çalışan sayısının artması sonrasında bununla baş etmekte zorlanırlar. Kimisi piyasadan çekilirken daha kararlı olanları şirketlerinin başına profesyonel yöneticileri getirir. Bunun sonucunda artan bürokrasi ve kar güdüsü hackerları var eden çalışma koşullarını da ortadan kaldıracaktır. Aldıkları yüksek telif ücretlerine rağmen para üçüncü nesil hackerlar için birincil önemde değildir. Fakat artık laboratuvarlarda, gündelik hayatın karmaşasından uzakta çalışan hackerlar yerine oyun yayıncılarıyla pazarlık etmek zorunda kalan ve bunda hiçbir zaman başarılı olamayan hackerlar vardır.

Ayrıca Sierra On-Line adlı şirketi kuran ve kendisi de eski bir programcı olan Ken Williams gibi patronlar hackerların şirketlerdeki konumunu sınırlandırmak isteyeceklerdir. Usta, yaratıcı ama disiplin yönünden zayıf hackerlar yerine yaratıcılık yönü zayıf olmasına karşın daha disiplinli programcıları tercih edeceklerdir. Yeni dönemdeki çalışma biçimi şöyle olacaktır:

Yapılan numaralar ne kadar zekice, kırpma işlemleri ne kadar seçkin olursa olsun, [yazılım] hackerlara zevkle okumaları için sunulmayacaktı. Sadece ürün piyasaya sürülecekti. Görünmezlik. İnsanlar programları ürün olarak alacaklar, program derinlemesine gizlenmiş olacak ve aynen müzik çalan plaklardaki yivleri yapan makine kadar önem verilmeyecekti.

Programcıların isimleri bilinmeyecekti. Hackerların egoları ile uğraşmayacaklardı. [Programcılara] Sadece istedikleri oyunların listesini verecekler ve seri üretime alacaklardı (s. 473).

Önce oyun hackerlarının telif hakkı oranları gittikçe düşürülür; oyun paketlerinde artık isimleri geçmemeye başlar. Sonra hackerlar yerlerini emek gücünü satan programcılara bırakmaya başlarlar.

Eski Hackerların Sonuncusu: Richard Stallman

Dünyada bunlar yaşanırken MIT laboratuvarında da işler iyi gitmemektedir. Hackerlar dağılmış, bazıları şirketler adına çalışırken bazıları da kendi şirketlerini kurmuştur. İş, tüm yaşamlarını kapladığından, teknik konulara (hack etkinliğine) zaman ayıramamaktan yakınmaktadırlar; 20’li yaşlarındaki sorumsuz gençler değillerdir.

Daha kötüsü bir zamanların sıkı dostları şimdi rakip şirketlerdedir. Geçmişte enformasyonun özgür akışını savunan hackerlar, şimdi ticari sırlar nedeniyle bilgisayarlar üzerine sohbet edemez, fikir alışverişinde bulunamaz hale gelmiştir.

1971’den beri MIT’deki birinci nesil hackerlarla beraber çalışmış, hacker etiğini yaşamış Richard Stallman üzgündür; eski güzel günlerini aramaktadır. Levy, 1984’te Stallman’la görüştüğünde kendisini gerçek hackerların sonuncusu olarak ifade etmektedir. Dış dünyanın baskısı MIT’de her geçen gün daha çok hissedilmektedir. MIT’ye yeni gelen programcılar, programcılıkla farklı ortamlarda ve koşullarda tanıştıklarından paylaşımı değil, telif haklarını olağan karşılamaktadır.

Levy, kitabının 2010 yılı baskısında itiraf ettiği gibi “dünyanın yakında “gerçek hackerların sonuncusu”nu böcek gibi ezeceğini” sanmaktadır. Kitabı, 1984 yılında okumuş olsaydım “Tüh, yazık olmuş hackerlara” derdim. Ama hackerların sonuncusu, o yıllarda hayatının hackini, GNU’yu, başlatıyordu.

***

John Holloway, Kapitalizmde Çatlaklar Yaratmak adlı kitabında varılan yerden çok, yolda kurulan toplumsal ilişkilerin önemine vurgu yapar:

Acil hedeflerin ve bunlara ulaşılmasının (ya da ulaşılamamasının) ötesinde, yaratılan ya da tazelenen farklı toplumsal ilişkiler arkalarında çok önemli izler bırakır (s. 57)

İlk hackerları değerlendirirken bunu unutmamak gerekir. Stallman’a direnme ve GNU projesini başlatma gücü veren hackerların MIT’de yarattığı hacker etiğidir. İlk hackerlar, bilgisayarların henüz tasarım ve hedefler konusunda sınırlanmadığı bir dönemde teknolojinin farklı bir yönde gelişiminin önünü açmış, bilgisayarların IBM 704’te olduğu gibi yığın işlemlerle sınırlanmaması gerektiğini göstermişlerdir. Hackerların daha sonra piyasa ilişkileri içinde dağılıp gitmelerine karşın hacker etiği başka üniversitelerde bilgisayarların ve en büyük bilgisayar İnternet’in gelişiminde etkili olmuştur. Bugün bir slogan haline gelen, “Enformasyon (bilgi) özgür olmalıdır”, bir slogandan öte onların pratiklerini ifade etmektedir.

İlk hackerlar, muhtemelen bunu fazla hesaplamadan, hack tutkuları nedeniyle yapmıştır. İkinci nesil hackerlardan, kişisel bilgisayarın öncülerinden Lee Felsenstein gibiler ise neyi, niçin yaptığının oldukça farkındadır. Felsenstein’in en çok etkilendiği kitaplardan biri Ivan Illich’in Şenlikli Toplum‘udur:

Araçlar, toplumsal ilişkilerin özünü oluşturur. Birey, eylem içinde, aktif biçimde hükmettiği veya pasif biçimde boyun eğdiği araçları kullanarak, yaşadığı toplumla ilişki kurar. Araçlarına hükmettiği ölçüde dünyayı kendi anlamlarıyla donatabilir; araçlara boyun eğdiği ölçüde de aracın biçimi onun kendine ilişkin düşünce ve inançlarını belirler. Şenlikli araçlar onları kullanan herkese, kendi düş gücünün ürünleriyle çevresini zenginleştirme fırsatını en geniş ölçüde veren araçlardır. Endüstriyel araçlar ise, onları kullananlardan bu olanağı esirger ve başkalarının anlamı ve beklentilerini bu araçların tasarımını yapanların belirlemesine izin verir (s. 33).

İlk hackerların bilgisayarları şenlikli, düş gücüne ve dolayısıyla gelişime açık araçlardır. İkinci nesil hackerlar ise şenlikli araçları kullanarak kişisel bilgisayarlarını kendileri tasarlamışlardır. Felsenstein’in düşü kişisel bilgisayarın şenliği devam ettirecek bir araç olmasıydı. Üçüncü nesil hackerlar döneminde ise yazılım sektöründeki metalaşma ve telif hakları, şenliği sonlandırmaya, “başkalarının anlamı ve beklentilerini bu araçların tasarımını yapanların belirlemesine” çalışmıştır.

Neyse ki özgür yazılım hareketi buna izin vermedi.

Şenlik, GNU/Linux’ta, Diaspora*’da (http://diasp.eu), mesh ağlarda, Raspberry Pi’de (https://www.raspberrypi.org/) devam ediyor…

 

Notlar

[1] Alt başlık yazar tarafından değil, Bilim ve Gelecek dergisi tarafından atılmış. Yazının aslında (http://www.canbaskent.net/politika/105.html) bu alt başlık bulunmamaktadır.

Kaynaklar

Holloway, J (2010). Kapitalizmde Çatlaklar Yaratmak, çev. B. Özçorlu, B. Doğan, E. Canaslan ve S. Özer. Otonom Yayıncılık

Illich, I. (2011). Şenlikli Toplum, çev. A. Kot, Ayrıntı Yayınları,

Levy, S. (2014). Hackerlar: Bilgisayar Devriminin Kahramanları, çev. E. Aslan ODTÜ Yayıncılık



Screen Komutu Kullanımı


Screen komutu, linux sunucunuza ssh bağlantısı yaptıktan sonra birden fazla shell oturumları oluşturmanızı sağlar. Screen komutu kullanarak yeni bir shell oturumu açtığınızda, screen arkada yeni bir process oluşturur, eğer siz oturumdan Ctrl + a + d kombinasyonu ile  ayrılsanız (detached ) bile screen komutu arkada oturumu çalıştırmaya devam eder ve daha sonra sizin aynı oturuma bağlanmasınıza olanak sağlar.

Screen komutu en çok, uzun sürecek bir scriptin terminal kapansa bile sonlanmamasını sağlamak için kullanılmaktadır.

Kurulumu

RPM bazlı sistemlerde, screen programının paketi dağıtımların kendi repolarında mevcut olduğu için ekstra bir repo kurmadan screen programını kurabilirsiniz.

# yum install screen

Kullanımı

# screen

diyerek yeni bir shell oturumu oluşturuyoruz.

Oluşturduğumuz bu oturumdan ayrılmak ( deatached ) istediğimizde kombinasyonunu kullanırız.

Bu sayede ilk ssh bağlantısı yaptığımız shell oturuma düşeriz ve ekranda [ deatached ] yazısı çıkar.

screen komutu ile açılmış oturumları görmek için;

# screen -list
There are screens on:
20364.pts-0.gokhan (Detached)
20382.pts-0.gokhan (Detached)
2 Sockets in /var/run/screen/S-root.

Daha önceden oluşturduğumuz screen oturumuna bağlanmak için screen -list komutundan aldığımız screen id si ile aynı oturuma tekrar bağlanabiliriz.

# screen -a -r 20364

Oturumlar arasında geçmek için,

CTRL + a + n : Bir sonraki oturuma bağlanır.

CTRL + a + p : Bir önceki oturuma geri döner.

Eğer oluşturduğunuz oturumu o anda ekranda kitlemek isterseniz;

CTRL + a + x;

Screen used by root <root>.
Password:

kombinasyonu ile ekranı kitlemiş olursunuz ve kullanıcı şifresi girilmesi istenecektir.

Oturumu sonlandırmak için, exit diyerek screen oturumunu sonlandırmış olursunuz.

# exit

Screen Kullanıcı Kılavuzu.

 



26 July 2015

Belçika-Lüksemburg-Prag Gezisi – 5. gün Lüksemburg


Minik şehir-ülke Lüxemburg’a günübirlik gezimiz için sabah erken saatlerde kalkıp metro ile Brüksel Merkez tren istasyonuna gittik. İstasyondaki danışma görevlilerinden nereden bilet alacağımızı ve en yakın tren saatini öğrendik. Yurtdışı biletleri normal gişelerden değil Travel Center denen istasyon içindeki ayrı bir ofisten satılıyormuş. Tren bilet fiyatları 2 kişi gidiş-dönüş 68 euro idi. 8:37’de kalkan InterCity …

Belçika-Lüksemburg-Prag Gezisi – 4. gün Brüksel


Otel odamızdaki yatakların çok rahat olmasından ve bizim de çok yorgun olmamızdan dolayı sanırım Brüksel’deki ilk sabah geç kalktık. Otel kahvaltı vermediği için kahvaltıyı dışarda yapmak için hazırlanıp çıktık. Otelden çıkınca hemen yakındaki Boulevard Anspach üzerinde bulunan Paul‘e girdik ve kahvaltı için kruvasan ve börek benzeri bir şeyler alıp oturduk, içecek olarakta kahve. Paul başarılı …

Belçika-Lüksemburg-Prag Gezisi – 3. gün Ghent


Aslında planımız Brugge’den trenle Brüksel’e geçmekti. Sabah kalkıp odayı topladık sonra da kahvaltıya indik, standart Avrupa kahvaltısından (ben sadece kruvasanlarını seviyorum) sonra otelden ayrılıp tren istasyonuna gitmek için Markt meydanında önce magnet aldık daha sonrada otobüse bindik. 10 dakikalık yolculuk sonrası tren istasyonunda inip Brüksel için bilet aldık. Bilet fiyatı kişi başı 14 euro ve …

Belçika-Lüksemburg-Prag Gezisi – 2. gün Brugge


Brugge’de 2. günümüze oda fiyatına dahil olan otel kahvaltımızla başladık. Sabah kalkıp otelin kahvaltı için ayrılmış bölümüne geçtiğimizde neredeyse oteldeki en genç çiftin biz olduğunu farkettik. Genelde, sanırım yakın olduğu için, İngiliz turistler vardı. Kahvaltıları ne kötü de ne de iyi. Çaya hasret kaldım diyebilirim. Genelde yumurta ve jambon yiyorlar. Kahvaltıdan sonra kendimizi sokaklara attık. …

Belçika-Lüksemburg-Prag Gezisi – 1. Gün Brugge


Flibco shuttle otobüsleriyle yaklaşık 2 saatlik bir yolculuk sonrasında Brugge kentine ulaştık. Aradaki yol oldukça düzenli, bakımlı ve her yanı yeşil. Flibco yolcularını Brugge tren istasyonunun arka kısmındaki “Kiss & Ride” alanında bırakıyor. Tren istasyonundaki küçük bir marketten içecek alıp şehir haritası aradık ancak ilginçti Turizm bilgi ofisi kapalıydı. Bina kapısındaki güvenlik görevlilerine harita almak …

Belçika-Lüksemburg-Prag Gezisi


Yaz aylarının yaklaşmasıyla birlikte izin planlaması yaparken yurtdışına nereye gideceğimizi kararlaştırmaya çalışmak en zor kısım oldu. Önce Yunanistan, sonra Budapeşte ve Viyana daha sonra ise Almanya fikirleri kafamızdaydı, daha sonra ise Pegasus ‘un bülten maillerinden birinde Brüksel’e uçuş biletlerinin ucuz olduğunu farkettik. Ancak yıllık iznim yetmediği için bayramı birleştirmek zorundaydım, birleştirince de fiyatlar yükseliyordu. Bende …

12 July 2015

Etkileşimli tahtalarda GNU/Linux


Fatih projesi ülkemizin eğitim hayatını çokça değiştirdi. Etkileşimli tahtalar ve tabletler neredeyse bütün sınıflara girdi. Hem bir bilişimci hem de bir baba olarak projede benim de eleştirdiğim çok şey var ama şimdi yazmak istediğim konu başka.

Hepimizin malumu fatih projesinde kullanılan işletim sistemi çok önemli. Bir kısmı hayatlarındaki ilk bilgisayarı görecek olan çocukların karşısına özgür olmayan bir işletim sistemi çıkarmak ve bütün eğitim hayatları boyunca onu karşılarında tutmak onları "lisans bedeli, krekli yazılım, kırılmış yazılım, izinsiz kullanım, virüs, antivirüs" kavramlarıyla büyütmek demek olacaktır. Debian, Pardus veya Android ise sunacağı teknik olanakların yanında çocuklarımızın "özgürlük, sınırsız kullanım, özelleştirebilme, paylaşım" gibi kavramlarla büyümelerine imkan verecektir.

Her ne kadar etkileşimli tahtalarda windows ve linux yüklü olsa da açılış ekranında işletim sistemini dokunarak seçmek mümkün olmadığından pratikte sadece windows kullanılıyor. İşin doğrusu bir usb klavye takarak linux tarafı seçilse bile üzerinde neredeyse hiç bir eğitim uygulaması bulunmadığından kullanılacak halde de değildi.

Geçen ay TÜBİTAK'ta katıldığım bir toplantıda etkileşimli tahtalar için hazırlanan KDE arayüzünü inceleme fırsatı buldum. Hiç kolay beğenmeyen biri olarak Pardus ekibinin üzerinde çalıştığı bu arayüzü çok başarılı bulduğumu söylemeliyim. Milli Eğitim Bakanlığının etkileşimli tahtalarda GNU/Linux kullanmayı tercih etmesi ülkemizin önünü açacak büyük bir hamle olacaktır diye düşünüyorum.







04 July 2015

İnadına Aşk adlı yerli dizide Özgür Yazılım


Fox'ta yayınlanan İnadına Aşk adlı yerli diziden kareler: GNU tisörtleri, Python'lı replikler, şirket kurtaran kadın yazılımcı, tmux, vim, htop, shell ekranları vs.






systemd ile Sistem ve Servis Yönetimi


Linux Akademi blogunda yayınladığım systemd makalesini buradan da yayınlıyorum.

Bilindiği gibi RHEL, Oracle, SuSe, Debian gibi major bir çok linux dağıtımı eski SystemV init sistemi yerine default olarak systemd kullanmaya başladılar. systemd’nin sadece açılışlarda servislerin inşaasını üstlenen init sistemine oranla daha komplike olması, servisler için paralelizasyon, mount ve automount, journal, ve system state snapshot desteği gibi bir dizin özellik barındırmasından dolayı kimilerince Unix filozofisine aykırı olduğu gerekçesi ile (“do one thing and do it well”) hoş karşılanmasa da yukarıda ismi zikredilen dağıtımlar tarafından default olarak kullanılmaya başlaması nedeniyle sıkça karşılaşılan ve dinamiklerinin bilinmesinde fayda olan bir sistem.


Devamini okuyun: systemd ile Sistem ve Servis Yönetimi


Cagri Ersen tarafından Syslogs adresinde yayınlandı. | Permalink | Etiketler:



21 June 2015

389 Directory Server (LDAP) Kurulum ve Yapılandırması


Bu makaleyi daha önce BilgiO / Linux Akademi Blogu‘nda yayınlamıştım. Aynı şekilde burada da yayınlıyorum.

Linux ve açık kaynak kod teknolojiler barındıran altyapılar için, merkezi kimlik denetimi işleri için bir ldap dizin servisi ihtiyacı olduğu zaman OpenLDAP dahil kullanılabilecek bir kaç alternatif var. Multi Master replikasyon desteği, yüksek performans, LDAPv3 uyumluluğu gibi güzel özellikleri ve kullanışlı bir arayüze sahip olmasından dolayı “389 Directory Server” alternatifler arasında iyi bir tercih olmaktadır. RHEL tarafından geliştirilmekte olan 389-DS hemen her tür operasyonu da online olarak gerçekleştirebilmesinden mütevellit, üretim ortamları için de çok uygun bir directory serverdır.

Bu yazıda, tüm özelliklerine http://directory.fedoraproject.org/docs/389ds/FAQ/features.html adresinden erişelebilecek olan 389 Directory Server’ın, CentOS 6.6 sürümü üzerinde nasıl kurulacağı; temel ve genel güvenlik ayarlarının yapılarak nasıl servisin nasıl devreye alınabileceğine değineceğim. Yazının sonraki bölümlerinde ise Master & Slave replication ve SSSD üzerinden SSH servisinin ve SUDO entegrasyonlarından bahsedeceğim.


Devamini okuyun: 389 Directory Server (LDAP) Kurulum ve Yapılandırması


Cagri Ersen tarafından Syslogs adresinde yayınlandı. | Permalink | Etiketler: ,



13 June 2015

Türkiye’de İnternet Sansürü Hakkında


Ükemizde İnternet Sansürü 2007 öncesine gitsede kurumsal ve yasal olarak 5 Mayıs 2007 de kabul edilen 5651 nolu yasa ve aynı yıl kabul edilen yönetmelikle 2007 kasımında yürürlüğe girdi. Sivil toplumunun, bir avuç hukukçu dostlarımızın çabalarıyla yıllardır sansürü geriletmek için çaba harcıyoruz.

En baştan 5651’in Anayasamıza, Hukukun evrensel ilkelerine, Avrupa İnsan Hakları sözleşmesine aykırı olduğunu söylüyoruz. Son zamanlarda, Anayasa Mahkememiz bu iddilarımıza hak vererek, twitter ve youtube yasaklarını kaldırdı, torba kanuna konulan bu konuda madeleri iptal etti. Hükümetimiz, bunlar olmamış gibi, kapsamı genişleterek, yetkileri bakanlıklara da genişleterek, yargı kararı 72 saat arkadan gelebilecek, doğrudan yasaklama kararı verecek düzenlemeyi torba kanun içinde gerçekleştirdi.

Bunun yanında, kişisel verilerin korunması yasası, 2010 Anayasa değişikliğin en önemli kazanımları arasında görünsede bir türlü yaşalaşmadı. Devlet kurumları, kendilerine sınırsız yetki vermek istiyor, sivil ve özerk denetimden kaçmak istiyor. Buna paralel olarak, tüm internet trafigini, https trafigi dahil izlemek, “deep packet inspection” yoluyla her şeyden haberdar olmak isteği öne çıkıyor. Türk Telekom bu yönde bir ihaleye çıktı. Yasalara aykırı bu isteği denetleyen bir makam yok maalesef.

Türkiye’nin uzun süren ve sürecek gözüken İnternet Sansürü hikayesini anlatan uzun bir yazıyı Marmara Üniversitesinden Melih Kırlıdoğ hocayla bir anlatmaya çalıştık. Resmin genel bir özetini, tarihi gelişme içinde vermeye çalıştık. İngilizce yazıyı

http://policyreview.info/articles/analysis/internet-censorship-turkey
adresinde okuyabilirsiniz. İngilizce özeti de ekliyorum.

Turkey passed an internet censorship law in 2007 with the declared objective of protecting families and minors (Akdeniz, 2010). It established a unit within the regulator BTK (Information and Communication Technologies Authority) responsible for imposing bans and blocks on websites based on nine catalogue crimes defined by other national laws (Akgül 2008, 2009a, 2009b). As of May 2015, 80,000 websites were banned based on civil code related complaints and intellectual property rights violations, reports the independent website Engelliweb. Blocking decisions rendered by penal courts are enforced even when they are based on grounds other that the nine catalogue crimes – such as terrorism, organised crime and crime against the state. Passed in parliament while ignoring the pleas of NGOs and of the internet sector, the Internet Law No. 5651 has since been used to temporarily ban popular platforms such as Blogger, Last.fm, Vimeo, WordPress and YouTube. At the same time, some blocking decisions by the courts (e.g., Google and Facebook) were not enforced by the authorities. Since its introduction, the European Court of Human Rights has ruled that Law No. 5651 (Council of Europe, 2011) is against the European Convention on Human Rights (ECHR, 2013). This article provides an overview of internet censorship and its social background in Turkey.



09 June 2015

Fortigate SSLVPN’de DNS-suffix problemi


Fortigate 100D SSLVPN cihazlarında, kullanıcıya IP adresi, DNS adreslerini gönderebilirken istediğimiz DNS domain bilgisinin gönderilemediğini farkettik. Meğer gönder/gönderme seçeneği cihazın GUI özellikleri arasına eklenmemiş. Ancak aynı ayarı cihaza SSH ile bağlanarak komut satırından (CLI) yapmak mümkün. VPN clientlara DNS-suffix domain göndermek için aşağıdaki işlemleri yapmanız yeterli olacaktır. senna: ~ $ ssh admin@side-door.gurcanozturk.local admin@side-door.gurcanozturk.local's password: config …

04 June 2015

Yeni İnternetimiz Nasıl Olacak?


6 Nisan günü Twitter’a ve Youtube’a erişimin mahkeme kararı doğrultusunda engellendiği duyuruldu. İlgili karar sadece Twitter’a veYoutube’a yönelik olmayıp Cumhuriyet Savcısı Mehmet Selim Kiraz’ın rehin alınması görüntülerini yayınlayan tüm web sitelerini kapsıyordu (http://www.hurriyet.com.tr/teknoloji/28662617.asp, http://www.turk-internet.com/portal/yazigoster.php?yaziid=49579):

Milli Güvenliği ve Kamu Düzenin Korunması ile suç işlenmesinin önlenmesi ve kamu görevlileriyle vatandaşların internet ortamında yer alan yasa dışı içerikler nedeniyle mağdur olmaması, zarara uğramaması, hak ve özgürlüklerin muhafaza edilmesi amacıyla talebin kabulüne karar verilmiştir.

Şehit Cumhuriyet Savcısı Mehmet Selim Kiraz’ın rehin alınması görüntülerini halen yayınlamakta olan Google adlı arama motoru ile aynı yer sağlayıcı üzerinden yayın yapan YouTube adlı internet sitesinden görsel ve videoların, 5651 sayılı İnternet Ortamında Yapılan Yayınların Düzenlenmesi ve Bu Yayınlar Yoluyla İşlenen Suçlarla Mücadele Edilmesi Hakkındaki Kanun’un 8/2. maddesi uyarınca içerikten çıkarılmasına, mümkün olmadığı takdirde erişimin engellenmesine hükmedilmiştir.

İlerleyen saatlerde, şikayet edilen içeriklerin kaldırılmasıyla beraber sözkonusu sitelere yönelik engellemeler de kaldırıldı. Şimdilik…

Nitekim 27 Mart 2015 tarihinde kabul edilen ve 15 Nisan 2015 tarihinde Resmi Gazete’de yayımlanan 6639 sayılı kanunun 29. maddesiyle, 5651 sayılı İnternet Ortamında Yapılan Yayınların Düzenlenmesi ve Bu Yayınlar Yoluyla İşlenen Suçlarla Mücadele Edilmesi Hakkında Kanun’un 8. maddesi genişletildi. 8. maddede erişimin hangi durumlarda engellenebileceği yer almaktadır:

a) 26/9/2004 tarihli ve 5237 sayılı Türk Ceza Kanununda yer alan;

1) İntihara yönlendirme (madde 84),

2) Çocukların cinsel istismarı (madde 103, birinci fıkra),

3) Uyuşturucu veya uyarıcı madde kullanılmasını kolaylaştırma (madde 190),

4) Sağlık için tehlikeli madde temini (madde 194),

5) Müstehcenlik (madde 226),

6) Fuhuş (madde 227),

7) Kumar oynanması için yer ve imkân sağlama (madde 228),

suçları.

b) 25/7/1951 tarihli ve 5816 sayılı Atatürk Aleyhine İşlenen Suçlar Hakkında Kanunda yer alan suçlar

“Gecikmesinde sakınca bulunan hâllerde içeriğin çıkarılması ve/veya erişimin engellenmesi” başlığıyla eklenen 8/A maddesi ise son derece belirsiz ve keyfi uygulamalara açıktır:

MADDE 8/A – (1) Yaşam hakkı ile kişilerin can ve mal güvenliğinin korunması, millî güvenlik ve kamu düzeninin korunması, suç işlenmesinin önlenmesi veya genel sağlığın korunması sebeplerinden bir veya bir kaçına bağlı olarak hâkim veya gecikmesinde sakınca bulunan hâllerde, Başbakanlık veya millî güvenlik ve kamu düzeninin korunması, suç işlenmesinin önlenmesi veya genel sağlığın korunması ile ilgili bakanlıkların talebi üzerine Başkanlık tarafından internet ortamında yer alan yayınla ilgili olarak içeriğin çıkarılması ve/veya erişimin engellenmesi kararı verilebilir. Karar, Başkanlık tarafından derhâl erişim sağlayıcılara ve ilgili içerik ve yer sağlayıcılara bildirilir. İçerik çıkartılması ve/veya erişimin engellenmesi kararının gereği, derhâl ve en geç kararın bildirilmesi anından itibaren dört saat içinde yerine getirilir.

(2) Başbakanlık veya ilgili Bakanlıkların talebi üzerine Başkanlık tarafından verilen içeriğin çıkarılması ve/veya erişimin engellenmesi kararı, Başkanlık tarafından, yirmi dört saat içinde sulh ceza hâkiminin onayına sunulur. Hâkim, kararını kırk sekiz saat içinde açıklar; aksi hâlde, karar kendiliğinden kalkar.

(3) Bu madde kapsamında verilen erişimin engellenmesi kararları, ihlalin gerçekleştiği yayın, kısım, bölüm ile ilgili olarak (URL, vb. şeklinde) içeriğe erişimin engellenmesi yöntemiyle verilir. Ancak, teknik olarak ihlale ilişkin içeriğe erişimin engellenmesi yapılamadığı veya ilgili içeriğe erişimin engellenmesi yoluyla ihlalin önlenemediği durumlarda, internet sitesinin tümüne yönelik olarak erişimin engellenmesi kararı verilebilir.

(4) Bu madde kapsamındaki suça konu internet içeriklerini oluşturan ve yayanlar hakkında Başkanlık tarafından, Cumhuriyet Başsavcılığına suç duyurusunda bulunulur. Bu suçların faillerine ulaşmak için gerekli olan bilgiler içerik, yer ve erişim sağlayıcılar tarafından hâkim kararı üzerine adli mercilere verilir. Bu bilgileri vermeyen içerik, yer ve erişim sağlayıcıların sorumluları, fiil daha ağır cezayı gerektiren başka bir suç oluşturmadığı takdirde, üç bin günden on bin güne kadar adli para cezası ile cezalandırılır.

(5) Bu madde uyarınca verilen içeriğin çıkarılması ve/veya erişimin engellenmesi kararının gereğini yerine getirmeyen erişim sağlayıcılar ile ilgili içerik ve yer sağlayıcılara elli bin Türk lirasından beş yüz bin Türk lirasına kadar idari para cezası verilir.

Yeni düzenleme, idareyi yargının görev ve yetkileriyle donatarak erkler ayrılığına zarar vermektedir. Daha da önemlisi, bu düzenlemeyle hukuki belirlilik ilkesinden uzaklaşılmıştır. Hukuki belirlilik ilkesi, “yasama organı tarafından meydana getirilmiş tüm düzenlemelerin, gerek idare, gerekse bireyler bakımından hiçbir tereddüte mahal bırakılmaksızın anlaşılabilir olması, yaptırımların neden ve sonuçlarının açık ve anlaşılır olması, kamu otoritelerinin, kanun tarafından yetkilendirilmiş dahi olsa, keyfi şekilde takdir hakkı kullanması ihtimalini barındırmaması olarak anlaşılmalıdır” (Ünsal, 2015). Önümüzdeki günlerde, “can ve mal güvenliğinin korunması, millî güvenlik ve kamu düzeninin korunması, suç işlenmesinin önlenmesi veya genel sağlığın korunması” gibi belirsiz gerekçelerle engellenen sitelere rastlanacaktır. Bir sitenin ya da sitede yer alan herhangi bir içeriğin can ve mal güvenliğini, milli güvenliği, kamu düzenini ya da genel sağlığı nasıl tehdit edeceği; içeriğin kaldırılmasının ya da siteye erişimin tamamen engellenmesinin bu tehdidi nasıl ortadan kaldıracağı yakın zamanda görülecektir. Buna göre, yetkililerin yalanlamalarına rağmen salgın olduğunu iddia eden web sitelerinin içeriği genel sağlığı korumak amacıyla engellenebilecek. Seçim tartışmalarının en kızıştığı anda bir sosyal medya sitesine erişim hukuka aykırı da olsa üç gün engellenebilecek (“Başkanlık tarafından, yirmi dört saat içinde sulh ceza hâkiminin onayına sunulur. Hâkim, kararını kırk sekiz saat içinde açıklar”).

Böylece “Yeni Türkiye”nin yeni interneti için önemli bir adım atılmış oldu. Önümüzdeki günlerde bu yeni düzenleme, Anayasa’ya aykırı olduğu gerekçesiyle Anayasa Mahkemesi’ne taşınacak (ayrıntılı bilgi için bkz Ünsal (2015)). Ama nasıl bir internetimizin olacağı, toplumsal muhalefetin tepkilerine ve sansüre karşı uygulayacağı stratejiye bağlı olacak.

Yakında “Türkiye’de Site Engelleme/Kapatma ve Sivil Toplum Yaklaşımı Tarihi” adlı bir kitap yayımlanacak. Henüz hazırlanmakta olan kitabın yayımlanacağı zamanı ve hangi yayınevinden çıkacağını bilmiyorum. Ama Füsun S. Nebil’in turk-internet.com sitesindeki yazısında kitabın içeriği ve yaklaşımı hakkında bilgi veriliyor. Kitap, 1999-2015 arasındaki dönemi beş fazda inceliyor (2015a):

  1. 2005 Öncesi
  2. 2005-2007 Arası (5651 Öncesi Yoğun Engelleme Dönemi ve 5651′ Giden Yol)
  3. 2008-2014 Arası (Osman Nihat Şen Dönemi TİB Uygulamaları)
  4. 2011 Güvenli İnternet Dönemi
  5. Torba Kanunlar – Kanunlar Dönemi / 2014 Sonrası

Kitabın ilk iki bölümü turk-internet.com sitesinde özetlenmiş. Nebil, “değişmiyor ki” denilse de sivil toplum tepkilerinin zaman zaman etkili olduğunu ve bu nedenle her bölümün sonuna bir sivil toplum karnesi konulduğunu belirtmekte. 2005-2007 dönemi, sivil toplumdaki farkındalığın ve birlikte iş yapma kültürünün zayıf olduğu, 5651 sayılı kanun öncesinde ise sivil toplumun daha duyarlı davrandığı görülmekte. Nebil bu dönemi şöyle değerlendirmekte (2015b):

Ancak yine de sorunların yeterince takip edilmediği ve “çözüm” yani “yapıcı eleştiri” yerine “çözümsüzlük” üzerine gidildiği durumlar da oldu.

TBMM’deki kanun takibi konusu ise, bugün bile yapılmıyor. O gün de yapılmadı. Bununla kastettiğimiz, komisyonlardaki çalışmalara katılmak ve kanun tasarıları ile ilgili konulara müdahil olmaktır. Meslek kuruluşu olan sivil toplum örgütleri bunu ciddiye alıyor ama tüketicileri ya da kullanıcıları temsil eden sivil toplum örgütlerinin bu konuya (mesela kadınla ilgili sivil toplum örgütlerinin yaptığı kadar) katılmadıkları görülüyor. Bu önemli bir eleştiri konusudur.

Muhtemelen kitabın daha sonraki bölümlerinde sivil toplum için daha olumlu değerlendirmeler yer alacaktır. Sansüre ve filtreye karşı eylemlerde apolitik denilen bir kuşağın sokaklara döküldüğü görüldü. Gezi’nin habercilerinden biriydi.

Ancak yine de Türkiye’deki site engelleme/kapatmalara karşı oluşan tepkiler değerlendirildiğinde toplumsal muhalefetin İnternet’te somut bir stratejisinin olmadığı görülmektedir. İnternetteki özgürlük alanlarını genişletmeyi hedefleyen değil, devletin hamlelerine karşı harekete geçen tepkisel bir muhalefet vardır. İnternette özgürlüğün devletle sivil toplum arasında olduğuna dair bir yanılsama yaygındır; böylece şirketler uzaklarda, tarafsızlıklarını ve saygınlıklarını korumaya devam edebilmektedir. Bu nedenle mücadele de sadece devletin etki alanının sınırlandırılmasına, devletin müdahalelerinden özgürlük sorununa indirgenmektedir. Ancak eşitlik, kullanıcıların internetin gelişiminde söz ve karar hakkı olmadan, özgürlük ve özgürlük mücadelesi de eksik kalmaktadır.

Günümüzde İnternet denilince ilk akla gelen sosyal medya olmaktadır. Kullanıcılar internete değil, Facebook, Twitter, Youtube gibi sosyal medya sitelerine girmektedir. Dolayısıyla, kullanıcıları çoğu zaman ilgilendiren belli başlı sosyal medya sitelerine erişip erişemedikleridir. Bu çerçevede, Nisan ayında yaşanan site engelleme sürecine tekrar döndüğümüzde sürecin ilgili web sitelerinin şikayet konusu olan içeriği sitelerinden kaldırmaları ile sonuçlandığı görülmektedir. Asıl sorun da sorunun sorunun çözülmüş gibi göründüğü noktada başlamaktadır. Prof. Dr. Yaman Akdeniz Twitter’ın talep edilen içerikleri kaldırmasını şöyle yorumlamaktadır (bkz. http://www.turk-internet.com/portal/yazigoster.php?yaziid=49578):

Twitter’ın Anayasa Mahkemesinin kararından bu yana Türkiye ile ilgili politikası başından sonuna kadar yanlış. İçerik temizlemenin ya da gelen talepleri uygulamanın yöntemi bu olmamalı. Göreceksiniz talepler seçimlere kadar daha da artacak.

Twitter tabi ki engelli kalmasını istemiyoruz ama bunu bu şekilde yapması, Türkiye’nin ifade özgürlüğü sorunu açısından da uygun olmayan bir yaklaşım. Hiçbir tartışma yapılmadan, çarşaf listeler halinde talep edilen içerikler ve sadece tweet değil, hesaplar da dahil kaldırılıyor.

Twitter kullanıcılarının kendilerini ifade edecekleri bir ortam sunmakla övünüyor. Ama bu ne kadar güvenilir? Ya da bu ne kadar özgür?. Bu soruları sormak lazım. Bunu çok sorunlu buluyorum. Facebook da yapıyor, muhtemelen Youtube’de yapacak.

Bu sosyal medya firmalarının amacı kullanıcılarını mutlu etmek olmalıdır. Ama bu mutluluk “hükümetin müsade ettiği kadar” gibi değil ya da “erişime engelli olmayayım da ne olursa olsun” olmamalıdır.

Dolayısıyla Twitter ve diğerleri açık kalmak adına hükümetin talebini yerine getirdiler; bundan sonra da yerine getirmeye devam edecekler. Arap Baharı’ndan sonra Facebook ve Twitter gibi sosyal medya sitelerine farklı değerler yüklenmiş olmasına ve Türkiye’de egemenlerce baş belası olarak görülmesine karşın her ikisi de kar amaçlı sosyal medya siteleridir. Politik amaçlar için kullanımları istisnadır. 2009, 2010, 20111 ve 2012 yıllarındaki moda konulara (TT – Trendind Topic) bakıldığında ağırlığın eğlence dünyası ile ilgili olduğu görülmektedir. En çok takipçisi olan hesaplar da bununla ilişkilidir (Fuchs, 2013):
popular_twitter

Sosyal medya şirketlerinin iş modelleri kullanıcı verilerinin metalaşması üzerine kuruludur. Televizyonlar izleyicilerini, radyolar dinleyicilerini ve gazeteler okuyucularını reklam şirketlerine satmaktadır. İnternetin diğer medyalardan farkı ise hedefli reklamcılığı kolaylaştırması ve reklam şirketlerine daha cazip fırsatlar sunmasıdır. Örneğin bir televizyon program içinde yayınlanacak reklamda, programın içeriği veya yayın saati gibi kriterler dikkate alınsa bile reklam herhangi bir izleyiciye yöneliktir. İnternet reklamları ise kullanıcının eğilimlerini dikkate alır. Arama motorlarındaki aramalar, sosyal medyadaki hareketler, gezilen siteler, eposta içerikleri vs analiz edilerek doğrudan belirli bir kullanıcıyı hedefleyen reklamlar gösterilir.

İnternetin diğer medyalardan ikinci farklılığı ise sosyal medya uygulamalarıyla gündeme gelmiştir. Bir televizyon veya radyo, kamu hizmeti yayıncılığı yapmıyorsa ve kendi faaliyeti dışında bir geliri yoksa reklamdan elde edeceği gelire ihtiyacı olacaktır. Fakat izleyiciler reklamlardan pek hoşlanmazlar; eğlencelerinin kesilmesini istemezler. Bir televizyon kanalı izleyicilerini kaybetmek istemiyorsa izleyicinin dikkatini metalaştırırken dikkatli olmalı ve izleyiciyi televizyona bağlayacak programlar üretmelidir. Sosyal medyada ise içerik kullanıcılar tarafından üretilir. Örneğin, Facebook ile aynı teknik işlevlere sahip bir sosyal medya sitesini teknik olarak tasarlamak zor değildir. Facebook gibi bir web sitesi geliştirirseniz bu sizi Mark Zuckerberg kadar zengin yapmaz. Facebook’u Facebook yapan içeriğidir, bir diğer deyişle kullanıcıların Facebook üzerindeki etkinlikleridir. Facebook, bu etkinlikleri artırmak ve kullanıcıların sitede daha fazla zaman geçirmesini sağlamak için çeşitli oyunlar ya da uygulamalar geliştirebilir; yazılım şirketlerine bu yönde ödeme yapabilir. Ama yeni kullanıcıları Facebook’a çeken, onların sitede daha fazla zaman geçirmesini sağlayan ve reklam şirketlerine satılan kullanıcıların etkinlikleri olacaktır. Kısacası, televizyon ya da radyo programlarında içerik medya sahibi tarafından oluşturulurken sosyal medyada kullanıcıların metalaşmasının yanında karşılığı ödenmeyen, el konulan bir emek vardır.

Sosyal medya kullanıcıları sömürülmektedir; şirket sahiplerinin karına kar katmaktadır. Sosyal medyadaki etkinliklerin eğlenceli olması sömürü gerçeğini değiştirmemektedir. Ücretli emekte olduğu gibi bir ücret ilişkisi yoktur. Köle emeğinde olduğu gibi insanlara çalışmazlarsa ölecekleri tehdidi yapılmamaktadır. Ama Facebook etrafında kurulan sosyal ağ, özellikle genç insanları ağa dahil olmaya zorlamaktadır; ağda olmamak bir eksiklik haline gelmektedir. Ağa dahil olmadıklarında yalnız kalacaklardır ve çevrelerindeki organizasyonlardan haberdar olamayacaklardır (Fuchs, 2014 s. 254-255).

Ülkemizde de toplumsal hareketlerden uzak kalacağı savunmasıyla Facebook’un gönüllü emekçisi olan sosyalistler yok mu?

Facebook, Twitter, Google vb şirketlerin iş modellerinin temelinin karşılığı ödenmeyen kullanıcı emeği olduğu dikkate alındığında bu şirketlerin hükümetlerin sansür taleplerine karşı tavırları daha anlaşılır olacaktır. Doğaldır ki şirketlerin devrim yapmak, toplumu demokratikleştirmek gibi hedefleri yoktur. İçerik kaldırma talebine Twitter’ın olumlu yanıt vermesi tutarlı bir harekettir. Twitter, Türkiye’deki kullanıcı emeğinden tamamen mahrum kalmak istememektedir. Hükümetle yaptığı işbirliğinin kullanıcıların tepkisine ve Twitter’dan kopmalarına (dolayısıyla emek gücü kaybına) neden olabileceğini düşünselerdi daha temkinli davranacaklardı.

Aslında temel sorun mülkiyet ilişkilerinin ve bunun kararlara yansımasının göz ardı edilmesinden kaynaklanmaktadır. Facebook’un en tepesinde bulunan 12 kişi, hisselerin %61,1’ine sahiptir. Facebook’ta hisse sahibi şirketler ise şunlardır: Accel Partners, DST Global Ltd., Elevation Partners, Goldman Sachs, Greylock Partners, Mail.ru Group Ltd, Meritech Capital Partners, Microsoft, Reid Hoffman, T. Rowe Price Associations Inc., Tiger Global Management and Valiant Capital Opportunities LLC. Facebook’ta söz sahibi olanlar Facebook’un üst düzey yöneticileri ve bu şirketlerdir; şirketi var eden kullanıcılar değil. Facebook’un gizlilik politikası, hangi kullanıcı verilerinin toplanıp satılacağı, sitede varsayılan ayarın hedefli reklamların kabulü mü reddi mi olacağı, siteye kayıt için gerekli veriler hakkında kullanıcıların söz ve karar hakkı yoktur (age, s.256). Sık sık sosyal medyanın katılımcılığından söz edilir; ama katılımcılık popüler sosyal medya sitelerinin yönetiminde geçerli değildir. Önümüzdeki günlerde daha sık göreceğimiz gibi siteden silinecek içerik ya da kullanıcı hesabı hakkında kullanıcıların söz hakkı olmayacaktır.

Aynı eşitsizlik, diğer özel mülk sosyal medya siteleri için de geçerlidir. Twitter’ın iş modelinde, müşterilerinin talepleri doğrultusunda belirli bir tweetin, hesabın veya konunun (trend) öne çıkarılması vardır (http://www.bbc.com/news/business-24397472). Bunun dışında, normal kullanımda hangi konunun öne geçeceğini, TT olacağını belirleyen algoritmalar açık değildir (https://support.twitter.com/articles/101125-faqs-about-trends-on-twitter). Şirket, enformasyon akışını, ağ bağlantı hızınızdan bağımsız olarak, yavaşlatabilir. Pentland’ın (2014) belirttiği gibi enformasyon akış hızındaki bir değişim ağda beklenmedik sonuçlar doğurabilir.

Kısacası, özel mülk sosyal medyada,

  • Kullanıcılar, mülkiyeti elinde bulunduranların çizdiği çerçevede hareket etmektedir
  • Kullanıcılar sömürülmekte, verileri metalaşmakta ve tek zenginleşen şirket hissedarları olmaktadır
  • Kullanıcılar, üyesi oldukları sosyal medyaya katkıda bulundukça o medyayı daha da zenginleştirmekte ve güçlendirmektedir.Daha sonra ayrılmak isteseler bile “ayrılırsam, zengin bir sosyal ağdan kopacağım, yalnız kalacağım” endişesi başka alternatiflere yönelmeme konusunda bir baskı oluşmaktadır.

Bu nedenle, yalnızca sansüre karşı özgürinternet talep etmek yeterli değildir. İnternetin kullanıcıların karar mekanizmalarında söz sahibi olduğu, eşitlikçi ve işbirliğine dayalı ağlarla örülmesi gerekmektedir. Bu da internetin ticarileşmesine karşı çıkabilmek demektir!

İşehttps://prism-break.org/en/all/#social-networks adresinde yer alan özgür sosyal ağlardan biri denenerek başlanabilir. Önerim, Diaspora* sosyal ağıdır (https://diasporafoundation.org). Ağa http://podupti.me/ adresinde belirtilen sunuculardan biri kullanılarak dahil olunabilir.

Burada yine, “ama tüm arkadaşlarım ve hedef kitlem Facebook’ta ya da Twitter’da. Bu ağları terk edemem.” diyenler olacaktır. İnsanlar haklı olarak sadece kendi kitlesine yayın yapan televizyonların, radyoların ve gazetelerin durumuna düşmek ve en geniş kitleyle bağlantıyı koparmak istemeyecektir. Sadece X örgütünün/partisinin üyelerinden oluşan bir ağ pek cazip değildir.

Ancak Diaspora* klasik bir alternatif medya değildir. Diaspora*’da ikili bir sosyal ağ kurabilir. Diaspora üzerinden diğer ağlara da mesaj göndermek mümkündür. Bir yandan Diaspora*’da şirketlerden bağımsız, özgür bir ağ kurarken diğer yandan Diaspora* üzerinden Facebook ve Twitter hesaplarınıza mesaj gönderebilirsiniz. Diaspora*’daki sosyal ağ büyüdüğünde ne Facebook’a ne de Twitter’a ihtiyacımız kalacaktır.

Zor ve imkansız mı? İnsanları eşit ve özgür sosyal medya için ikna edebilir miyiz?

Denemeden bilemeyiz.

Bunun için (en başta kendimizi!) ikna edemiyorsak, başka bir dünya için ikna edebilir miyiz?

Üstelik aynı senaryoyu izlemekten sıkılmadık mı? Hükümet “içerik kaldırılsın” der, popüler sosyal medya şirketleri de, siteleri tamamen engellenmesin, diğer kullanıcılar mağdur olmasın bahanesinin arkasına sığınarak gerekeni yapar.

Dolayısıyla yeni internetimizin nasıl olacağı bize bağlı…

 

 

Kaynaklar

Fuchs, C. (2013). Social media: A critical introduction. Sage.

Fuchs, C. (2014). Digital Labour and Karl Marx. Routledge.

Nebil, F. S. (2015a), Türkiye’de Site Engelleme/Kapatma ve Sivil Toplum Yaklaşımı Tarihi – Bölüm 1 (2006 Öncesi), http://turk-internet.com/portal/yazigoster.php?yaziid=49419, son erişim 19/04/2015

Nebil, F. S. (2015b), Türkiye’de Site Engelleme/Kapatma ve Sivil Toplum Yaklaşımı Tarihi – Bölüm 2 (2007- 5651’e Giderken), http://www.turk-internet.com/portal/yazigoster.php?yaziid=49420, son erişim 19/04/2015

Pentland, A. (2014). Social Physics: How Good Ideas Spread-The Lessons from a New Science. Penguin.

Ünsal, B. (2015), AYM 5651 Yeni Hükümler, http://www.unsalgunduz.av.tr/wp-content/uploads/2015/04/AYM-5651-Yeni-Hukumler-White-Paper.pdf, son erişim 19/04/2015

 

 

 



01 June 2015

Hangi Masaüstü Ne Kadar Türkçe Konuşuyor? -7-


Yazılım çevirisi işi büyük bir süreklilik gerektiriyor. Belge çevirmeye pek benzemiyor. Belgedeki gibi bütün anlam bütünlüğü elinizde olmadığı gibi bazı yazılımlar da çevirilecek bütün diller İngilizce'nin yapısına uygunmuş gibi hazırlanmış oluyor. Velhasıl sıkıcı, yorucu ve bitmeyen bir iş. Tam bitirdim diye düşünürken bir süre bakmayınca çeviri oranlarının düştüğünü görmek mümkün oluyor.

Birincisini 2011'de yazdığım bu yazıların yeni sürümünde 2015'te ne durumdayız bakalım istiyorum. Bugüne kadar yazdığım yazıların en iyimser olanını okuyacaksınız.

KDE: geçen yıl %84 olan çeviri oranı bu yıl kde4 için %90, 5 için ise %88 oranına yükselmiş durumda. Benim de içinde bulunduğum bir ekip kde çevirileri işini bazı bileşenler haricinde tamamlamış durumda. Yardım içeriği ise maalesef %8.
GNOME: geçen yıl %75 olan çeviri oranı %93'e yükseldi. KDE gibi çok büyük bir masaüstü projesi olan gnome'u bu seviyeye getirmek gerçekten büyük emek işi. Yardım içeriği neredeyse hiç çevrilmemiş durumda.
LXDE: çevirmenlerini çıldırtmak pahasına çok uzun süredir çeviri sistemini oturtamamış olsa da çeviri oranı geçen yıl olduğu gibi %100.
Enlightenment: geçen yıl %90 olan çeviri oranı %78'e gerilemiş durumda.
XFCE: geçen yıl %98 olan çeviri oranı yeni çeviriler eklenmesine rağmen web sayfası hariç %100'e ulaşmış durumda.
LibreOffice: en büyük özgür yazılım ofis paketi olan libreoffice için geçen yıl %96 ve %99 olan arayüz ve yardım içerikleri bu yıl hem 4.4 sürümü için hem de henüz çıkmamış 5 serisi için %100'e ulaştı.
OpenOffice: Apache OpenOffice için neredeyse tek başına çalışan Burak Yavuz'un gayretiyle arayüz çevirisi %100, yardım içeriği ise %37 seviyesinde. Tek başına yaptığı bu çalışma gerçekten büyük övgüyü hakediyor.
Calibre: en önemli e-kitap yönetimi araçlarından biri olan calibre'nin çevirisi bir kaç ay öncesine kadar çok düşük seviyelerdeyken benim de içinde olduğum bir grubun çabalarıyla %94 oranına ulaştı. Bu calibre'nin en çok çevrildiği üçüncü dilin Türkçe olduğu anlamına geliyor. Çok kısa süre sonra bu çevirinin tamamlanacağını söyleyebilirim.

Böyle sadece oranlar olunca yapılan işin büyüklüğünü görmek zor oluyordur eminim. Sadece LibreOffice için yapılan çeviri miktarının yaklaşık 550.000 kelime olduğunu ve oturup beşyüzelli bine kadar saymanın bile nasıl zahmetli ve sıkıcı olabileceğini bir düşünün isterim.

31 May 2015

Python Gitlab Email Sender


Gitlab kullanıyor iseniz, gitlab sunucunuzdaki post-receive hook scriptinin içerisine, aşağıdaki python scriptini her push işleminden sonra çalıştıracak şekilde ayarlamanız durumunda, script her çalıştığında oluşturduğu commits.db sqlite database’indeki short commit’i ile karşılaştırıp, değişikli var ise aşağıdaki mail gönderim formatında maili ‘*protected email*’ adresine gönderir. Eğer db’de bulunmayan bir repo ile karşılaşması durumunda db’ye repo’yu insert eder.

#!/usr/bin/env python
__author__ = "Gokhan MANKARA <*protected email*"

import gitlab
import sqlite3 as sql
import requests
import smtplib
import os
import email.utils
from email.mime.text import MIMEText

gitlab_url = "https://gitlab.domain.com"
gitlab_access_token = "ABCDEFG"


class SendEmail(object):
    def __init__(self):
        self.mail_to = '*protected email*'
        self.mail_from = '*protected email*'
        self.mail_server = 'mail.domain.com'
        self.mail_subject = 'New Commit'

    def main(self, msg):
        msg = MIMEText(msg)
        msg['To'] = email.utils.formataddr(('Recipient', self.mail_to))
        msg['From'] = email.utils.formataddr((self.mail_subject, self.mail_from))
        msg['Subject'] = self.mail_subject

        server = smtplib.SMTP(self.mail_server, 25)
        server.set_debuglevel(False)

        try:
            server.sendmail(self.mail_from, self.mail_to, msg.as_string())
        finally:
            server.quit()


class Commit(object):
    def __init__(self):
        self.db = "commits.db"
        self.con = sql.connect(self.db)
        self.git = gitlab.Gitlab(gitlab_url, token=gitlab_access_token, verify_ssl=False)
        with self.con:
            self.cur = self.con.cursor()
        requests.packages.urllib3.disable_warnings()

        if not os.path.isfile(self.db):
            os.system("sqlite3 commits.db < commits.sql")

    def sql_insert(self, repo, branch, hash):
        sql = "insert into last_commit ('repo', 'branch', 'hash') values ('%s', '%s', '%s')" % (repo, branch, hash)
        self.cur.execute(sql)
        self.con.commit()

    def sql_select(self, branch, repo):
        sql = "select hash from `last_commit` where branch='%s' and repo='%s'" % (branch, repo)
        self.cur.execute(sql)
        return self.cur.fetchone()[0]

    def sql_update(self, new_hash, branch, repo):
        sql = "UPDATE last_commit SET hash='%s' WHERE branch='%s' and repo='%s'" % (new_hash, branch, repo)
        self.cur.execute(sql)
        self.con.commit()

    def commits(self):
        # git.getprojectsall => Returns a dictionary of all the projects for admins only
        # git.getprojects => Returns a dictionary of all the projects

        for i in self.git.getprojectsall():
            group_name = i["namespace"]["name"]
            project_name = i["path"]
            project_id = i["id"]
            for branches in self.git.getbranches(project_id):
                    new_commit = branches["commit"]["id"][:8]
                    branch_name = branches["name"]

                    try:
                        commit_in_sql = self.sql_select(branch_name, project_name)
                    except TypeError:
                        self.sql_insert(project_name, branch_name, new_commit)

                    if commit_in_sql != new_commit:
                        get_commit_info = self.git.getrepositorycommit(project_id, new_commit)
                        try:
                            author_name = get_commit_info["author_name"]
                            author_email = get_commit_info["author_email"]
                            author_message = get_commit_info["title"]
                            commit_date = get_commit_info["created_at"]
                        except TypeError:
                            pass

                        compare_url = "%s/%s/%s/compare/%s...%s" %\
                                      (gitlab_url, group_name, project_name, check_commit, new_commit)
                        send_email = SendEmail()
                        msg = 'Commit Repo: %s\nBranch Name: %s\nUser: %s\nUser Mail: %s\nCommit Message: %sCommit Time: %s\n\nDiff URL: %s' %\
                              (project_name, branch_name, author_name, author_email, author_message, commit_date, compare_url)
                        send_email.main(msg)
                        self.sql_update(new_commit, branch_name, project_name)

    def main(self):
        self.commits()


if __name__ == "__main__":
    Commit().main()

Python scripti ile aynı yerde oluşturmanız gereken commits.sql dosyası dosyası.

CREATE TABLE last_commit(id INTEGER PRIMARY KEY AUTOINCREMENT, repo TEXT, branch TEXT, hash TEXT);

Gönderilen mailin örnek içeriği,

Commit Repo: githlab-email-repo
Branch Name: master
User: gokhan
User Mail: *protected email*
Commit Message: First Test Email Commit
Commit Time: 2015-05-30T13:58:42.000+03:00

Diff URL: https://gitlab.domain.com/gokhan/gitlab-email-repo/compare/s1ws93...1ex4ng59

Gitlab server’da post-receive hook scriptine, başına “/usr/bin/python” koyarak scripti kullanabilirsiniz. Başına python path’ini koymamızın sebebi, gitlab’ın kendi python binary si olduğundan import ettiğimiz modüller gitlab’ın kendi lib’inde olmadığı için remote gitlab server’a push ettiğinizde “modül bulunamadı” şeklinde hata verecektir.

GitHub Repo



25 May 2015

Google Mülakatlarına Hazırlanma Süreci


Geçen yaz Google ik'dan (insan kaynakları) profilinizi linkedin, github ve birkaç listeden inceledik kabul ederseniz başlangıç bir görüşme yapmak isteriz içerikli bir e-posta aldım. 2 gün sonra başlangıç telefon görüşmesini ik ekibinden bir arkadaşla yaptık. Görüşmenin 45-55 dk arası sürmesi bekleniyor, benim bir saati biraz geçmişti. İlk görüşmede kod yazmamı gerektirecek bir şey sormadılar. Veri yapıları, ağ bilgisi, bit düzeyinde işlemler, algoritmalar ve karmaşıklıkları, bash komutları, sistem çağrıları, süreçler hakkında sorular geldi. İlk görüşmede tanışma, ilgi alanlarını öğrenme, hangi işler üzerinde uğraştığın hakkında bilgi edinme gibi kısımlardan da konuşulduğu için teknik değil olarak adlandırıyor ancak bence gayet teknikti :). Görüşme sonunda, ilk adımı geçtiğimi öğrendim.

Daha önce bir iş tecrübem olmadığı için bir alan seçmem gerekiyordu, telefondaki arkadaş Site Reliability System Engineering (SRE) ve Software Engineering olmak üzere 2 pozisyon sundu. Bilgilerin sistem tarafı için daha uygun istersen SRE seç şeklinde öneride bulundu. SRE görüşmelerinde daha başarılı olacağımı düşündüğümden onu seçtim.

Başlangıç görüşmesinden önce çok gerildim, zaten nasıl konuşacağım kısmı ayrı bir olay :). Soruları bitirdikten sonra, görüşmeyi yapan arkadaş diğer adımlar için tavsiyelerde bulundu, sorular üzerinde sesli düşün, eğer ne sorulduğunu anlayamadıysan bilmiyorum deme, anlayana kadar sorman sorun değil, dedi. Çünkü söylediği bir kelimeyi anlayamadığımdan bilmiyorum demiştim, anlamadığımı fark etti ve gtalk'a sorunun bir kısmını yazdı ve cevapladım :).

İkinci görüşmeyi bir mühendisle yine telefon üzerinden yaptık. Kodlama soruları için google doc kullandık. Görüşme yine 45-55 dk arasıydı. Soruların neredeyse hepsi çalıştığım sorulardı ancak düzenli ifadelere çok fazla çalışmaya vaktimi yetiremedim. Görüşmede son soru basit split, join işlemleriyle çözülebilecekken suçluluk psikoljisi ile düzenli ifadelerden çözülmesi gerekiyor sandım :). Çözüme yaklaştım ancak çoğu şeyi göz ardı ettik, ben ifadeleri karıştırdım gibi şeyler oldu. Görüşme sonunda mülakatı yapan arkadaş, bu görüşmenin büyük kısmını harika yaptın dedi. Bir an şok olmamla birlikte havaya uçup geri oturdum :).

Google'ın mülakatlarına hazırlanırken aşağıdaki linklerden yararlandım. Bunlar dışında deneyimler üzerine yazılmış çok fazla blog yazısı bulabilirsiniz. Hepsini okumak belki mümkün olmaz ama çoğunu okuyun gerçekten çok faydalı oluyor. Mühendislerle yaptığım görüşmeler ik'daki arkadaşla yaptığım görüşme kadar eğlenceli geçmedi. İk'da olan arkadaş görüşme sırasında harikasın, çok iyi gibi sürekli destek olarak ve çok sevecen bir şekilde konuşuyordu. Ancak mühendisler süreci soğuk, sadece soru soran ve cevap bekleyen bir şekilde geçiriyorlar. Okuduğum bir blog yazısında telefonda problem olduğu için Skype'a geçmek zorunda kalan bir arkadaş mühendis soğuk ve sıkılmış görünüyordu yazmıştı. Bu yüzden telefondaki soğuk tavırları hiç üzerime alınmadım :), sadece en sonda tebrik eden bir ifade duydum.

Siteler: Geeks For GeeksGlassadorCareerupCracking Code InterviewsSystem DesignDevops Interview Questions.

3. mülakat için yeniden tarih belirledik. Genelde 3 er hafta arayla yaptık görüşmeleri. İlk iki görüşmem iyi geçtiğinden sonuçlarını hemen öğrenmiştim, normalde bir haftayı bulabiliyor. Görüşmelerin arasını çok uzatmak bence iyi değil, sonuna kadar gidebileceğimizi düşünürsek insan bunalabilir. 3 hafta gayet iyi bir süreç. Zaten görüşme 45 dk sürüyor, en fazla kaç soru sorabilir diye görüşmeden önce kendimizi rahatlatmak da bir yöntem :). Birde hazırlanırken süremi bir hafta kadar tanım sorularına çalışarak, bir hafta kodlama sorularına çalışarak sonraki hafta bunları karmaşık tekrar ederek geçirdim.

3. görüşme görüntülü olacaktı ancak ne olduysa yine telefon üzerinden yaptık. Bu görüşmede sorular beklediğim gibi değildi. Temelde bir soru sorup, diğer soruları aynı soru üzerinden türetti. Görüşmenin nasıl geçtiğini anlamadım, soyut şeyler üzerinden benim daha önce deneyememiş olacağım şeyler üzerinden konuştuk. O zamanlar her görüşmenin bitiminde sonucu söylüyorlar sandığımdan bu adımı geçebildim mi? diye sordum, henüz bilmiyorum cevabını aldım :). Bir hafta sonra geçtiğimi öğrendim.

Buradan sonraki adım Google ofisinde yapılması gereken görüşme. Yine ik'daki arkadaş önce aradı sonra aynı bilgileri e-posta ile gönderdi. Birkaç Google pozisyonu önerdi, Dublin'de olanı seçtim, Dublin aynı zamanda Google'ın Avrupa'daki ofislerinin merkezi. Vize işlemleri nedeniyle ve benim gideceğim haftada Dublin'de etkinlikler olduğundan, son görüşmeyi 1,5 ay kadar ertelemek zorunda kaldık :(.

Son mülakat 45'er dakika şeklinde ve 5 oturumdan oluşuyor. Her oturuma 1 ya da 2 mühendis girebiliyor. Son oturumu SRE takımının yöneticisiyle yaptık ^_^.

Son aşama gerçekten çok heyecanlıydı. Uzaktan yapılan görüşmeler sırasında sesin kesilmesi problemi çok oluyor. En sonunda duyamıyorum, sesin kesiliyor dediğimde google doc'a soruyu yazdıkları olmuştu. Yüzyüze görüşmede çok hızlı konuşurlarsa diye sıkıntım vardı ancak öyle olmadı. Google çalışanları konuşma konusunda diğer şirketlere göre çok daha anlayışlı. Oldukça anlaşılır konuşuyorlar.

Konuşma pratiği yapmak için dil kurslarına gitmek faydalı, birde Google SRE ekibinin düzenlediği etkinlikleri youtube'dan çok rahat bulabilirsiniz. Ben onları izlemiştim, hem birkaç anahtar kelime öğrenmemi sağladı hem anlamamı geliştirdi.

Mülakatın yapılmasından bir gece önce Dublin'deydim. Sabah ik'daki arkadaş istersen otelden seni alayım, yürüyerek gayet yakın dedi. Kabul ettim, çok yağmurlu bir sabahta ofise birlikte gittik. Her oturumdan sonra 3-5 dk beklemek gerekebilir, bu sürelerde eğer odada yalnız kalırsam dışarı çıkmamamı ve henüz çalışan olmadığım için ofiste tek gezmememi söyledi.

Son görüşmede soruların çoğunluğu çalıştığım yerlerden çıkmadı. Bu kadar sorulmaz ya dediğim ve ayrıntısına inmediğim şeylerden çıktı. Açıkçası hiç beklememiştim. Daha önce bir yerde de öyle soruları görmedim :(. Basit sorulan sorular da vardı elbette ama geneli değildi. Çok iyi veri yapıları soruları bekliyordum, hiç sormadılar :|.

Ancak sürecin tamamı çok heyecanlı ve cesaretlendiriciydi. Yüzyüze yaptığımız görüşmelerdeki arkadaşlar da çok sevecendi, bir soğukluk yoktu :). Birde yurtdışına ilk seyahatimi Google sayesinde yapıyor olmam da çok mutluluk vericiydi.

Google'ın sizle görüşmek isteriz şeklinde e-posta atması için sadece bir github hesabımız olması bile yeterli. Çünkü onlar da yeni insanlar tanıyıp, onları görüşmelerine hazırlamak istiyorlar.

Üniversiteden "olmadı sanırım .. olduğu kadar :(" şeklinde hissederek mezun olmuştum, bunun üzerine Google görüşmesinin bu kadar ilerlemesi çok iyi oldu, çok da güzel oldu :). Mezuniyetimden sonra 7-8 ay boyunca kadar her şey böyle karmaşık ve heyecanlı bir şekilde ilerlerdi. Bir hafta önce bundan sonrası şöyle olur muhtemelen dediğim şeylerin hiçbiri tutmadı :), şimdi tekrardan her şey düzene girdi. Bundan sonrasında yine Linux çekirdeği üzerinde devam edeceğim. Belki bir gün yine Google ile görüşebiliriz :).

Dublin'de 2 gece kaldım ve çok gezemedim. Bir dahaki sefere daha fazla kalabilirim diye düşünüyorum. Dublin'de çektiğim fotoğraflar için buraya bakabilirsiniz.

17 May 2015

Raspberry Pi’den WhatsApp mesajı atmak


Daha önce Raspberry Pi sunucumdaki sıcaklık uyarıları, IP bilgilerini Pushingbox, PushBullet gibi servislerle gönderdiğimi yazmıştım. Bugün internette gezinirken hhttp://www.instructables.com/id/WhatsApp-on-Raspberry-Pi/ adresindeki amcanın linux cli ile WhatsApp mesajları gönderebildiğini okudum. Hemen denemeliydim, denedim de WhatsApp mesajı göndermek için https://github.com/tgalal/yowsup adresindeki python kütüphanesini kullanacağız. Kütüphaneyi kurabilmek için öncelikle gerekli diğer python kütüphanelerini kuralım. sudo apt-get update && sudo …

08 May 2015

Metasploit Framework Giriş


Metasploit Framework, güvenlik açıklarının bulunmasını ve bulunan açıkların kullanılmasını sağlayan bir araçtır. Ruby ile sıfırdan tekrar yazılmıştır.(öncesinde Perl ile yazılmış) Kullanılan terimlerin anlamlarını öğrenip birşeyler denemeye başlayınca ne olduğu insanın aklında daha çok şekilleniyor :) 

Terminoloji:

Exploit: Bir sistemin ya da programın zayıflığından faydalanarak sisteme girişi sağlayabilen ya da zarar veren yöntemlerin tamamıdır.

Local Exploit: Oturum açılmış halde olan sistemde bulunan servis veya yazılımların zayıflıklarını sömüren exploit türüdür.

Remote Exploit: Ağ üzerinden uzaktaki sistemin zayıflıklarını sömüren exploit türüdür.

Payload: Hedef sistemde istenilen eylemi gerçekleştiren bileşendir. Exploitten sonra çalışır.

Auxiliary: Modüller için geliştirilen ek programlar, yardımcı araçlardır. Exploit öncesi sistem hakkında bilgi toplama amaçlı kullanılırlar.

MsfConsole, içinde pek çok hazır exploit bulunduran aynı zamanda bu exploitleri yerel ve uzak erişim için yapılandırabilen bir yazılımdır.

Ubuntu'ya Msfconsole kurulumu için buraya bakabilirsiniz.

MsfConsole:


help: Kullanabileceğimiz komutları ve ne işe yaradıklarını görebiliriz.

Komut          Açıklama
banner        MsfConsole açılış ekranını gösterir.
info             Bir veya daha fazla modül hakkında bilgi verir.
irb               İrb scripting modunu getirir.
jobs            Yapılan işleri gösterir ve düzenler.
load            Eklenti yüklenmesi için kullanılır.
loadpath     Belirtilen yoldan istenilen modülü/exploiti yükler.
route           Oturum trafiğinin yönlendirilmesini sağlar.
save            Etkin veriyi kaydeder.
search         Modül ismi veya açıklamalarda arama yapar.
sessions      Aktif oturumları gösterir ve oturum bilgisi verir.
set               Payload seçiminde bir verinin atamasını yapar.
show           Belirtilen modülü veya tüm modlleri listeler.
sleep           Belirtilen zaman zarfında hiçbir işlem yapılmaması gerektiğini belirtir.
use              Modül seçer.
version        Konsol uygulamasının versiyonunu gösterir.

show exploits: MsfConsole platformundaki exploitleri listeler.
use <exploit>: Exploit seçmek için kullanılır.
show targets: Seçilen exploitin hangi sistemleri etkilediğini görmek içn kullanılır.











set targets <hedefno>: Hedefi seçmek için kullanılır. 
show payloads: Msf’de bulunan payloadları listelemek için kullanılır.


info <payload_adi>: İstenilen payload hakkında detaylı bilgi döndürür.
set PAYLOAD <payload_adi>: Payload seçmek için kullanılır.
show options: Yapılacak saldırı için seçeneklerin görülmesinde kullanılır. "Required" sütununda yes ile belirtilmiş olan seçeneklerin ayarlanması gerekir.


set <RHOST, RPORT, LHOST, LPORT>: Required kısmındaki bilgileri girmek için kullanılır.
exploit:  Gerekli tüm yapılandırma bittikten sonra saldırı başlatmak için kullanılır.

Güvenlik yeni yeni ilgimi çeken bir konu. Öğrendikçe daha fazla yazmaya çalışacağım. Kolay gelsin :)