04 December 2018

LibreOffice için Türkçe imla denetimi eklentisi: zemberek-extension


Zemberek-NLP Ahmet A. Akın ve Mehmet D. Akın'ın 10 yıldan uzun zamandır geliştirdikleri bir özgür yazılım projesi. Proje Türkçe için doğal dil işleme araçları içeriyor [1]. Bir dönem Pardus tarafından kullanımı ile çok bilinen bir projeydi ama bir süre hem Pardus sahipsiz kaldı, hem de Zemberek geliştiricileri gönüllü olarak yaptıkları işe bir süre ara verdiler. Zemberek sadece imla denetimi işini yapmıyor olsa da son kullanıcıya en çok ulaştığı yer burası. Özellikle LibreOffice kullanıcılarının imla denetimi yaptırabilmeleri ciddi bir ihtiyaç.

Zemberek-NLP bu yıl içinde yeniden geliştirilmeye başlandı. Uzun yıllardır el değmemiş olan LibreOffice eklentisi de baştan hazırlandı [2]. Eklentiyi hazırlama kısmında Okan Özdemir ve Talha Kanyılmaz da çalıştılar. Eklenti henüz ilk sürümünde olduğundan hatalar içerebilir. Deneyip geri bildirimde bulunulursa çok iyi olur. Kurulum ve diğer konular için eklentinin sayfasına bakılabilir.


[1] https://zembereknlp.blogspot.com
[2] https://github.com/COMU/zemberek-extension

29 October 2018

Linux için F5 Ssl Vpn Client i Kurulumu ve Kullanımı


Windows için Windows Store da, android için Google Play de client i bulunan F5 Ssl VPN linux için herhangi bir repo ya katılmış gözükmüyor. Eğer siz de benim gibi linux kullanıcısı iseniz, kuruluşunuz tarafından size verilen vpn geçidi adresine firefox ile eriştiğinizde karşınıza çıkan sayfaya kullanıcı adı ve şifreniz ile giriş yapabilirsiniz.

Giriş yaptığınızda karşınıza şöyle bir sayfa çıkacak
Bu sayfada işaretli olan yerden manual olarak yüklemeyi seçip indirdiğiniz tgz uzantılı dosyayı açtığınzda
karşınıza şu dizin gelecek. Burada sağ tıklayıp terminalde açtıktan sonra;

sudo ./Install.sh 
komutu ile kurulumu başlatabilirsiniz. sadece bir kere kurayım mı diye soracak size "yes" yazıp entera basıp geçtikten sonra vpn clientiniz hazır. Kullanmak için sadece komut satırında (terminalde)

sudo f5fpc -s -t "https://sslvpnadresiniz.com"

yazarak başlatmanız

sudo f5fpc --stop 

yazarak durdurmanız mümkün olacaktır.

Detaylı bilgi için f5fpc --info yazmanız yeterli....

Kolaylıklar dilerim.



Zemberek 0.16.0 Text Normalizasyonu ve gRPC sunucusu


Zemberek NLP 0.16.0 yayınlandı.  Bu sürümdeki yeni özelliklerden bazıları:

Metin Normalizasyonu
Bu özellik ile sosyal medya, forum ve mesajlaşma yazlımlarında kullanılan cümlelerdeki hatalar düzeltilmeye çalışılır. Bu işlem, metne daha sonra uygulanacak işlemlerin başarımını arttırabilir. Örnek:

Yrn okua gidicem
yarın okula gideceğim

Tmm, yarin havuza giricem ve aksama kadar yaticam :)
tamam , yarın havuza gireceğim ve akşama kadar yatacağım :)

ah aynen ya annemde fark ettı siz evinizden cıkmayın diyo
ah aynen ya annemde fark etti siz evinizden çıkmayın diyor
Bu ilk denememiz olduğu için sıklıkla hata yaptığı durumlar olacaktır. Detaylar için dokümantasyona bakınız.

gRPC sunucusu
gRPC, açık kodlu, yüksek hızlı bir uzaktan fonksiyon çağrı mekanizmasıdır. Zemberek fonksiyonlarının bir kısmına başka programlama dillerinden hızlı erişim sağlamak için kullanılabilir. Bu ilk sürümde grpc sunucusu ve kısıtlı fonksiyonlara python ile erişim kütüphanesi yayınlandı. Dokümantasyon.

Yeni morfolojik analiz modları:
Normalizasyon türü işlemler için faydalı olabilecek iki yeni analiz modu eklendi. Bunlardan ilki "informal" analiz. Bu şekilde özellikle konuşma dilinde kullanılan "yapıcam, edicem, geliyo, gidek" türü kelimelerin analiz edilip formal şekillerine dönüştürülebilmesi için mekanizmalar hazırlandı. Bu mekanizmanın kapsamını ilerki sürümlerde arttırmayı düşünüyoruz.

Diğer mod ise türkçeye özgü harfleri ihmal eden analiz mekanizması. Bu şekilde "kisi" kelimesi "kişi, kışı" çözümleri bulunabiliyor.

Yeni analiz modları için dokümantasyonu inceleyebilirsiniz.

Bu sürümde önceki sürümlerdeki API'yi bozan değişiklikler de oldu ve bazı hatalar giderildi. Eğer projeyi kullanıyorsanız güncelleme yapmadan değişiklik listesini incelemenizi öneririz. Bu sürümde yardımı olan herkese, özellikle morfoloji hatalarını bildiren Müge ve lm modelindeki problemi gideren bojie'ye teşekkürler.



17 October 2018

GDPR: Kişisel Verilerin Korunmasında Yeni Dönem


GDPR (General Data Protection Regulation – Genel Veri Koruma Tüzüğü) 25 Mayıs 2018’de Avrupa Birliği’nde yürürlüğe girdi. GDPR, bireylerin kendi haklarında toplanan ve paylaşılan veriler üzerinde daha çok kontrol sahibi olabilmesini hedefliyor ve kullanıcılara yeni haklar tanıyor. GDPR’ye uygun hareket etmeyen şirketleri ise ağır cezalar bekliyor. Bu nedenle GDPR, bugüne kadarki en güçlü dijital mahremiyet hakları koruyucusu olarak nitelendiriliyor. GDPR, ilk başta sadece AB vatandaşlarını ilgilendiriyormuş gibi görünmesine karşın internetin sınırsız doğası nedeniyle AB sınırları dışındaki internet kullanıcıları da GDPR’nin getirilerinden yararlanacak. Ayrıca başka ülkeler de GDPR’yi örnek alan kanunlar hazırlıyorlar.

Avrupa, mahremiyet hakkında ABD’ye göre çok daha hassas bir tutuma sahip. Naziler’in vatandaşların özel verilerini, Yahudiler’i ve diğer azınlıkları tespit etmek için kullanmış olması hâlâ akıllarda. Kapı kapı dolaşan Alman nüfus memurları, delikli kartlara (punch cards) insanların milliyetlerini, anadillerini, dinlerini ve mesleklerini girmiş ve daha sonra bu delikli kartların sayımında ilk veri işlemcilerden olan IBM’in Hollerith makinelerinden yararlanmışlardı. Naziler ve IBM arasındaki işbirliğinin ayrıntıları 2001’de yayımlanan IBM and the Holocaust: The Strategic Alliance Between Nazi Germany and America’s Most Powerful Corporation adlı kitapta anlatılıyor. Naziler ve IBM arasındaki işbirliğinin boyutu hakkında bazı tarihçilerin itirazları olsa da nüfus sayımı verilerinin yalnız devletin işleyişi için değil insanlara zarar vermek için de kullanılabileceği hakkında hemfikirler.

Soğuk savaş yıllarında da (özellikle Doğu Almanya’da) hükümetler, insanların arkadaşlıklarından cinsel alışkanlıklarına kadar çeşitli konularda veri toplamaya devam ettiler. 1970’lerde Batı Almanya’da kişisel verilerin korunmasını hedefleyen adımlar atıldı ve 1983’te Federal Anayasa Mahkemesi, GDPR’nin temeli olarak kabul edilen ‘veri üzerinde öz belirlenim hakkı’nın temel bir hak olduğunu ilan etti. 1990’larda iki Almanya’nın birleşmesi ve soğuk savaşın sona ermesiyle beraber Avrupa Topluluğu’na üye devletler arasında veri paylaşımını kolaylaştırmak amacıyla bir veri koruma standardının oluşturulması gündeme geldi. Veri koruma kanunlarındaki farklılıklar devletler arasındaki veri paylaşımında yasal belirsizliklere neden oluyordu. 1995 yılında, 95/46/AT sayılı AB Veri Koruma Direktifi bu sorunu çözmek amacıyla yürürlüğe girdi. Direktif, kişisel verilerin işlenmesinde bireylerin haklarının korunması ve verinin üye devletler arasında serbest dolaşımı hakkında bir çerçeve sunuyordu.

Ancak AB Veri Koruma Direktifi sadece bir çerçeve sunmakla kalıyor ve AB üyesi devletlere doğrudan uygulanamıyordu. Bu direktiflerin ulusal kanunlara aktarılması gerekiyordu. Veri Koruma Direktifi’nin aktarımında farklılıklar olması kaçınılmazdı ve Direktif, devletlerin farklı veri koruma standartlarını uyumlulaştırmada başarılı olamadı. Bir AB ülkesinde yasal olan veri işleme etkinliği bir başka AB ülkesinde yasadışı olabiliyordu. Direktifin yetersizliğinin yanında sosyal ağlar, bulut bilişim ve elbette büyük veri (verinin hacmindeki, verinin analiz ve birikim hızındaki, veri çeşitliliğindeki artış) kavramının ortaya çıkışı 2012 yılında AB veri koruma kurallarında bir reforma gidilmesini gündeme getirdi. Reform önerisi AB Konseyi’nde ve AB Parlamentosu’nda tartışılmaya başlandı. 2014’te önce AB Parlamentosu, hemen ardından da AB Konseyi reform hakkında görüş birliğine vardı. Bu reforma karşı dijital ekonomi şirketlerinin yoğun kulis faaliyetleri vardı. Ayrıca Akıncı’nın (2017) belirttiği gibi AB’nin karar organları Avrupa Komisyonu, Konsey ve Parlamento’nun farklı güdüleri arasındaki çelişkiler de süreci etkiledi. Örneğin Komisyon, ekonomik gelişme ve güvenliği öncelikli görürken Parlamento için temel bireysel haklar daha ön plandaydı. Ayrıca üye devletler arasında mahremiyetin ne olduğu hakkında da görüş ayrılıkları vardı. Sonuçta, “insanın evi kendi kalesidir” gibi dar bir mahremiyet tanımının ötesinde, güncel teknolojilerdeki gelişmelerin ve içerdiği risklerin farkında olan ve buna karşı önlem almaya çalışan bir metin ortaya çıktı.

2016 yılının Nisan ayında da 95/46/AT sayılı AB Veri Koruma Direktifi yerini GDPR’ye bıraktı. GDPR, 24 Mayıs 2016 tarihinde yürürlüğe girdi. Fakat AB üyesi ülkelere GDPR’yi kendi iç hukuklarına eklemeleri için iki yıl süre tanındı ve 25 Mayıs 2018 tarihinde internette GDPR dönemi başladı.

Bu bağlamda, AB’de tüzükler (regulations) ile direktifler (directives) arasındaki farka dikkatinizi çekmek isterim. Tüzükler, AB üyesi her devlette hukuki zorunluluğa sahiptir ve tüm üye devletlerde belirli bir tarihte yürürlüğe girer. Direktifler ise ulaşılması gereken belirli hedefleri ortaya koyar ama üye devletler, direktiflerin ulusal yasalara nasıl dönüştürüleceğine karar vermekte serbesttir. Bu nedenle GDPR, AB Veri Koruma Direktifi’ne göre daha bağlayıcı ve etkili olacaktır (http://www.usda-eu.org/eu-basics-questions/difference-between-a-regulation-directive-and-decision/).

Mayısın son haftasında AB sınırları içinden de erişilebilen çeşitli web siteleri kullanıcılarına mahremiyet politikalarını değiştirdiklerini bildiren e-postalar göndermeye başladılar. Örneğin, bilişim teknolojileri hakkında yayımladığı kitaplarla tanınan Amerikan şirketi O’Reilly Media müşterilerine/kullanıcılarına (herhangi bir nedenle O’Reilly Media’ya e-posta adresini vermiş olanlara) gönderdiği 26 Mayıs 2018 tarihli e-postada 25 Mayıs 2018 tarihinde mahremiyet politikasını GDPR doğrultusunda güncellediğini duyurdu. Ne e-postayı gönderen O’Reilly Media ne de onu alan kişilerden biri olan ben, AB sınırları içindeyiz. Ama AB sınırları içindeki müşterilerine ulaşmak isteyen O’Reilly Media’nın mahremiyet politikasını GDPR’ye uyumlu olacak biçimde güncellemesi gerekiyordu. Ben de AB sınırları içinde yaşamıyor olmama rağmen bu güncellemeden yararlanabiliyorum. O’Reilly Media gibi birçok şirket AB için ayrı diğerleri için ayrı bir mahremiyet politikası hazırlayarak içinden çıkılmaz bir duruma düşmektense genel bir politikayı tercih ediyor. GDPR’den en çok başı ağrıması beklenen (ve umulan!) Google ve Facebook uzun süredir mahremiyet politikalarını GDPR’yle uyumlu hale getirmek için çalışıyorlar. Los Angeles Times, Chicago Tribune ve New York Daily News gibi ödevini vaktinde yapmayan web siteleri, Avrupalı ziyaretçilerine kapılarını kapattılar. USA Today ise Avrupalılar’ı ziyaretçilerden daha az veri toplayan, kendilerine ait başka bir siteye yönlendirmeye başladı (https://www.theverge.com/2018/5/25/17393894/gdpr-news-websites-down-europe).

Peki GDPR’yi bu kadar önemli yapan ne? GDPR, internetin işleyişini nasıl değiştirecek?

GDPR’nin Temel İlkeleri

99 maddeden oluşan GDPR’nin orjinal metnine https://gdpr-info.eu/, Türkçe çevirisini de https://www.kisiselverilerinkorunmasi.org/mevzuat/avrupa-birligi-genel-veri-koruma-tuzugu-gdpr-turkce-ceviri/ adreslerinden erişilebilir. Kısaca GDPR, bireylere haklarında toplanan ve paylaşılan veriler üzerinde daha fazla kontrol hakkı sağlayan ve buna uymayan şirketlere caydırıcı cezalar getiren bir düzenleme. GDPR’ye aykırı hareket eden bir şirket 20 milyon Avro veya küresel cirosunun %4’üne varan para cezaları (bu ceza Facebook için 1.6 milyar dolar anlamına geliyor) ödemek zorunda kalabilir. GDPR hakkındaki haberler genellikle bu büyük ceza üzerinde duruyor ve AB sınırları içinde iş yapmak isteyen şirketlerin GDPR’ye uyum için yapması gerekenleri tartışıyor. Ama GDPR’nin asıl ruhunu oluşturan bireylere tanınan haklar. Bu yazıda, GDPR’nin üzerinde yükseldiği temel ilkeleri ve bireylerin haklarını aktarmaya çalışacağım. Hukukçu değilim, GDPR’deki maddeleri layıkıyla aktaramayabilirim. Ama en azından yazıyı tamamladığınızda BBC’de GDPR hakkındaki bilginizi test eden sınavdan (https://www.bbc.com/news/technology-44224802) iyi bir not alabileceğinizin garantisini verebilirim :).

GDPR, kişisel verilerin şirketler, devlet kuruluşları ve diğer örgütler tarafından nasıl işlenebileceğini düzenliyor. ‘Kişisel verinin’ ve ‘işleme’nin (processing) GDPR’de nasıl tanımlandığı önemli bir konu. 4. maddeye göre kişisel verinin tanımı şöyle: “tanımlanmış veya tanımlanabilir bir gerçek kişiye ilişkin her türlü bilgi”. Bu tanıma göre ad, soyad, doğum tarihi, pasaport numarası, banka hesapları, bireye ait görüntü kayıtları, sosyal ağdaki postalar, sağlık kayıtları, ip adresi gibi veriler GDPR kapsamında değerlendiriliyor. İşleme faaliyeti (processing) ise yine aynı maddede verinin çok çeşitli kullanımlarını içerecek biçimde açıklanıyor: “otomatik yöntemlerle olsun veya olmasın, kişisel veri veya kişisel veri kümeleri üzerinde gerçekleştirilen toplama, kaydetme, düzenleme, yapılandırma, saklama, uyarlama veya değiştirme, elde etme, danışma, kullanma, iletim yoluyla açıklama, yayma veya kullanıma sunma, uyumlaştırma ya da birleştirme, kısıtlama, silme veya imha gibi herhangi bir işlem veya işlem dizisi”.

5. Maddede GDPR’nin aşağıdaki yedi temel ilke üzerine kurulu olduğu belirtiliyor:

  1.  Hukuka uygunluk, adalet ve şeffaflık
  2.  Amacın sınırlandırılması
  3.  Verilerin en az seviyeye indirilmesi
  4.  Doğruluk
  5.  Saklama süresinin sınırlandırılması
  6.  Bütünlük ve gizlilik (güvenlik)
  7.  Hesap verebilirlik

Hukuka Uygunluk, Adalet ve Şeffaflık

GDPR’de yer alan bu ilkeler aslında birbirini destekleyen iç içe geçmiş ilkelerdir. Hukuka uygunluk, GDPR’nin 6. maddesinde ayrıntılı olarak açıklanmakta ve veri işlemenin hukuka uygun olabilmesi için aşağıdaki durumlardan en az birini sağlaması gerekmektedir:

  • Kişinin belirli bir (veya daha fazla) amaç için verilerinin işlenmesine izin vermesi (Rıza),
  • Veri öznesinin taraflarından biri olduğu bir sözleşmenin yerine getirilmesi için gerekli olması (Sözleşme),
  • Yasalara uyum için gerçekleştirilmesi (Yasal Zorunluluk),
  • Veri öznesi ya da bir başka gerçek kişinin hayatını korumak için olması (Yaşamsal Çıkarlar),
  • Kamu çıkarları doğrultusunda bir görevin yerine getirilmesi için gerekli olması (Kamu Görevi),
  • Veri kontrolörünün veya üçüncü tarafların (bireyin kişisel verilerini korumak için daha geçerli bir nedenin olmadığı durumlarda) meşru çıkarlarının olması (Meşru Çıkarlar)

Adaletlilik ise kişisel verinin insanların beklentileri doğrultusunda kullanılmasıdır. Kişisel verilerden yararlanan kuruluş bunu yapmaya hakkı olup olmadığını da dikkate almalıdır. Bu bağlamda, kişisel verilerin nasıl elde edildiği adaletliliğin değerlendirmesinde önemli bir parametredir. Şeffaflık da bununla ilişkilidir. Veriyi işleyenler en başından itibaren kim oldukları, verileri nasıl ve hangi amaçla kullanacakları hakkında dürüst olmalı, hedeflerini açık ve yalın bir dille ifade etmelidir.

Amacın Sınırlandırılması

Veriyi toplayan ve işlem için bireyin rızasını alan kuruluş, veri toplarken açıkladığı amacına sadık kalmalıdır. Veri işleme süreci içinde ilk baştakinden farklı bir amaç ortaya çıkmışsa bireyin bunun için de rızasının alınması gerekmektedir. Örneğin bir doktorun hasta listesini seyahat acentesi işleten eşiyle paylaşması ve eşinin bu verileri hastalara tatil paketi satmak için kullanması GDPR’nin bu ilkesine aykırı bir durumdur.

Verilerin En Az Seviyeye İndirilmesi

Kuruluşların verdikleri hizmetin işleyişi için gerekli olmayan bir veriyi bireylerden paylaşmalarını istememesi gerektiğini ifade etmektedir. İşlenen veri, yeterli, yerinde ve gerekli olanla sınırlı olmalıdır. EFF (Electronic Frontier Foundation) yöneticisi Danny O’Brien bu durumu açıklamak içim doğum günü pastası örneğini veriyor. Diyelim ki doğum günü pastaları yapan bir şirket pastanın üzerine adınızı yazmak için adınızı istedi. Bunun gerekli olduğunu düşünmüyorsanız adınızı vermeyi reddedebilirsiniz. GDPR’ye göre bu ret, şirketten pasta hizmetini almanızı engelleyebilecek bir durum değildir. Pasta şirketi, “adınızı söylemediğiniz için size pasta satamıyorum” diyemez. GDPR, artık kanıksanan, “alınan hizmete karşılık kişisel veriler” zorlamasının önüne geçecek ve şirketleri, iş modellerinde değişiklik yapmaya zorlayacak gibi görünüyor. Örneğin, doğum tarihi, bir web sitesinden alınan hizmetin verilmesi için gerekli değilse kullanıcı bunu girmeye zorlanamayacak ve kullanıcı “bu bilgiyi vermiyorsan hizmetlerimden yararlanamazsın” denilerek reddedilemeyecek (https://www.nytimes.com/2018/05/23/technology/personaltech/what-you-should-look-for-europe-data-law.html).

Doğruluk

Verinin işlenme amacı göz önünde bulundurularak güncel ve doğru tutulması ile ilgilidir. ICO’nun işaret ettiği gibi GDPR’de doğrunun (accurate) ne olduğu tanımlanmamıştır. Ancak 2018 Veri Koruma Kanunu’na göre doğru olmayan (inaccurate), yanlış veya bir konuda yanıltıcı olan anlamına gelmektedir. Verinin kullanılış amacı da doğruluğunu etkileyen bir parametredir. Buna göre herhangi bir kişisel kaydın zaman içinde değişmesi, ilgili kayıt tarihsel bir kayıt olarak değerlendirildiği sürece kaydın doğruluğunu etkilemez. Örneğin kişi Ankara’dan İstanbul’a taşınmışsa kişinin şu an Ankara’da yaşadığını belirten kayıt doğru değildir ama kişinin belirli bir zamanda Ankara’da yaşadığı doğrudur. Bunun yanında GDPR’nin doğruluk ilkesi doğrultusundaki en önemli adımı bireylere haklarındaki yanlışlığı düzeltme hakkı sunmasıdır.

Saklama Süresinin Sınırlandırılması

Veri toplayan kuruluşlar gereğinden fazla veri sakladıkları gibi topladıkları veriyi hiç silmemeye eğilimlidir. GDPR’de ise artık gerek duyulmayan kişisel verinin yalnız işlenme amaçlarının gerektirdiği sürece saklanması gerektiği belirtilmektedir. “Bir gün belki gerek olur” diye veri istiflenmemelidir. Kişiler artık gerek duyulmayan verilerinin silinmesini talep edebilirler. Ancak kişisel veri anonimleştirildiğinde silme işlemine gerek kalmayabilir. Ayrıca veri, kamu yararı için arşivleniyor, bilimsel ve tarihsel araştırmalar veya istatistiksel amaçlar için tutuluyorsa bu ilke gevşetilebilmektedir. Ancak bu amaçlar için saklanan veri, daha sonra başka amaçlar için kullanılmamalıdır.

Bütünlük ve gizlilik

Saklanan verilerin güvenliği ile ilgilidir. GDPR’ye göre veri “uygun teknik ve düzenlemeye ilişkin tedbirler” göz önünde bulundurularak güvenli biçimde işlenmelidir. Bu bağlamda, GDPR önceki kişisel veri koruma kanunlarını takip etmektedir. Fakat GDPR farklı olarak veri işlemenin güvenliği, ne yapılması gerektiği, enformasyon risklerinin nasıl değerlendirileceği ve uygun güvenlik önlemlerinin uygulanması hakkında daha ayrıntılı bir yaklaşım içermektedir. Ayrıca daha önceki düzenlemelerde genel olarak iyi ve en iyi pratikler önerilirken şimdi bunlar yasal gereklilik haline gelmiştir.

Kişisel verilerin, bilgisayar korsanlarının hedefinde olması kaçınılmazdır. GDPR, saldırılara ve sızıntılara karşı kullanıcıların kişisel verilerini depolayanlara çeşitli sorumluluklar yüklemektedir. GDPR’nin 33. ve 34. maddelerinde, bu tip durumlara karşı ve veri ihlali sonrasında neler yapılması gerektiği yazmaktadır. Hiçbir şey olmamış gibi olayın üzerini örtmek yerine ihlalin etkilerini en az düzeye indirmek için veriyi işleyenlerin “ihlalden haberdar olduktan itibaren en geç 72 saat içerisinde, kişisel veri ihlalini” yetkili makamlara bildirmeleri gerekmektedir.

Hesap Verebilirlik

Tanımlar bölümünde yer alan ‘kontrolör’ (controller) ve ‘işleyici’ (processor) tanımları da kuruluşların sorumluluklarını tariflemek açısından önemlidir. Kontrolör, “yalnız başına veya başkalarıyla birlikte kişisel verilerin işlenmesine ilişkin amaçlar ve yöntemleri belirleyen gerçek veya tüzel kişi, kamu kuruluşu, kurumu veya diğer herhangi bir organ”, işleyici ise “kontrolör adına kişisel verileri işleyen bir gerçek ya da tüzel kişi, kamu kuruluşu, kurumu veya diğer herhangi bir organ” olarak tanımlanmaktadır.

Yukarıdaki altı ilke kontrolörlere verilmiş öğütler değildir; yine 5. maddede kontrolörlerin bu ilkelere uygun davranmaları ve bunu göstermek zorunda oldukları yazmaktadır. 1998 Kanunu’nda bu sorumluluklar üstü kapalı olmasına karşın GDPR’de açık seçik belirtilmektedir. 24. Maddede, “Kontrolör, işleme faaliyetinin mahiyeti, kapsamı, bağlamı ve amaçlarının yanı sıra gerçek kişilerin hakları ve özgürlükleri açısından çeşitli olasılıklar ve ciddiyetlere sahip riskleri dikkate alarak, işleme faaliyetinin bu Tüzük uyarınca gerçekleştirilmesini sağlamak ve bu şekilde gerçekleştirildiğini gösterebilmek için uygun teknik ve düzenlemeye ilişkin tedbirler uygular. Bu tedbirler gözden geçirilir ve, gerektiğinde, güncellenir.” denilmektedir. Ayrıca Akıncı’nın (2017) yazdığı gibi,

GDPR ile getirilen düzenleme kapsamında, veri kontrolörü olmamakla birlikte bu verileri işleyen herhangi bir şirket ya da birey de (bulut hizmet sağlayıcıları gibi alt hizmet sağlayan üçüncü taraflar da dâhil olmak üzere) verinin hukuka uygun işlenmesinden sorumlu tutulacaklardır.

GDPR ve Haklar

GDPR, bireylerin var olan haklarını genişletiyor ve onlara yeni haklar sağlıyor: Bilgilendirilme hakkı (right to be informed), erişim hakkı (right of access), düzeltme hakkı (right to rectification), silme hakkı (right to erasure), işleme faaliyetini kısıtlama hakkı (right to restrict processing), veri taşınabilirliği hakkı (right to data portability), itiraz hakkı (right to object), profilleme de dahil olmak üzere otomatik işlemelere ilişkin haklar (Rights related to automated decision making including profiling).

Bu hakların AB sınırları dışında yaşayan bizler için bir anlam ifade etmediği düşünülebilir. Ama bu haklar iki açıdan önemlidir. Birincisi, şirketlerin interneti sınırlara göre bölmesi zor olacağından çoğu şirket tüm kullanıcılar için geçerli tek bir mahremiyet politikası oluşturmayı tercih etti. Microsoft (https://www.microsoft.com/en-us/servicesagreement/faq.aspx), Twitter (https://help.twitter.com/en/rules-and-policies/update-privacy-policy), Facebook (https://newsroom.fb.com/news/2018/04/terms-and-data-policy/), LinkedIn (https://blog.linkedin.com/2018/march/8/updates-to-our-terms-of-service) ve Google (https://www.blog.google/topics/public-policy/our-preparations-europes-new-data-protection-law/) GDPR’yle uyumluluk doğrultusunda kişisel veriler hakkındaki politikalarını güncellediklerini duyurdular. Bu güncellemelerden biz de yararlanıyoruz. Fakat bu hakların ihlali durumunda ülkemizde kişisel veriler GDPR ile değil 24/03/2016 tarihinde TBMM Genel Kurulu’nda kabul edilen “6698 sayılı Kişisel Verilerin Korunması Kanunu” ile korunduğundan GDPR’de belirtilen bazı haklardan yararlanamayacağız. GDPR’nin ikinci önemi de tam bu noktada ortaya çıkıyor. GDPR’de belirtilen haklar kişisel veriler hakkındaki ufkumuzu genişletiyor ve 6698 sayılı Kanunu’nun ilerletilebileceğini ve ilerletilmesi gerektiğini gösteriyor.

Bilgilendirilme Hakkı

GDPR’nin 12-14. maddelerinde yer alan bilgilendirilme hakkı, şeffaflık ilkesiyle ilişkilidir ve kişilere verileriyle ne yapıldığı hakkında bilgi vermeyi zorunlu kılmaktadır. Kontrolörler ve işleyiciler şimdiye kadar yaptıkları gibi karmaşık ve hukukçu olmayanların anlamakta zorlandığı bir üslupla yazılmış, araya tuzak maddeler sıkıştırılmış gizlilik metinleriyle bireylerin karşısına çıkamayacaklar. Artık bu bilgiyi açık, anlaşılabilir ve kolay erişilebilir bir biçimde sunmaları gerekiyor.

Eğer kontrolör, kişisel verileri satmak veya başka bir kuruluşla paylaşmak istiyorsa (istisnai bir durum yoksa) insanları bunun hakkında bilgilendirmelidir. Verileri alan kuruluş da bir ayı aşmadan gizlilik politikasını verileri toplanan bireylere iletmelidir. Eğer veri, toplanırken belirtilenden farklı bir amaç için kullanılacaksa ya da farklı kaynaklarda yer alan verilerle birleştirilecekse bunun mutlaka bildirilmesi gerekmektedir. Kişisel verilere YZ (yapay zeka) uygulanacaksa YZ’nin kullanım amaçları hakkında dürüst olunması, işleme sürecinde amacın değişmesi durumunda kişilerin bu amaç değişikliği hakkında bilgilendirilmeleri gerekmektedir. YZ, bireyler üzerinde hukuki veya benzer etkileri olabilecek otomatik karar verme süreçlerinde kullanılacaksa bunun için hangi enformasyonun kullanıldığı, yapılan işlemle neden ilgili olduğu ve olası etkilerinin nasıl olacağı açıklanmalıdır.

Bireyler bu haklardan yararlanmak için ek bir ödeme yapmazlar. Ama taleplerin asılsız ve ölçüsüz olduğu durumlarda kontrolör makul bir ücret talep edebilir ya da talebi tamamen reddedebilir. Kontrolör, talebin asılsızlığını ve ölçüsüzlüğünü göstermekle yükümlüdür.

Erişim Hakkı

GDPR’nin 15. maddesi veri sahibine kişisel verilerinin bir kopyasına ulaşabilme, verilerinin nasıl ve neden kullanıldığını anlayabilme ve yapılanların yasal olup olmadığını kontrol edebilme hakkı sağlamaktadır. Bu maddeye göre bireyler, kişisel verilerinin işlenip işlenmediğinin teyidini ve kişisel verilerinin bir kopyasını talep edebilirler. Kontrolörler ve işleyiciler ayrıca aşağıdaki konulardaki taleplere yanıt vermelidir:

  •  işleme amaçları
  • ilgili kişisel veri kategorileri
  • kişisel verilerin açıklandığı veya açıklanacağı alıcılar veya alıcı kategorileri
  • kişisel verilerin saklanması açısından öngörülen süre veya bunun mümkün olmaması halinde, bu sürenin belirlenmesi amacı ile kullanılan kriterler
  •  bulunulan otomatik karar vermenin varlığı ve, en azından bu hallerde, yürütülen mantığa ilişkin anlamlı bilgilerin yanı sıra söz konusu işleme faaliyetinin veri sahibi açısından önemi ve öngörülen sonuçları.

Bireylere bu kapsamda sağlanan bilginin özlü, şeffaf, anlaşılır ve kolayca erişilebilir bir biçimde, açık ve sade bir dilde olması gerekmektedir. Örneğin, bireyin talebi üzerine gönderilen raporda A, B, C gibi kodlar kullanılmışsa bunların karşılığı raporda açıklanmalıdır.

Örneğin Twitter’a bu hak doğrultusunda eklenen bir sayfa var (“Ayarlar ve Gizlilik”e tıklandıktan sonra açılan sayfanın sol tarafındaki menüde yer alan “Twitter Verilerin” adlı bağlantıya tıklanarak erişilebilir). “Twitter Verilerin” başlıklı sayfanın başında kullanıcı hesabı hakkında kullanıcı adı, e-posta, hesap oluşturulma tarihi gibi temel bilgiler var. Twitter’a cinsiyetinizi veya doğum tarihinizi yazmadıysanız Twitter paylaşım ve takipleriniz doğrultusunda istatistiksel tahminlerde bulunarak sizi profilliyor. Örneğin, benim hesabımda cinsiyet kısmında erkek yazıyor ve altında da şu not var: “Cinsiyet eklemediysen, profiline ve etkinliğine dayanarak hesabınla en güçlü ilişkiye sahip bilginin bu olduğunu bilmeni isteriz. Bu bilgi herkese gösterilmeyecektir.” Yaş bölümünde, “13-54, >65” yazıyor ve altına da “bu yaş aralıkları, deneyimini kişiselleştirmek için kullanılır. Bunlar profiline ve etkinliklerine dayalıdır” notu düşülmüş. Doğru değilse profilimde düzeltebileceğim belirtiliyor. Cinsiyet ve yaş bilgisinin yanında “Twitter’a göre belirlenen ilgi alanları”m da profillenmiş ve 105 ilgi alanım olduğu belirtilmekte. Yine aynı sayfanın sonunda, “Twitter verilerini indir” başlığının altında şunlar yazmakta: “Senin için en uygun ve en yararlı olduğuna inandığımız bilgileri içeren bir dosya isteyebilirsin. İndirilmeye hazır olduğunda bildirim alırsın”. Bu bilgiler birkaç saat içinde hazırlandıktan sonra tüm Twitter geçmişinizi indirebiliyorsunuz.

GDPR’ye uyum için kullanıcıların kişisel verilerini toplayan web siteleri Twitter’daki gibi açıklayıcı sayfalar yapmak ve kullanıcıların kişisel verileri nasıl kullandıklarını açıklamak zorundalar.

Düzeltme hakkı

GDPR’nin 16. maddesine göre bireyler haklarındaki yanlış bilgilerin düzeltilmesini veya eksik bilgilerin tamamlanmasını talep edebilirler. Bu hak, 5. maddede belirtilen doğruluk ilkesiyle ilişkilidir. Örneğin, doktor hastaya bir teşhis koydu. Daha sonra bu teşhisin yanlış olduğu ortaya çıktı. Yanlış teşhisin veritabanında yer almasında bir sorun yoktur. Ama teşhisin yanlış olduğu ortaya çıktıktan sonra, teşhisin yanlış olduğu bilgisi de girilmelidir. Hastanın bu düzeltmeyi talep etme hakkı vardır. Ayrıca hastane, hastanın verisini paylaştığı diğer kuruluşlara da bu düzeltme talebini iletmelidir.

Silme Hakkı

Bireyler düzeltmenin yanında, kişisel verilerinin tamamen silinmesini de talep edebilir. Bu hak, unutulma hakkı olarak da bilinmektedir. Unutulma hakkı, yeni değildir; en azından 1974’te İngiltere’deki Suçluların Rehabilitasyonu Yasası’na kadar geriye gitmek mümkündür. Bu hakka göre kişi geçmişteki bir suçunun cezasını çektikten sonra sabıkası yaşamının geri kalanını etkileyecek biçimde (örneğin iş başvurularında) tekrar tekrar karşısına çıkmamalıdır. Unutulma hakkı, internetle beraber yeni bir boyut kazanır. 2014 yılında İspanya vatandaşı Mario Costeja Gonzalez’in Google İspanya ve Google Inc. şirketine karşı açtığı dava unutulma hakkında önemli bir kilometre taşı olur. Gonzalez, 1998 yılında bir gazetede yapılan habere ilişkin kısayolun arama motoru sonuçlarından kaldırılmasını talep etmektedir. Mahkeme arama motorlarını veri kontrolörü olarak değerlendirir ve Gonzalez’in talebini kabul eder.

Unutulma hakkının temelinde, kişilerin kendi gelecekleri hakkında özerk olması ve geçmişte yaptıklarının bunu olumsuz etkilememesi vardır. Daha öncesinde de bu hakkı tanıyan mahkeme kararları olmuştur. Fakat GDPR, bireylerin kendilerine ait kişisel verileri kontrol edebilme hakkı doğrultusunda (belirli koşullar altında) söz konusu verilerin veritabanlarından tamamen silinmesini de talep edebileceğini güvence altına alan bir hukuki düzenleme getirmektedir. 17. maddede bu hakkın hangi koşullarda geçersiz olabileceği açıklanmaktadır.

İşleme Faaliyetini Kısıtlama Hakkı

18. ve 19. maddelerde bireylerin verilerinin tamamen silinmesi yerine veri işleme faaliyetinin kısıtlanmasını da talep edebileceği ve bunun hangi koşullarda geçerli olduğu belirtilmektedir. İşleme faaliyetinin kısıtlandığı durumlarda veri saklanır ama kullanılmaz. Kısıtlama çoğunlukla belirli bir süre içindir. Örneğin, “kişisel verilerin doğruluğuna veri sahibi tarafından itiraz edilmesi halinde, kontrolörün kişisel verilerin doğruluğunu teyit etmesini sağlayan bir süre boyunca” işleme faaliyeti kısıtlanabilir. Kişinin rızası, diğer şahısların hakları, yasal gerekçeler ve kamu çıkarları dışında veri sadece saklanabilir; başka bir işleme faaliyetinin içine giremez. Kontrolör, verinin işleme faaliyetini kısıtlamak istediğinde bunu,

  • veriyi geçici olarak bir başka işleme sistemine taşıyarak
  • veriyi kullanıcılar için kullanım dışı yaparak
  •  yayınlanmış bir veriyi web sitesinden çıkararak

yapabilir.

Veri Taşınabilirliği Hakkı

Özel mülkiyetli platformlardaki en büyük sorunlardan biri de verilerin bu platformların sınırları dışına çıkamamasıdır. GDPR’nin 20. maddesi bu sorunun aşılabilmesi için önemli bir adım atmaktadır. 20. maddeye göre, “veri sahibinin kendisi ile ilgili olarak bir kontrolöre sağlamış olduğu kişisel verileri yapılandırılmış, yaygın olarak kullanılan ve makine tarafından okunabilecek bir formatta alma hakkı” ve “kişisel verilerin sağlandığı kontrolörün herhangi bir engellemesi olmaksızın bu verileri başka bir kontrolöre iletme hakkı” bulunur.

Web sitesi kullanım tarihçesi veya arama etkinlikleri, trafik ve konum verisi, akıllı sayaçlar ve giyilebilir teknolojiler gibi bağlı cihazlardan elde edilen ham veriler bir platformdan diğerine taşınabilir. Ancak bu verilerden türetilen veya çıkarılan veriler taşınabilirlik kapsamında değildir.

Veri taşınabilirliği hakkı, platform değiştirmenin zorluğundan yararlanarak rekabeti engelleyen Facebook, Uber, Airbnb gibi şirketlerin iş modelini sarsabilir.

İtiraz Hakkı

21. maddeye göre bireyler, kişisel verilerinin işlenmesine itiraz edebilirler. İtiraz hakkı her koşulda aynı derecede geçerliliğe sahip değildir. Örneğin veri sahibinin, doğrudan pazarlama amacıyla yapılan işleme faaliyetine itiraz hakkı mutlaktır. Bireyler, veri toplamanın amacının kamu çıkarları veya daha başka meşru çıkarlar olması durumunda da itiraz hakkına sahiptir. Ama bu durumda itirazın gücü daha zayıftır. Ayrıca verinin işlenme amacı bilimsel veya tarihsel araştırmalar, istatistiksel amaçlar ise itiraz hakkı daha sınırlı olacaktır.

Profilleme de Dahil Olmak Üzere Otomatik İşlemelere İlişkin Haklar
Veriyi düzeltme, silme veya işlenmesine itiraz gibi haklar son derece önemli olmakla beraber gündelik yaşamın algoritmik düzenlenmesi ayrıca üzerinde durulması gereken bir konudur. Yasal düzenlemeler doğal olarak teknik gelişmelerden sonra gelirler. Buna rağmen GDPR’nin güncel olduğunu, henüz yeni yeni filizlenen ve müdahale edilmediğinde çeşitli toplumsal sorunlara neden olan algoritmik düzenlemelere karşı kritik bir adım olduğunu düşünüyorum. Bireyleri profilleyen (kişisel verileri, bireyler hakkında bazı değerlendirmeler yapmak için değerlendiren) ve otomatik kararlar alan (insan müdahalesi olmaksızın çeşitli algoritmalara göre alınan kararlar) sistemler karşısında bireylerin hakları önemli bir sorunsaldır. Kredi taleplerinde, iş başvurularında, sigortacılıkta profillemeden ve otomatik kararlar alan algoritmik sistemlerden yararlanılmaktadır. Bu yaklaşımın çeşitli avantajları olmasına karşın Cathy O’Neil’in Weapons of Math Destruction: How Big Data Increases Inequality and Threatens Democracy kitabında ayrıntılı olarak ele aldığı ve benim de 4. Endüstri Devrimi ve toplum mühendisliği yöntemleri: Nasıl yönlendiriliyoruz? (Bilim ve Gelecek, sayı 166) başlıklı yazımda bazı örneklerini aktardığım gibi bu sistemler sorumsuzca kullanıldığında yıkıcı sonuçlar doğuruyorlar.

Bu nedenle bireylerin algoritmik düzenlemelere karşı haklarını ifade eden 22. maddenin özel bir önemi var. Fakat Dickson’un (2018) işaret ettiği gibi verinin günümüzdeki bir çok yapay zeka uygulamasının temeli olduğu düşünülürse yalnız 22. maddenin değil genel olarak GDPR’nin YZ üzerinde yükselmeye başlayan iş modellerini olumsuz etkilemesi kaçınılmazdır. YZ şirketleri şimdiye kadar kişisel veriler hakkındaki zayıf düzenlemelerden sonuna kadar yararlandılar. Kullanıcılar aldıkları ücretsiz hizmetlerin karşılığını kişisel verileriyle ödediler. Şirketler bu verileri YZ algoritmalarını eğitmek, kullanıcılarının dijital profillerini oluşturmak, davranışlarını tahmin etmek ve daha iyi hizmet sağlamak için kullandılar. Böylece milyar dolarlar kazandılar.

Dickson (2018) yeni koşulların YZ şirketlerine üstesinden gelinemeyecek bir sorun yaratmadığını öne sürmektedir. YZ şirketleri bir yandan insanların mahremiyet hakkına saygı gösterirken diğer yandan YZ teknolojilerini geliştirmenin yeni yollarını bulmak zorundalar. GDPR oyunun kurallarını değiştiriyor. Şirketler çalışmalarında şeffaf olmalılar ve kendi verisine ulaşmak ya da onu tamamen silmek isteyenlerin taleplerine kulak vermeliler. Dickson (2018), bu yeni durumun şirketler için iki temel zorluk içerdiğini düşünüyor. Birincisi şirketler, kişiler platformlarından ayrılsalar bile ayrılan kişilerin verilerini diğer kullanıcıların davranış örüntülerini tahmin etmek için kullandıklarından silmek istemezler. Ama şimdi bu verileri ya silmek ya da anonimleştirmek zorunda kalacaklar. Ayrıca silinmek istenen veri şirketin YZ algoritmalarını eğitmek için üçüncü taraflarla da paylaşılmaktaydı. Şimdi bu verilerin de izini sürmek gerekecek.

Dickson’un (2018) işaret ettiği ikinci zorluk ise kullanıcılar bu algoritmaların işlevselliğine maruz kaldıklarında bunun hakkında bilgilendirilmelerinin gerekmesi. Ayrıca algoritmik kararların arkasındaki mantığın da açıklanması lazım. Bilgilendirme işlemi kolay olmasına karşın algoritmaların mantığının açıklanmasına karşı şirketler bunun ticari sırları olduğunu öne sürebilirler ya da isteseler de algoritmaların nasıl çalıştığını açıklayamayabilirler. Çünkü bazen kara kutu (blackbox) olarak adlandırılan derin öğrenme ve derin sinir ağlarının davranışlarını açıklayabilmek onları inşa edenler için bile karmaşık ve kimi zaman da olanaksızdır. YZ, sağlık, hukuk, krediler ve eğitim gibi alanlara uygulandığında kara kutu sorunu daha ciddi olumsuzluklara neden olmaktadır. Artık bireyler, insanların yaşamı üzerinde büyük etkileri olan algoritmik kararların nasıl alındığına dair açık seçik bir açıklama talep etme hakkına sahip olacaklarından yıkıcı YZ uygulamaları kontrolsüz bir biçimde yaygınlaşamayacak.

YZ şirketlerinin insanların açık rızası olmadan topladığı ve işlediği veriler üzerine kurulu iş modelleri GDPR’yle başlayan yeni dönemde devam edemeyecek. Bundan sonra GDPR’nin (çağımızın sihirli kelimesi) inovasyonların ortaya çıkmasını engellediği hakkında haberler okumaya hazırlıklı olalım. Ama Dickson’un (2018) vurguladığı gibi YZ şirketlerinin halihazırdaki çalışma tarzları alternatifsiz değildir. İnsanlara verilerinin nasıl kullanıldığı hakkında açıklamada bulunabilen şeffaf çözümler mümkündür. Şeffaflığı ve katılım kolaylığını savunan ademi merkeziyetçi YZ (https://bdtechtalks.com/2018/01/10/decentralized-ai-blockchain/) ve insanların anlayabileceği yapay zeka algoritmaları geliştirmeyi hedefleyen açıklanabilir YZ (https://en.0wikipedia.org/wiki/Explainable_Artificial_Intelligence) gibi farklı seçenekler oluşmaktadır.

GDPR’den eMahremiyet’e

Türkiye’de kullanıcıların kişisel verilerini koruyan “6698 sayılı Kişisel Verilerin Korunması Kanunu”nun hazırlanışı sırasında o zaman yürürlükte olmayan GDPR’den değil, 95/46 sayılı Direktif’ten yararlanıldı. GDPR’nin “sorumluluklar, yaptırımlar, kişi hakları ve veri koruma tedbirleri açısından daha sıkı ve kapsamlı düzenlemeler getirdiğini” belirten ve “başta veri işleyen tarafların artırılmış sorumluluk rejimi, unutulma hakkının kanunla tanımlanması, idari para cezalarına ilişkin yaptırımların artırılması yoluyla caydırıcılığın güçlendirilmesi olmak üzere veri taşınabilirliği ve etki değerlendirmesi ile tasarımdan itibaren güvenlik gibi yenilikçi yaklaşımların 6698 sayılı Kanun’a ve uygulamaya yansıtılmasının faydalı olacağı”nı savunan Akıncı’ya (2017) katılıyorum. GDPR yeni haklar için de bir ilham kaynağı olacaktır.

GDPR benzeri yasalar Avrupa’yla sınırlı kalmayacak gibi görünüyor. Brezilya, Japonya, İsrail ve Güney Kore, AB’yi takip ediyorlar ve daha şimdiden benzer kanunlar hazırladılar. Avrupalı yetkililer de Silikon Vadisi’nin ancak birleşik küresel bir yaklaşımla engellenebileceğini düşündüklerinden dolayı GDPR’nin diğer devletler tarafından kopyalanmasını teşvik eden bir çalışma yürütüyorlar. AB, teknoloji devlerine daha sıkı antitröst yasaları ve vergi politikalarıyla karşı koymaya hazırlanıyor (https://www.nytimes.com/2018/05/24/technology/europe-gdpr-privacy.html).

GDPR kişisel verilerin izinsiz ve şeffaf olmayan biçimlerde kullanımından kaynaklı sorunları hemencecik çözemeyecek; kişisel verileri GDPR’ye aykırı biçimlerde kullanmak isteyenler yine olacaktır. Ama cezaların caydırıcılığı birçok kötü niyetli girişimi durduracak ve daha önce olduğu gibi yasal boşluktan yararlananlar eskisi gibi rahat hareket edemeyecekler. Üstelik Avrupa, GDPR’den sonra eMahremiyet Tüzüğü ile yeni bir hamle yapma hazırlığında. eMahremiyet iletişimin gizliliğini koruyor ve GDPR’ye göre daha sıkı kurallar getiriyor. eMahremiyet, Avrupa Parlamentosu’nda kabul edildi ve AB Konseyi’nde görüşmeler devam ediyor.

GDPR ve eMahremiyet birbirini tamamlayan yasalar olmasına karşın kapsamları farklı. GDPR şirketlerin ve kuruluşların işlediği kişisel veriler hakkındayken eMahremiyet Direktifi’nin devamı olan eMahremiyet Tüzüğü’nün hedefi elektronik iletişimin gizliliğini korumak. eMahremiyet Tüzüğü, WhatsApp, Facebook Messenger, Skype, iMessage ve video oyunlarında oyuncular arası mesajlaşmalar gibi kişiler arası iletişimin yanında nesnelerin interneti (IoT) cihazlarını da kapsıyor. İletişime ait üstveriyi (metadata) koruma altına alıyor. eMahremiyet’e göre şirketler kullanıcıların cihazlarına takip kodu yerleştirmeden veya iletişim verilerini toplamadan önce açık izinlerini almak zorunda kalacak. Birkaç yıl önce GDPR’yi engellemeye çalışan şirketler şimdi de eMahremiyet’e karşı yoğun kulis faaliyeti yürütüyorlar ve eMahremiyet’in Avrupa’nın dijital ekonomisinin gelişimini baltalayacağını öne sürerek yasaya karşı bir kamuoyu oluşturmaya çalışıyorlar. Bu şirketlere göre internet kararacak, bağımsız medya ve dijital büyüme yenilgiye uğrayacak (https://www.nytimes.com/2018/05/27/technology/europe-eprivacy-regulation-battle.html).

eMahremiyet yasa taslağını sunan AP üyesi Birgit Sippel, Cambridge Analytica skandalını hatırlatarak bir tıkla, yüz binlerce veya milyonlarca insanın yönlendirilebildiğini (manipulate), bu nedenle mahremiyetin korunmasının özellikle dijital ortamda daha önemli hâle geldiğini savunuyor. Ayrıca Sippel’in oylama öncesinde Avrupa Parlamentosu’nda yaptığı konuşmada ifade ettiği gibi lobicilerin yaydığı yalanların aksine yasanın temel amacı, iletişim verilerinin kontrolünü kullanıcılara geri vermek ve dijital ortamda iletişimin gizliliğini sağlamak. eMahremiyet, her türlü reklamı değil gözetim odaklı reklamı kısıtlıyor ve kullanıcı izlenmeyi kabul ettiğinde bu kısıtlama da ortadan kalkıyor. Şirketlerin telaşının asıl nedeni kullanıcının haberi olmadan yapılan gözetimin artık yasadışı olması.

GDPR ve eMahremiyet, Avrupa’nın insanlığın karşı karşıya olduğu tehlikenin farkında olduğunu gösteriyor. Bu farkındalıkta ekonomik çıkarlarının da etkisi var. Lobi faaliyetlerinin arkasındaki güçler hemen pes etmeyecektir. 26 Ekim 2017’de Avrupa Parlamentosu’nda yapılan oylamada 318 kişi eMahremiyetin lehinde, 280 kişi de aleyhinde oy kullandı; fark azdı. Şirketler politikacıları, mahremiyetin çağımızda gereksiz olduğuna ve eMahremiyet’in daha iyi hizmet verebilmelerini engellediğine ikna etmeye çalışacaktır.

Her şeye rağmen mahremiyetin büyük veri, YZ, nesnelerin interneti gibi güncel teknolojiler ışığında tartışılması ve güçlü yasaların hazırlanması umut verici bir gelişme. GDPR’nin ve AB Konseyi’nden geçerse eMahremiyet’in ne kadar etkili olacağını insanların bu haklarına ne kadar sahip çıktıkları belirleyecek.

Kaynaklar

Akıncı, A. N. (2017), Avrupa Birliği Genel Veri Koruma Tüzüğü’nün Getirdiği Yenilikler Ve Türk Hukuku Bakımından Değerlendirilmesi, T.C. Kalkınma Bakanlığı, Yayın No: 2968

Dickson, B. (2018), GDPR is an opportunity for AI companies to build trust, https://thenextweb.com/syndication/2018/06/08/gdpr-is-an-opportunity-for-ai-companies-to-build-trust/, son erişim 14 Haziran 2018

 



16 October 2017

KRACK: WPA2 Protokolünü Hedef Alan Bir Saldırı


Kablosuz internet cihazlarımızla (bilgisayar, telefon, vb) evlerde, iş yerlerinde vs bağlandığımız kablosuz ağların çoğunu koruyan WPA2 şifreleme algoritmasını etkisiz hale getiren bir atak geliştirilmiş. KRACK adı verilen bu atak kablosuz ağların parolalarını kırmıyor, yani evlerimizdeki internete kaçak ortağımız olmuyor ancak daha kötüsü cihaz ve erişim noktası arasındaki şifrelemeyi etkisiz hale getirerek bizler ve internet arasında giden gelen bilgileri saldırgan kişilerin okuyabilir hale gelmesine yol açıyor.

Biz ne yapabiliriz bu atak karşısında? Bağlandığımız erişim noktasının şifrelemesine güvenemeyeceğimize göre ziyaret ettiğimiz web sayfalarına mümkün olduğunca https üzerinden erişmeye çalışalım, ne kadar az şifrelenmemiş web trafiği yaratırsak o kadar iyi. Ayrıca kullandığımız bilgisayarların, telefonların, modemlerin vb her fırsatta yazılım güncellemelerini takip edelim. Örneğin bir çok Linux tabanlı işletim sisteminde WPA2 şifrelemeli ağlara bağlanmamızı sağlayan wpasupplicant yazılımına gerekli yamalar geldi bile. Windows’lar için de gerekli yamalar yayınlanmış. Şu an için yapacak başka da bir şey görünmüyor.

Atak hakkında detaylı bilgiye https://www.krackattacks.com/ adresinden, atakla ilgili yayınlanan bilimsel makaleye de https://papers.mathyvanhoef.com/ccs2017.pdf adresinden erişebilirsiniz.



05 July 2017

Yansı sunucusu arızası


TÜBİTAK ULAKBİM tarafından donanım ve ağ bağlantısı sağlanan ftp.linux.org.tr yansı sunucumuzda donanım arızasından ötürü sorun yaşanmaktadır. Sorunun en kısa sürede giderilmesi için çalışmalarımız sürüyor.

Güncelleme: 2017-07-18 08:37 itibarıyla tüm dağıtımların yeniden yansılanması tamamlanmıştır.



12 June 2017

LibreOffice Hesap Tablosu Korumasız Hücreleri Seç


Hesap tablosunda hücrelerin hepsi varsayılan olarak korumalıdır. Bu koruma ancak siz çalışma kağıdını koruma altına aldığınızda aktif olur. Hücrenin koruma durumunu hızlıca değiştirebilmek için bir toggle butonu daha önce eklemiştim.

Bir çalışma kağıdını koruma altına aldığınızda içindeki koruması kaldırılmış hücrelere toplu işlemler yapmanın (Hepsini sil, hepsinin font büyüklüğünü değiştir vs vs) bir yolu yoktu. Elle tek tek seçmeniz gerekiyordu. Hücrenin korumalı/korumasız olması da gözle ayırt edilemediği için imkansızdı diyebilirim.

Eklediğim bu özellik çalışma kağıdı korumalı yada korumasız olduğunda içindeki tüm koruması kaldırılmış hücreleri seçmenize izin veriyor. 6.0 sürümünden itibaren kullanılabilecektir.

İlgili hata kaydı: https://bugs.documentfoundation.org/show_bug.cgi?id=95883
Gönderdiğim yama: https://gerrit.libreoffice.org/gitweb?p=core.git;a=commitdiff;h=ed715a460254e4d72c78ff6eb244a9fc6692e2a6
Sürüm notu:  https://wiki.documentfoundation.org/ReleaseNotes/6.0#Calc

24 April 2017

İnternet Haftası Bilişim STK’ları Bildirisi


Biz Bilişim STK’ları İnternet kültürünü yaymak, İnternetin Türkiye için önemini anlatmak,
ülkemiz İnternet politikalarını tartışmak, yeni projeler başlatmak için İnternet Haftalarını yapıyoruz. Bu yılda, Türkiye İnternetinin 24 yaşı nedeniyle, 10- 23 Nisan tarihlerinde 20. İnternet Haftasını kutluyoruz.

Bizler, İnterneti, insanlığın yeni toplum biçimi olduğunu düşündüğümüz, Bilgi Toplumunu oluşturan araç ve kavramların temsilcisi olarak görüyoruz. Sanayi devrimi insanın kol gücünü çokladı, onun etkin kullanımını mümkün kıldı. İnternetin temsil ettiği devrim ise, insanın beyin gücünü çokluyor, onun ürünlerinin paylaşılmasını, yeniden üretilmesini kolaylaştırıyor. Yaşam gittikçe artan bir şekilde bilgi ve enformasyon üzerine dönüyor. Artı değer yaratmanın ana unsuru, bilgi, ar-ge, inovasyon, yani eğitimli insanların beyinsel ürünleri oluyor. İnternet bireyi özgürleştiriyor, güçlendiriyor. Kitlelere örgütlenme ortamları sunuyor, onları güçlendiriyor. İnternet dünya üzerinde milyarlarca insanın katıldığı bir paylaşım, öğrenme, üretim ve eğlence ortamıdır. Biz, toplum olarak sosyal medya da kavga ederken pek fark etmiyoruz, ama İnternet, sektörleri yeniden yapılandıran, meslekleri değiştiren, kamu yönetimi, demokrasi, hizmet ve ticareti yeniden tanımlayan devrimsel bir gelişmedir. Birbirlerini hiç görmeyen insanlar, insanlığın ortak mülkiyeti için ürünler geliştirmekte; özgür yazılım, açık erişim, açık ders malzemeleri, açık bilim, açık tıp, açık biyoloji gibi projeleri hayata geçirmektedirler. Bu bağlamda İnternet, Sanayi devriminden daha önemli bir gelişmedir. AB’nin bir önceki Sayısal Gündem sorumlusu, toplumu yeniden yapılandırmak açısından, İnternetin elektrik, telgraf ve matbaadan daha önemli olduğunu söylemiştir. Büyük Veri, Nesnelerin İnterneti, 3 Boyutlu Yazıcılar, Yapay Zeka, 5G gibi yeni teknolojiler, 4. Sanayi Devrimi yada Sanayinin İnterneti konuları gündeme taşımaktadır. Bu teknolojilerin birbirini beslemekte ve ekonomiyi etkilemektedir.

Dünyada 3.6 milyara yakın insan İnternet kullanıcısı, 1.86 milyarı Facebook kullanıyor. Ülkemizde 16-74 yaş grubunde kullanım %61, Erkekler %70, Kadınlar %51, Kent ve Kırsal arasında kadın erken a rasında fark var. Bir başka deyişle halkımızım %40 interneti kullanmıyor. TUİK 2013 verilerine göre Kent’te %61 Erkek -%42 Kadın ve Kırsalda bu %33 Erkek ve %14 Kadın internet kullanıyor. Kabaca değerlendirirsek; dünya ortalamasını yakaladık ama Avrupa ortalamasını yakalayamadık.
Ülkeler, İnterneti ekonomiyi geliştirme, kamu hizmetlerini iyileştirme, toplumsal katılımı artırmak, demokrasiyi geliştirmek için kullanmak çabasında. Dünya bireyin gelişmesi, toplumun üretken bir parçası olması için İnternetin önemli olduğuna karar vermiş ve bilgiye ve İnternete erişimi temel bir yurttaşlık hizmeti olarak ilan etmiştir. Bu temel hak, anayasalara ve hükümet programlarına girmeye başlamıştır.

Önemli gelişmelere rağmen, maalesef, ülkemiz bir bütün olarak, İnterneti ekonomik kalkınmanın, bireysel gelişmenin, toplumsal katılımın motoru olarak görememiş, marjinal problemlere odaklanarak, İnterneti olanak değil, baş edilecek bir sorun olarak görmüştür. Siyasi kadrolar, gündelik siyasi hesaplarını bir kenara koymalı ve yurttaşların temel hak ve özgürlüklerine saygı göstermelidir.

Uluslarası indekslere durum, parçalı bulutlu; çoğunlukla bulutlu. Genellikle, 190 ülke arasında 60’ın üstündeyiz. İnsani gelişme 71/188, demokrasi 97/179, basın ve ifade özgürlüğü, (rsf 151/179; FH 156, özgür değil, ve internet: özgür değil 50/65) ve toplumsal cinsiyet indekslerinde çok kötüyüz;, 130/144 (Ekonomi: 129, Eğitim:109, Sağlık:1-38, siyaset: 113), . WWW vakfının sıralamasında 38/86 durumdayız: bu özgürlük, içerik ve yarar alt indekslerinde de aynı civarda. Rekabet indeksinde 55/138, Inovasyon indeksinde 42/128, Network Readiness (GITR) 48/138 (Çevresel: 49, hazırlık:40, kullanım:59, Etki: 58). Dünya Telekom Birliği (ITU) Bilişim Gelişme indeksinde 70/175, Avrupada 40 ülke arasında 38., kullanımda 76, erişimde 81, beceride 39. sıradayız. İnternet.org ve Ekonomist (EIU) araştırmasında 31/75 deyiz; erişim ve fiyatta 33/75, işe yarar içerikte 19/75 , yetkinlik (etkin kullanım) da ise 48/75 üzerindeyiz. Dünya geniş bant indeksinde 70/173 sıradayız.
Türkiye İnterneti gelişiyor. Mobilde ilginç uygulamalar var, en yeni cihazları alıyoruz. Finans sektörümüz İnternet işinde oldukça başarılı. Kamuda Maliye, Sağlık, Adalet sisteminde önemli projeler var. E-devlet hizmetleri sunumunda Avrupa ortalamasının üstündeyiz. Ülkemizde çeşitli ar-ge teşvikleri var, teknokentler çoğalıyor. İnternet ve Bilişimle ilgili bir kaç bakanımız var. Bütün bunlara rağmen:
Türkiye Gemisi Rotasını Bilgi Toplumuna Döndüremedi
Ülkemizde önemli gelişmelerde olsa, bütünsel bir bakış açısıyla koordineli bir çaba eksik. Bilgi Toplumu Stratejisi ve Eylem Planı ile e-devlet eylem planımız var, ama pek bir kimsenin haberi yok. Yönetişim yapısı yok. Bilişim STK’ları olarak önerimiz:
Ülkemiz Bilişim ve İnterneti stratejik sektör ilan etmelidir. Bunun için en başta Bakan düzeyinde bir siyasal sahiplenme olmalıdır. Tüm paydaşları kapsayan, katılımcı saydam yapılar kurulmalı, kamuoyunca açık ortamlarda yeterince tartışılan, gözden geçirilen eylem planları yapılmalı ve hayata geçirilmelidir. Yurttaş ve sivil toplum bu gelişmelerin odağında olmalı, gelişmeler saydam ve katılımcı bir şekilde hayata geçmelidir.
Telekom ve Bilişim sektöründe adil rekabet koşulları yok. Devlet ve tarafsız olması gereken kurumlar tekeli koruyorlar. Fiber altyapısında ülke olarak geri kaldık. Ağ tarafsızlığını sağlamak üzere hem ekonomik, hem siyasi önlemlerin alınması, bu önlemlerin bilginin serbest akışını güvence altına alacak politikalarla desteklenmesi gerekmektedir.

3G ve 4G gecikmeli olarak hayata geçmiştir. 4G için fiber altyapısı yeterli değildir. Fiber altyapısı konusunda ülke olarak oldukça geri kalmış durumdayız. Türkiye’de sabit ve mobil genisbant değerleri OECD ortalamasının yarısında. 189 ülkede arasında sabit de 73 sırada, mobil’de 75. sıradayız. 3G ve 4G ihaleleriinde göstermelik yerli araştırma şartı arandı, ama ülkede geliştirilen 4G için baz istasyonları, Ulak projesi, kenara konuldu. Fiber altyapısının gelişmesi önündeki engeller kaldırılmalıdır.

Ülkemiz İnternetin devrimsel bir gelişme olduğunu algılayamamış marjinal problemlerine odaklanarak, adeta İnternete savaş açmıştır. Ülkemiz, kalkınmanın, ar-ge ve inovasyonun ifade ve basın özgürlüğünün tam olduğu, farklı ve aykırı fikirlerin yeşerebildiği hoşgörü ortamlarında var olduğunu algılayarak, özgürlükçü bir çizgiye gelmelidir. Ülkemiz yasaklama refleksinden kurtulmalıdır. Github, dropbox gibi weblerin yasaklaması sadece ülkemizin tanıtımına, turizmine ve ülkede şirketlere ve bireylere zarar vermektedir. Booking.com, ve trivago gibi weblerin yasaklanması öncelikle kendi istekleri ile üye olan şirketlere zarar verir. Aksine bu tür portalların değişik sektörler için geliştirilmesi için Türk firmaları teşvik edilmelidir.mYasaklanan web sayısı 3yıl önce 30 bin, 2 yıl önce70 bin iken geçen yıl 110 bine çıkmıştır. Bu yıl engelliweb de yasaklı. Bu daha çok Türkiye’ye zarar vermektedir. 5651 ve ona bağlı yasal düzenlemeler iptal edilmeli ve STK’ların katılımıyla yeniden yapılmalıdır.

Yukarıda da belirtildiği gibi ülkemizde Kır-Kent ve kadın-erkek arasında İnternet kullanımında ciddi uçurumlar var ve nüfusun yaklaşık %40’ı ı İnternetin dışında. Sadece TÜİK rakamları değil, uluslararası gelişmişlik indekslerinde de Türkiye maalesef sonlarda yer almaktadır. Türkiye’nin bu indekslerin altlarında yer alması sosyal eşitsizliklere, hatta uçurumlara işaret ediyor. Sayısal uçurum da bunların arasında en önemli başlıklardan birisidir. Sayısal uçurumu ortadan kaldıracak, tüm yurttaşları yeni medya okuryazarı yapacak çabalar, kamu, özel sektör ve STK işbirliği ile yapılmalıdır. Ulaştırma Bakanlığı öncülüğünde başlatılan sayısal uçurumu kapatmaya yönelik Kars’ta başlatılan projeyi sevinçle karşılıyoruz. Evrensel hizmet fonu bu amaçla kullanılmalı, cihaz alımı, eğitim, ve varlığı unutulan KİEM (Kamu İnternet Erişim Merkezleri) kullanılmalı, çaba diğer paydaşları kapsamlıdır. Sayısal uçurumu kapatma çabası yurttaşları bilgi okuryazarı yapmalı; onları yeni medya etiği, mahremiyet ve güvenlik konularında yeterli ve kendilerini geliştirebilen bir konuma gelmelidir.

Bilişim teknolojilerin eğitimi ülkenin kalkınması, dünya ile rekabet edebilmesi içinde önemlidir. Bu kapsamda özgür yazılımların önemine işaret etmek isteriz. Özgür yazılımlar tasarruf, güvenlik, istihdam ve rekabet açılarından önemlidir. Bilişimci yetiştirme ve yazılım geliştirme açılarından özgür yazılımlar çok önemlidir. İnsanlığın ortak mülkiyetinde olan 1.4 milyon olan özgür yazılım, Türkiye’de üretilen yazılımlar kadar “yerli ve milli”dir. Pardus ve Fatih projelerinin özgür yazılım temelinde yaygınlaştırılmasını öneririz.

Temel öğrenim kurumlarındaki “Medya Okuryazarlığı” ve “Bilgisayar” dersleri müfredatının dijital okuryazarlığı geliştirecek şekilde gözden geçirilmesi gereklidir. Bu yönde pilot çalışmayı destekliyoruz. Bütün dünya anaokulundan itibaren herkese programlama/yazılım kavramlarını öğretmeye çalışıyor. Webin kurucusu Tim Berners-Lee politikacılara programlama öğretelim diyor. Programlama düşünme ve planlama yetisini geliştiriyor. Dünya gittikçe daha fazla bir şekilde yazılımın etrafında dönüyor. Ülkemizde, okullarda bu yönde ders konması konusunda çaba harcamaya başladı. Umarız, yakında bu konuda pilot çalışmalar başlar.

Herkese açık, özgür, güvenli, bütünsel İnternet tüm insanlığın yararınadır.

İnternet Yaşamdır!

Saygılarımızla kamuoyuna duyururuz.

23 Nisan 2017

2017


Destekleyen STK’lar:
Alternatif Bilişim Derneği 
Alternatif Medya Derneği 
Bilgisayar Mühendisleri Odası 
Bilişim Teknolojileri Eğiticileri Derneği
EHD – Elektronik Ticaret ve Internet Hukuku Derneği 
EMO – Elektrik Mühendisleri Odası 
SOC-TR – Internet Derneği 
INETD – Internet Teknolojileri Derneği 
IYAD – Internet Yayıncıları Derneği 
Ankara Barosu Bilişim Hukuku Komisyonuy
İstanbul Barosu Bilişim Hukuku Komisyonu 
Kadın Yazılımcı Oluşumu 
LKD – Linux Kullanıcıları Derneği 
PKD – Pardus Kullanıcıları Derneği 
TBD – Türkiye Bilişim Dernegi 
TELKODER- Serbest Telekomunikasyon İşletmecileri Derneği
TKD – Türk Kütüphaneciler Derneği



22 March 2017

Kullandığım Linux işletim sistemi 32bit mi? 64bit mi?


Kullandığınız bir Linux işletim sistemini siz kurmamış olabilirsiniz veya birden fazla bilgisayar ve farklı işletim sistemleri ile çalışıyor olabilirsiniz. Bu nedenle bazen kullandığımız Linux işletim sisteminin sürümünün 32 bit mi yoksa 64 bit sürümü olduğunu öğrenme ihtiyacı duyabilirsiniz. Bunu terminal ekranından aşağıdaki kod ile hızlıca öğrenebilirsiniz.

Linux işletim sisteminin 32bit mi 64 bit mi olduğunu öğrenmek için;

uname -a

kodunu terminal ekranına yazdığımızda karşımıza çıkan ibarelerde i686 i386 geçiyor ise 32bit, x86_64 ibaresi geçiyor ise 64bit olduğunu anlayabiliriz.

i686 i386 32bit
x86_64 64bit

Bu işlemi terminal penceresinden 4 farklı şekilde daha yapabilirsiniz.

dpkg –print-architecture

getconf LONG_BIT

arch

file /sbin/init



28 January 2017

Bilgisayarda Hi-Res Ses Kullanımı


Kullandığım masaüstü bilgisayarın ana kartında (GA-Z68MA-D2H-B3) tümleşik çalışan ses kartının (RealTek ALC889), High-Resolution (24bit/192kHz) ses yeteneği olduğunu bugün farkettim. Anakartın dokümanlarında HD audio yeteneği olduğu yazıyordu fakat bu seviyede bir ses kartını anakart üzerinde sunacaklarını düşünmemiştim. Ayrıca dokümanda DAC (Digital-to-Analog Converter) yetenekleri yazmıyordu. Sonrasında şu metni okudum “GIGABYTE strongly believes that in 2011, HD audio playback is a standard specification”. E hal böyle olunca Ubuntu ve Windows‘da stüdyo kalitesinde HD sesin nasıl ayarlanacağını anlatan bir blog yazısı ile sevincimi taçlandırmaya karar verdim. Bu yeteneklerin varsayılan olarak açık gelmediğini belirtmek gerekiyor. HD sesin farkını anlamak için 24bit/192kHz‘lik kaydedilmiş FLAC gibi ses dosyalarına, kaliteli bir ses sistemine, çevresel gürültüyü önlemek için kaliteli bir kabloya ihtiyacımız var, ve ground-loop probleminin çözülmesi gerekiyor, ben kullanmakta olduğum YAMAHA HS80M ile ses kalitesindeki farkın keyfini sürmeye başladım.

High-Res müzik kaynakları için güzel bir liste hazırlamış şu site; http://www.head-fi.org/…

Ubuntu HD ses yapılandırma;
Öncelikle şuanda kullanmakta olduğunuz Sample Spec değerlerini aşağıdaki komut ile kontrol edin;

pacmd list-sinks

Muhtemelen şuna benzer bir satır göreceksiniz, “sample spec: s16le 2ch 44100Hz“. Kullanmakta olduğum kart 24bit 192kHz desteklemesine karşın, 16bit 44100Hz seviyesinde çıkış veriyor.

/etc/pulse/daemon.conf dosyasına aşağıdaki satırları ekleyin. “;” ile yorum satırı haline gelmediğinden emin olun;

default-sample-format = s24le
default-sample-rate = 192000

Dosyaya tanımları ekledikten sonra aşağıdaki komutla pulseaudio’yu yeniden başlatın;

pulseaudio -k

Sample Spec değerini tekrar kontrol ettiğinizde farkı görmeniz gerekiyor.

Windows HD ses yapılandırma;
“Ses ayarları > Hoparlör Özellikleri > Gelişmiş” sekmesi altından çalışma değerleri tanımlanabiliyor.

Macintosh HD ses yapılandırma;
“Utilities > Audio MIDI Setup” aracından gerekli ayarları tanımlayabilirsiniz.

Hamdi Özcan – ozcan.com



31 May 2016

Bilgisayar Mühendisliği


Ekşisözlük'teki bilgisayar mühendisliği tanımlarına bakınca, "bilgisayar mühendisi mimar, programcı ameledir", "utp kablo takmayı bilmezler", "temeli hardware'dir", "programlamayla alakası yoktur", "bilgisayar bilimlerinden farklı bir şeydir", "asıl işi işlemci tasarlamak" gibi saçmalıklar arasında kayboluyorsunuz.

Bu da şaşırtıcı değil çünkü bazı hocalar ve mezunlar bile bu yanlış fikirleri yaymaya devam ediyor.

Bilgisayar Mühendisleri Odası'nın şu kuruluş raporuna bakın:

Meslek Alanında Yaşanan Tahribat (sayfa 9): ...sektör kamu ile akademiden ziyade serbest piyasa koşulları içinde büyümüş... kamusal düzenleme olmaması (yüzünden) ülkemiz salt tüketici konumda kalmış... bilgisayar mühendisleri teknoloji ve bilim dünyasında çığır açan çalışmalara imza atmak yerine kod yazan kişiler olarak kalmışlardır.

Bu metni yazan ve okuyan hiç kimsenin aklına, "silikon vadisinde çığırları açanların kamu düzenlemesi mi vardı?", "serbest piyasa hakimiyetindeki Amerika, bilişim tüketicisi konumunda mı?" ya da "Knuth, Tarjan, Sedgewick gibi teorik araştırmacılar bile her gün kod yazıyorken bizim bilgisayar mühendislerinin ayağına bu niye bağ oluyor" gibi çok basit sorular gelmemiş anlaşılan!

Bu bilgi kirliliğine engel olmak için bazı kavramları temelden açıklamak gerekiyor.

Bilgisayar Mühendisliği

Bir çok ülkede Computer Science (Bilgisayar Bilimi) olarak geçen bölümdür. Bir uygulamalı matematik alanıdır. Temel problemleri: neleri hesaplayabiliriz (karmaşıklık, quantum), nasıl hesaplayabiliriz (algoritmalar, veri yapıları, yapay zeka, diller ve derleyiciler) ve neyle hesaplayabiliriz (bilgisayar mimarisi, ağlar, sistemler) olan bir bilim dalıdır.

Türkiye'de bir mühendislik bölümü olarak açılmasının nedeninin devlet kadrolarında mühendis olmayanların teknik kadro sayılmasının zorluğu ve yüksek maaş alamamaları olduğunu düşünüyorum.

Mühendislik iki anlamda kullanılabiliyor: Bilimsel bilginin bir şeyler geliştirmek için kullanılması ile bir profesyonel meslek dalı. Birinci anlamın bir sakıncası yok. Örneğin bir problemin çözülmesi için bir program geliştirmek bir mühendislik çalışması olarak görülebilir.

İkinci anlamda ise sıkıntı büyük. Profesyonel mühendislik, tıpkı doktorluk ya da tesisatçılık gibi bir meslektir. Denetime bağlıdır, mesleği yapanlar bir oda ya da kuruma kayıtlı olmak ve belli yeterlik şartlarını yerine getirmek zorundadır. Bunun amacı da, örneğin evinize patlama riski olan bir doğalgaz borusu bağlanmasını ya da iki inşaat mühendisinin aynı bina için farklı statik hesapları vermesini önlemektir.

Böyle bir durum bilgisayar mühendisliği için iki nedenden anlamsız. Birincisi bu bir profesyonel meslek değil, bir bilim dalı ve bu bilgiye herhangi biri sahip olabileceği gibi kendi başına her türlü amaçla da kullanabilir. İkincisi ise yaratıcılığa ve çeşitliliğe açık bu alanda, şu iş bu şekilde yapılır gibi meslek kurallarını üretecek bilgiye sahip değiliz. Evet, bazı tasarım kalıpları (design patterns), ve yazılım geliştirme teknikleri (test tabanlı geliştirme, sürüm kontrolü, vb) icat ettik ama hâlâ genel problemi çözebilmiş değiliz. Bu iş bir bilim olduğu kadar aynı zamanda bir sanat da. Şirketlerin diplomaya sertifikaya değil kendi mühendisleriyle yapılacak mülakata bakmasının altında da bu yatıyor.

Bilgisayar Bilimcisi Program Yazmaz mı?

Bu saçma fikrin savunulmasının ardında diplomayı aldıktan sonra yan gelip yatarak para kazanma beklentisi var herhalde.

Araştırmacılar için hipotezlerini test etmenin, modellerini incelemenin önemli bir yolu program yazmak. Bazen teorileri ispatlamanın bir yolu bile olabiliyor.

Endüstride ise program yazmayacağım diyen adamı görüşmeye bile çağırmazlar. Google, Microsoft, Apple gibi şirketlerin herhangi bir pozisyonuna girmek için iş görüşmesinde bile program yazmanız gerekiyor.

Bir kişi analiz yapacak, diğeri tasarım yapacak, kalanlar da tasarımdaki fonksiyonları yazacak modeli 60'larda kaldı. Yazılım geliştirme, yazılımların artan karmaşıklığı ile birlikte çok daha dinamikleşti. Tasarım, gerçekleme, test ve hata ayıklama ayrı süreçler değil artık. Takımlar, hiyerarşi yerine birlikte çalışan uzmanlardan oluşuyor.

Elini kirletmeyen biriyle hiç kimse çalışmaz. Okulda ödev olarak yazdığı programlar dışında bir deneyimi olmayan adamın zaten tasarım bilgisi de olamaz. Dahası, bu işlerden bir kaç yıl kopmuş birinin bile tasarım becerisi hızla düşmeye başlar.

Okullu mu Alaylı mı?

Bir başka saçma tartışma. Genelde bu tartışma teorik bilgi mi yoksa pratik bilgi mi gibi yanlış bir düzleme de çekiliyor. O yüzden ikisine de bakalım.

Örneğin elindeki dosyalardan bazı bilgileri tarayıp istatistiksel bir sonuç çıkarmak isteyen bir kişiye Python ile basit betikler yazmaya yetecek kadar bilgisayar bilimleri bilgisi yeterli olabilir. Benzer şekilde bir felsefeci hiç programlama öğrenmeden yalnızca karmaşıklık teorisini çalışarak kendi alanında ihtiyaç duyacağı bilgilere kavuşabilir.

Karşılaşılan herhangi bir problemi çözebilecek genel bir program yazma yeteneği ya da bilgisayar bilimleri alanında yeni bilgiler keşfedebilecek bir araştırma yeteneği için ise üniversite eğitimi programında yer alan hemen her konuyu öğrenmek şart.

Bilgisayarlar bir çok katmandan ibaret. Algoritmalar, kitaplıklar, diller, işletim sistemi, işlemci, transistörler, elektronlar. Bu katmanların hangi seviyesinde çalışırsanız çalışın altınızda kalan kısımlara bağımlısınız. Dolayısıyla işinizi daha iyi yapabilmeniz altta neler döndüğünü bilmenize bağlı.

Teorik ve pratik bilgiden biri daha üstün diyemezsiniz. Daha iyi bir algoritmayla kazandığınız teorik hızı, o algoritmanın işlemci önbelleği kullanımı daha kötü olduğu ve veri setiniz yeterince büyük olmadığı için geri kaybedebilirsiniz örneğin.

Bu bilgileri nereden ve nasıl öğrendiğiniz değil, öğrenmiş olmanız önemli. Dahası dünyanın en iyi üniversitelerinde bile okusanız, işlenen konular ve yaptığınız ödevler sizi bu alanda uzman yapmaya yetmeyecek.

Orko der ki...

Eskiden İstanbul'da her kahvede, satrançta o kahvedeki herkesi yenmiş ama başka birileriyle oynamadığı için Kasparov'u yenerim ben diye böbürlenen tipler vardı.

Ne iş yapıyorsanız yapın, o alanda dünyanın en iyileri kimse onları bulun ve onları tanımaya ve geçmeye çalışın. Bilgisayar alanında bir şeyler keşfetmiş her araştırmacının, günlük yaşamda kullandığımız ürünleri yapan her geliştirici ve girişimcinin, Internet üzerinde blog'ları, sunumları, ders videoları, makale ve kitapları var.

Hayatında büyük ölçekli bir ar-ge projesinde yer almamış, eski ders kitaplarından okuduğu arkaik tanımları öğreten hocaları, yaptığı e-ticaret sitesi ya da muhasebe programıyla kendini girişimci sananları, yabancı dilden yarım yamalak çevirilerle kitap yazanları, forumlarda iki üç soru cevapladığı için büyük üstat havalarına giren tipleri ciddiye almayın.

Yoksa yukarda alıntıladığım kişiler gibi kendi küçük mağaramızda dışardaki dünyanın gölgeleriyle oyalanır dururuz.



20 May 2016

Veri Bilimi Bülteni — 40


Her cuma yayın­ladığım ‘Veri Bil­imi Bül­teni’ ile son 1 haf­tada veri ve veri bil­imi konusuyla ilgili okuduk­larım­dan dikka­timi çeken­leri pay­laşıy­o­rum. Bu bül­ten her yayın­landığında hab­er­dar olmak istiy­or­sanız “Haf­talık Veri Bil­imi Bül­teni” linkedin grubuna üye ola­bilirsiniz. Küçük bir not: Önümüzdeki haftadan itibaren bülteni tamamen ingilizce olarak çıkarmayı (zaten içerikler ingilizce, ben bazen yorumlarımı türkçe Devamını Oku […]

09 May 2016

Vodem’in (Huawei 4231) Linux’ta Ethernet Olarak Kullanımı


Elime Vodafone’un bir modemi (Vodem) geçti. Bilgisayarıma taktığımda Linux bir ethernet olarak görmedi ve doğrudan çalışmadı. Daha önce Turkcell’in yeni nesil VINN’larında bu hiç başıma gelmediğinden, bir miktar uğraşmam gerekti.

Huawei’nin K4203 isimli bir modeliymiş (lsusb sağolsun). Kendisi öntanımlı olarak MBIM isimli, Linux 3.8’de desteği gelen bir protokolle bağlanıyormuş (Google sağolsun). Bir sonraki nesil bir cihaz kısaca. Ama ethernet aygıtı olarak da çalıştırmak da mümkün. Bunun için usb_modeswitch ile cihaza komut gönderilmesi gerekiyor.

lsusb çıktısında aygıtın ID’sini 12F1:1F1C olarak görüyoruz:

# lsusb
# lsusb | grep Huawei
Bus 002 Device 012: ID 12f1:1f1c Huawei Technologies Co., Ltd.

usb_modeswitch ile şu komutu gönderince kendisi bir ethernet aygıtına dönüşüyor:

# usb_modeswitch -v 12d1 -p 1f1c -W -I -M 55534243123456780000000000000011062000000101000100000000000000
Taking all parameters from the command line

* usb_modeswitch: handle USB devices with multiple modes
* Version 1.2.5 (C) Josua Dietze 2012
* Based on libusb0 (0.1.12 and above)

! PLEASE REPORT NEW CONFIGURATIONS !

DefaultVendor= 0x12d1
DefaultProduct= 0x1f1c
TargetVendor= not set
TargetProduct= not set
TargetClass= not set
TargetProductList=""

DetachStorageOnly=0
HuaweiMode=0
SierraMode=0
SonyMode=0
QisdaMode=0
GCTMode=0
KobilMode=0
SequansMode=0
MobileActionMode=0
CiscoMode=0
MessageEndpoint= not set
MessageContent="55534243123456780000000000000011062000000101000100000000000000"
NeedResponse=0
ResponseEndpoint= not set

InquireDevice disabled
Success check disabled
System integration mode disabled

Looking for default devices ...
searching devices, found USB ID 12d1:1f1c
found matching vendor ID
found matching product ID
adding device
searching devices, found USB ID 04f2:b230
Found device in default mode, class or configuration (1)
Accessing device 012 on bus 002 ...
Getting the current device configuration ...
OK, got current device configuration (1)
Using interface number 0
Using endpoints 0x01 (out) and 0x81 (in)

USB description data (for identification)
-------------------------
Manufacturer: Vodafone(Huawei)
Product: HUAWEI Mobile
Serial No.: FFFFFFFFFFFFFFFF
-------------------------
Looking for active driver ...
OK, driver found; name unknown, limitation of libusb1
OK, driver "unkown" detached
Setting up communication with interface 0
Using endpoint 0x01 for message sending ...
Trying to send message 1 to endpoint 0x01 ...
OK, message successfully sent
Resetting response endpoint 0x81
Resetting message endpoint 0x01
-> Run lsusb to note any changes. Bye.

Artık lsusb ile baktığımızda USB ID’sinin de değiştiğini görüyoruz:

# lsusb | grep Huawei
Bus 002 Device 013: ID 12d1:1590 Huawei Technologies Co., Ltd. 

Şimdi bir ağ aygıtı olarak da onu görebilmeliyiz ve eğer ağ yöneticimiz otomatik IP almaya ayarlıysa IP’sini bile almış olmalı:

# ip a
8: enp0s29u1u3: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 86:c9:ec:4d:51:bb brd ff:ff:ff:ff:ff:ff
inet 192.168.9.100/24 brd 192.168.9.255 scope global enp0s29u1u3
valid_lft forever preferred_lft forever

Bu yaptığımız ayarlar, ne yazık ki kalıcı değil. Modemin üzerine böyle bir bilgi yazamıyoruz. Onun yerine Linux’un aygıt yöneticisi olan udev’e bu modemin her takıldığını farkettiğinde bu komutu çalıştırmasını söylememiz gerekiyor.

Bunun için udev’in kuralları okuyabileceği bir dosya oluşturuyoruz:

echo 'ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1f1c", RUN+="/usr/sbin/usb_modeswitch -v 12d1 -p 1f1c -W -I -M 55534243123456780000000000000011062000000101000100000000000000"'> /etc/udev/rules.d/45-usb_modeswitch.rules

udev’e kuralları tekrar okumasını söylüyoruz:

# udevadm control --reload-rules

Artık “Vodem”i taktığımızda, otomatik olarak ethernet kartı olarak görünmeli ve DHCP’ten IP alabilmeli.

Not: Aygıta gönderilmesi gereken “55534243123456780000000000000011062000000101000100000000000000” gibi bir mesajı kafadan yazmadım :). İnternet’ten araştırdığımda rastladım. Sadece bu cihaz değil, başka Huawei cihazlarında da işe yarıyor gibi okudum. Teknik kaynağını bilen varsa, yorumlara eklerse sevinirim.



23 March 2016

Bir “Portal” üzerine…


Türkiye’de özgür yazılım katkıcılığı yapmak zor iş… Hatta katkıcılığı bırakın topluluk üyesi olmak bile pek kolay değil…

2007 benim için bu alanda bir milat, kişisel aydınlanma, özgür yazılımın alnımda çıkardığı 3. göz… Bu tarihi referans alırsam 2007 öncesi -topluluk/camia ne derseniz artık- aitlik süreci çok zordu. Bakıyorum da 2007 sonrasından ta ki hatırlamak istemediğim bir tarihteki Özgürlükİçin.org çöküşüne kadar gerçekten güzel zamanlar geçirmişiz… Bu çöküşten sonra ise, topluluk ve aidiyet dışında özgür yazılım dünyasıyla olan bağlarımız da zayıflamaya başladı… En büyük zorluk ise bir portal, bir ana gemi olmayışı.

Efsanevi Özgürlükİçin sitesi hayalet gemi gibi bant genişliklerinde seyretmekte... Efsanevi Özgürlükİçin sitesi hayalet gemi gibi bant genişliklerinde seyretmekte…

Bu zorluğu kısaca masaya yatırırsak -aslında buna da çok zamanım yok- madde madde gidelim:

  • Özgür yazılım dünyasından haberler / sürüm duyuruları
  • Ortak bir paylaşım/yardımlaşma alanı – forum
  • Blog kardeşliği – gezegen
  • İncelemeler – özellikle oyun ve heyecan verici şeyler

Bu ve bunun gibi onca şeyi bir araya getiren harika bir şeye sahipmişiz; özgürlükiçin.org hatta o zman o kadar zenginmişiz ki bir de pardus-linux.org‘a sahipmişiz… ve cahilmişiz… bunların artık geride kaldığını kabul etmek gerekiyor…

Özgür yazılımda böyle “değerler” (bu kelimeyi kullanmayı da pek sevmiyoırum) ne kadar önemliymiş, onu düşünüyorum bir kaç gündür… Bunların eksikliği gerçekten özgür yazılım dünyasını takip etmekte insanı çok zorluyor… Hadi ben İngilizce biliyorum takip edebiliyorum… Ya ait olmak? Paylaşmak? Yardımlaşmak? Birlikte bir şeyler yapmak isteyip de o marşa basıp o enerjiyi boşaltabilmek? Yapabilmek? Bunlar yok…

Atlamadan bir de teknokedi.com vardı, o da bu açığı kapatmak için kendi öz amacı olmasa da alan yaratmak için katkı vermişti. Sevgili Ali Işıngör abimizin iyi niyetiydi…

Şu anda bu alan içice dağınık halde… Andoid, tabletler  ve mobil teknoloji birçok kişinin başını döndürdü ve masaüstü arka plana itildi, fakat şimdi GNU/Linux masaüstünün güçlenerek geldiğini görüyorum. Steam’in GNU/Linux’a gelmesi ve süpersonik oyunları Linux’a taşıması, Nvidia – Ati sürücülerindeki yenilikler + Vulkan vs, ve nihayetinde de Microsoft’un başlayan Linux aşkı(!) (hem Office’in potansiyel Linux sürümü beklentisi hem de Office 365)… Bunlar harika şeyler aslında… Masaüstünde Linux kullanımını kısıtlayan birçok sıkıcı bahane ortadan kalkıyor -konuyu uzatmamak adına özgür yazılım felsefesiyle kapalı yazılım tercihini kullanıcıya bırakalım… Yakında kendi adam akıllı dağıtımıyla pazara çıkacak masaüstü/dizüstü bilgisayarlar görmeyi umuyorum. (Dejavu değil…)

Konuya dönersek, şu anda bildiğim birkaç site arasında GNU/Linux dünyasına özel bir amiral gemi görebileceğim bir portal yok. Bildiğim siteler ise adeta kahramanca bir bireysel mücadele ile ayakta tutulmaya çalışılıyor, içerik sunmak için büyük emek ve zaman harcanıyor… Bunlardan bazıları:

  • getgnu.org – Fortran takma ismiyle adeta bir süperkahraman edasıyla paylaşılabilir bütün haberleri neredeyse tüm özgür yazılımla ilişkili forumlara ileten süper kişi. nasıl yaptığını hala çözebilmiş değilim.
  • linuxnotlari.co – Sevgili Mustafa Gökay’ın epeyce emek verdiği Linux Haber Platformu. OMG ubuntu tadında
  • acikgunluk.net – Sevgili Özgür Ilgın’ın günlüğü, özgür yazılım artı hobileri (özel ilgi alanı nostaljik ve avatür türk sineması)

* Başka bildiğiniz aktif sayılabilecek site varsa yorumlara yazarsanız sevinirim.

Yeni bir site?

Hayır, yeni değil, birleştirici, geniş ve yeni içeriği sunan bir site… Kolektif ve eğlenceli, hatta daha önce olmadığı kadar eğlenceli olmalı… Özgür yazılım caps galerisi dahi olsa olur…

Neden?

Çünkü ihtiyaç var

Peki gönüllü mü olacak, nasıl ayakta duracak?

Ticari bir proje olmalı. Para kazanmalı, en azından masraflarını çıkarmalı.

Özgür yazılım projeleri ve ticari amaç???

Böyle bir tabu var, ticari amaç güdülebilir. Özgür yazılım ürünleri dahi parayla satılabilir ki bu gibi işlerde “reklamsızlık” sanki bir bekaret kemeri gibi her projeye iliştiriliyor. Çok anlam veremiyorum…

Ticari amaç olmalı, diğer türlü hiçbir şekilde ayakta duramadı. Bağış kültürü bizim ülkemizde yok, şahsi fedakarlık bir yere kadar… Bir de bu işleri üstlenen kişiler sürekli rica minnet ile istekte bulunmak gerekiyor; damdan düştüm bilirim, yok bize sunucu, yok bize alan adı lazım diye aramaktansa parayı basıp almak en sağlıklısı.

Kim yapacak? Nasıl bir model?

Şu an bu işi hobi olarak yapan arkadaşlar ve böyle bir projeye girmek isteyen kişiler bir araya gelebilir, gelir paylaşımlı kolektif bir model üzerinde anlaşabilir. Dileğim de budur. Şayet onlar olmazsa, İngilizce bilen birkaç üniversite öğrencisi arkadaş böyle bir projeye girerse hem hobi, hem harçlık hem de ileriye yönelik belki de kendi işlerini kurabilirler.

Gelir yeterli olur mu?

Varsayalım Google Adsense ile yola çıktılar, Türkçe içeriğin reklam başı getirisi tabi ki İngilizce içerikten daha düşük olacaktır, ama akmasa da damlar, ileriye doğru hacim arttıkça tatmin edici bir gelir gelebilir.

Özellikle Steam sayesinde oyun inceleme ve tanıtım içeriklerinin ileride büyük potansiyeli olacağına inanıyorum.

Zorlukları?

Tahmin ettiğim bazı zorlukları var, bunun yanı sıra yukarıda bahsettiğim arkadaşların yaşayıp deneyimlediği zorluklar da vardır. Sonuçta protonların çarpıştırmayacakları için kolayca üstesinden gelebileceklerini düşünüyorum. Linus Torvalds’ın “Just for fun – Yanlızca Eğlenmek İçin…” sözüne yaslanıp eğlenceli bir yola girilebilir…

***

Yukarıdaki kendi kendime röportajım daha kısa bir yazı yazmak içindi, kendimi havaya sokmak için değildi. Epeydir bir şey karalamamıştım, lafı iyice uzatmak istemedim 😉

Dilerim bu yazım bir açık davet olur, en azından bir tartışma başlar ve şu üzerimizdeki ölü toprağını silkeleyebiliriz.

***

Bonus: “Var mı peki bu haberleri takip edebileceğimiz yabancı bir site?” diyenler özgür Ilgın’ın 10 sitelik listesine bakabilirler: En çok takip ettiğim 10 yabancı GNU/Linux haber ve blog

***

Son olarak, ben bu yukarıda yazdıklarımı düşünürken LKD‘den şöyle bir ileti de geldi. Katkı verebilceklerin dikkatine:

Merhaba,

Dünyada özgür yazılım ve ilgili alanlar (kişisel verilerin gizliliği, ifade özgürlüğü, telif hakları vs.) hakkında önemli gelişmeler yaşanmakta. Ancak bu gelişmeler hakkında yayımlanmış güncel haber ve yazılar yabancı dil (başta İngilizce) bilmeyen ilgililere ulaşamamakta. Bu nedenle, güncel haber ve yazıları Türkçeye çevirmek amacıyla bir çeviri grubu kuruyoruz. Çeviri grubu çalışmalarına LKD üyesi olsun ya da olmasın özgür yazılıma gönül vermiş herkes katılabilir.

Çevirisi yapılacak haber ve yazılar, LKD tarafından hazırlanacak bir sitede düzenli olarak yayımlanacak. Ayrıca aylık olarak da bülten haline getirilerek duyurusu yapılacak.

Çeviri grubuna katılmak için yk@linux.org.tr adresine, kısaca kendinizi tanıtan ve çalışma grubuna katılmak istediğinizi belirten bir e-posta atmanız yeterli olacaktır.

— 

ibrahim izlem GÖZÜKELEŞ

https://plus.google.com/109568522902358862122/posts/SC6dNnTsZAJ

~DAVET~

Özgür Yazılım Günleri 2016: LibreOffice Geliştirme ve Yaygınlaştırma ToplantısıÖzgür Yazılım Günleri 2016: LibreOffice Geliştirme ve Yaygınlaştırma Toplantısı –

(twitter bağlantısını yapıştırınca yukarıdaki kendiliğinden çıktı, vay be!)

Fırsatınız varsa katılın, detaylı bilgi için: http://ozguryazilimgunleri.org.tr/2016/etkinlik-programi/

Mutlu günler.

Sonrası Bir “Portal” üzerine… blog.bluzz.net | Günlüğüm ilk ortaya çıktı.



17 February 2016

PostgreSQL'de Türkçe sıralama destekli veritabanı yaratmak


Bu soru bana çok soruluyor, arşiv olsun diye yazayım. Öncelikle bu komut işletim sisteminin İngilizce ve UTF-8 kurulduğunu varsayıyor.

Komut şu:

CREATE DATABASE tr ENCODING='UTF-8' LC_COLLATE = 'tr_TR.UTF-8' LC_CTYPE='tr_TR.UTF-8' TEMPLATE template0;

Burada önemli şeylerden birisi CTYPE. Onu C yapsaydık upper/lower fonksiyonları düzgün çalışmazdı.

Bir de şablon olarak template0 kullanmalıyız -- bunun nedeni template1'in dil kodlamasının İngilizce olması (üstteki varsayım nedeniyle).

En basit hali ile konu bu kadar.



04 February 2016

One of The Largest Events in Europe: FOSDEM



This year, I've been attended Fosdem for the first time. Fosdem is one of the largest events of free software and open source world that happens every january, gathering thousands of the developers (+5000) in Brussels. It is great opportunity to get in touch with the developers of world's leading organisations.

Fosdem has really strong infrastructure to satisfy needs of the attenders.
I've attended the event through Episkey Limited Company's travel fund which is part of Cottange Labs. I've seen the converisation on the mailing list and said if there is any other company that supplies travel fund please let me know because Google have not published scholarship for Fosdem and I could not find another company. Emanuil Tolev has volunteered since 2011 for Fosdem. He replied me and said me and my coworkers would like to sponsor for a person. Then we started a private thread and solved sponsorship requirements. I am thankful for travel grant to Emanuil and Episkey Limited developers.

First day of the event, I've met with Michel, he works as Linux Kernel developer at Intel. We took coffe and talk little. Talking with the kernel developers makes me happy and I really feel very excited. After the meeting, I've discovered the event place, it was at Brussels University, ULB Campus, Solbosh. Fosdem is biggest event that I've attended untill now.

In general, I've joined Main Track sessions. Rspamd is one of my favorites. Vsevolod Stakhov is developer of Rspamd, he told project stages quite clear.

Libreboot and Frosted Embedded Posix OS are my favorites as well. I love to learn about low level software that's why I contribute Linux Kernel. I am former Linux Kernel at Outreachy and would like to keep contribution.

There was an Embedded Systems DevRoom, it was in Building U. I should say, location of the building is hard to find little because there was no sign about Fosdem front of the building. We could not see at least.

In the evening, I've met with my Turkish friends. We have a community photo:


Second day, I've met with Emanuil to talk face to face. He said, I really am glad to sponsor you. That's great to hear.

I've bought tshirts to donate the organisations. It is really great, I am happy to be part of free software and to move it forward.


There was a talk for in memory of Ian Murdock. I would have loved to attend it but I had to leave early because had a flight in the evening. Talks are stored here so far. This is great opportunity to watch the presentation later.

I am very happy about my first Fosdem experience because I improved my network recognizing great folks.

I've seen on the event brochure, it says 8000 developers attended! and you can see diversity at the event. Hope to improve diversity and see underrepresented groups in computer science.

Fosdem is a free event, you can attend without registration. We should donate individualistically or institutionally, if we woud like to see the event in future years.

08 January 2016

Stow ile yapılandırma paketleri


GNU/Stow bir süredir bildiğim fakat bir türlü deneme fırsatı bulamadığım çok basit bir paket veya sembolik link yöneticisi. Her ne kadar /usr/local içerisindeki linkleri yönetmek için düşünülmüş olsa da, esnek yapısı nedeniyle kullanım alanlarından biri de ev dizininde bulunan yapılandırma dosyalarını (yani nokta dosyaları ya da dotfiles) yönetmek.

Örneğin ~/dotfiles içerisinde x ve zsh adında iki dizininiz var. Bu dizinler stow için aslında birer paket ve diyelim bu paketlerin yapısı şu şekilde:

~/dotfiles
├── x
│   ├── .i3
│   │   └── config
│   ├── .Xdefaults
│   ├── .xsession
│   └── ...
└── zsh
    ├── .zlogin -> .zprezto/runcoms/zlogin
    ├── .zlogout -> .zprezto/runcoms/zlogout
    ├── .zprezto
    │   └── ...
    ├── .zpreztorc -> .zprezto/runcoms/zpreztorc
    ├── .zprofile -> .zprezto/runcoms/zprofile
    ├── .zshenv -> .zprezto/runcoms/zshenv
    └── .zshrc -> .zprezto/runcoms/zshrc

Eğer kullandığınız ve herhangi bir x ortamı bulunmayan bir sunucuda, sadece zsh ayarlarınızı kullanmak isterseniz stow zsh dediğinizde, stow sizin için sadece zsh dizini altında bulunan dosyalar ve dizinlerin ev dizininde yer alan gerekli linklerini oluşturacaktır. Bu şekilde yapılandırma dosyalarınızı paketlere bölerek, istediğiniz yapılandırmayı istediğiniz makinada rahatça kullanmanızı sağlıyor.

Bir başka örnek kullandığım yapılandırma dosyalarım verilebilir. gitin sağladığı dağıtık model ile her zaman tüm makineler arası senkronize olan bu dosyalar, stow ile de sadece gerekli makinede gerekli uygulamaları yapılandırmak için kullanılabiliyor.



03 September 2015

Bir Linux Yaz Kampı’nın Daha Ardından: Perde Arkası


Bilindiği gibi Linux Kullanıcıları Derneği (LKD), İnternet Teknolojileri Derneği (INETD) ile işbirliği içinde her sene yaz aylarında, herkesin katılımına açık olan 15 günlük Linux yaz kampı düzenlemekte. Bu yaz kampına katılım için katılımcılardan herhangi bir ücret alınmıyor. Sadece katılımcıların kendi yol/konaklama/yemek masraflarını karşılamaları gerekiyor. KYK ve üniversite yurtlarında uygun fiyatlı konaklama imkanı sunuluyor. Bu sene, yani 2015 yılında bu kampın 6.sı düzenleniyor. Son 4 yıldır ise Linux Yaz Kampı, Bolu Abant İzzet Baysal Üniversitesi’nde üniversitenin de desteği ile düzenleniyor. Geçtiğimiz 5-6 yıldır her sene artan başvuru sayıları bu organizasyonun başarısının bir göstergesi. Ben son birkaç yıldır aktif olarak bu organizasyona destek olamasam da e-posta grubunu elimden geldiğince takip ediyorum. Bu yazıya başlarken bu kadar popüler olan bir organizasyonun perde arkasında neler olduğu ve gönüllü dernek üyelerinin bu etkinliği gerçekleştirebilmek adına nelerle özenle ilgilendiği konusunda herkesin fikri olsun istedim. Şimdi detaylar…

Öncelikle başvurular alınmaya başlamadan önce yapılması gerekenleri sayarak başlayacağım. Kamp tarihinin belirlenmesi (Ramazan Ayı ve Bayramı ile çakışmamasına özen gösteriliyor.), üniversite ve yurt müdürlükleri ile iletişime geçilip belirlenen tarihlerde dersliklerin ve yurtların müsait olduğunun netleştirilmesi, gönüllü eğitmenler ile iletişime geçilip belirlenen tarihlerde kampa katılıp katılamayacakları ve hangi dersleri/sınıfları açabileceklerinin belirlenmesi, web sitesinin güncellenip kayıt almaya hazır hale getirilmesi, sponsor dosyasının hazırlanıp çeşitli firmalara sponsorluk teklifinde bulunulmak üzere gönderilmesi, kampta dağıtılacak promosyon malzemelerinin ve katılımcılara yol gösterecek afişlerin belirlenmesi, hazırlanması. Özetle, daha ortada görünen hiçbir şey yokken hummalı bir çalışma başlıyor.

Başvurular başladığında tüm kayıtlar veritabanında depolanıyor. Başvuranlar arasında üniversite öğrencilerinden, çok çeşitli kurum ve şirketlerde çalışanlara kadar farklı yaş ve hatta meslek gruplarından kişiler oluyor. 2015 yılındaki toplam başvuru sayısı 775. Sınıflar ve eğitmenlerin üst limiti belirlediği toplam kontenjan ise 300 kişi civarı. Dernek olarak stratejik görevlerdeki kişilerin eğitiminin daha önemli olduğunu düşündüğümüz için başvurularda öncelik görevlendirme alan kamu ve üniversite bilgi işlem personellerine veriliyor. Ancak daha önce de belirttiğim gibi kampa katılım herkese açık ve başvurular kapandıktan sonra kontenjan elverdiğince homojen bir seçim yapılıyor. Bu seçimler yapılırken daha önce INETD ya da LKD’nin benzer etkinliklerinde çeşitli sebeplerle kara listeye alınmış kişilerin de elenmesi gerekiyor. Seçim sürecinde yeterince hızlı olunamazsa gecikmeler yaşanabiliyor. Bu sene de gönüllü arkadaşlarımızın yoğunluğu sebebiyle sonuçları açıklamakta biraz geciktik.

Başvuranlar arasından elimizden geldiğince adil ve homojen bir seçim yaptıktan sonra kampa katılmaya hak kazananların bir listesi yayınlanıyor. Bu kişiler ile iletişime geçilerek kesin kayıtları yapılıyor ve bundan sonra yapmaları gerekenler açıklanıyor. Bunun yanı sıra bir yedek liste, bir de reddedilenler listesi oluyor. Tabii ki tüm bu kişilerle de iletişime geçilip durumdan haberdar ediliyor. Bu sırada üniversite ve KYK yurtları ile iletişim sürdürülerek kaç kadın kaç erkek katılımcı olduğu bilgisi veriliyor ki hem yaz okulu ya da staj sebebiyle yurtta kalmak isteyen öğrencilerin kontenjanlarını işgal etmeyelim, hem de Linux Yaz Kampı katılımcıları açıkta kalmasın. Bir yandan da eğitmenlerin geliş – gidiş tarihleri ve konaklama imkanları netleştiriliyor.

Eğitimlere kabul edilen kişilerden aynı sınıfta ders göreceklerin bilgi düzeylerinin birbirine yakın olmasına gayret ediliyor. Yoksa sınıftaki hiç kimse memnun kalmıyor, ders ya çok hızlı geliyor ya da çok sıkıcı. Bunun önüne geçmek için birkaç sene önce eğitimlere başlamadan bir seviye belirleme sınavı yapılmasına karar verilmişti. Bir yandan eğitmenler ve organizatörler bu sınavları hazırlamak için çalışıyorlar. Geçtiğimiz senelerde eğitimlerin başlamasına çok az bir süre kalmasına rağmen onaylanmış katılımcılardan kampın nerede yapılacağı, eğitim için ücret ödenip ödenmeyeceği, dersler başladıktan birkaç gün sonra kampa gelip gelemeyecekleri gibi, kamp web sitesinde üzerine basa basa belirttiğimiz soruları içeren e-postalar yağıyordu. Birçok kişiye garip ya da saçma gelmiş olabilir ancak bu sorunun üstesinden gelmek için kampa katılmak isteyenlere bu soruların yanıtlarını içeren ufak bir test yaptık. Açıkçası işe yaramış görünüyor. 2015 yılında kampın başlamasından hemen öncesine kadar alınan ve gönderilen e-posta sayısı 2500’ü geçmişti. Buraya kadar işlerin karışık olduğunu düşünüyorsanız gelin bir de bu noktadan sonra neler olduğuna bakalım.

Yaz kampının başlamasına 2 gün yani tam 48 saat kalmasına rağmen, çeşitli sebeplerle kampa katılamayacağını belirten katılımcılardan e-postalar yağıyor. Son anda çıkan acil işler, devam etmekte olan stajlar, kimi zaman da belirtilmeyen sebeplerle iptal e-postaları yağmaya devam ediyor. Elbette, insanlık hali, gerçekten ters giden ve önceden öngörülemeyen şeyler, seyahat engeli oluşturabilecek çeşitli sağlık sorunları olabilir. Ancak son anda yağmaya başlayan iptal e-postalarının hepsine bu gözle bakabilmemiz ve anlayışla kabul etmemiz mümkün değil. O yüzden kamp web sitesinin Sık Sorulan Sorular bölümünde belirttiğimiz gibi kampa kesin kayıt yapıldıktan sonra başvurusunu iptal edenler LKD ve INETD’nin kara listesine alınıyor. Kara listeye alınanlar gelecekte bu iki derneğin düzenlediği herhangi bir kontenjanlı etkinliğe kabul edilmiyor. Kişileri kara listeye alırken iptal e-postasını gönderen kişinin iyi niyetine ve samimiyetine güvenerek, önceden tahmin edilemeyen önemli sorunlar yaşadığını belirten katılımcıları hariç tutuyoruz. Bunu anlamak çoğu zaman birkaç kez karşılıklı yazışmayı gerektiriyor. Bu konuda da herkese eşit davranmaya özen gösteriyoruz. Elbette iptal eden katılımcıların yerlerinin doldurulması gerekiyor. Bu noktada yedek listeler devreye giriyor ancak kampın başlamasına 1-2 gün kala yedek listedeki insanlara haber vermek pek hoş olmadığı gibi, pek verimli de olmuyor. Yine son ana kadar katılımcılardan gelen çok çeşitli sorular ve örneğin konaklama şeklinin değiştirilmesi gibi çözülmesi gereken sorunlar oluyor. Tüm bunların sonucunda son ana kadar yurt listelerinin ve katılımcı sayılarının güncellenmesi gerekiyor. Bütün bu sürecin üzerine kayıt yaptırıp haber vermeden kampa gelmeyenler ya da kampa gelip sonra kaçanlar da oluyor. Eh biz de anaokulu öğretmeni değiliz tabii kocaman insanları kulağından tutup getirelim ya da köşede tek ayak üstünde durma cezası verelim. Elimizden geldiğince adil ve herkese faydalı olacak bir organizasyon yapmaya çalışıyoruz ama elimizde olmayan şeyler de oluyor. Örneğin bu sene yukarıdan gelen bir emirle kampın son haftası KYK kadın yurtlarını boşaltmak zorunda kaldık. Şehirle üniversitenin ulaşımı ise belediyedeki koşullar değiştiğinden istediğimiz gibi sağlanamadı.

Sonuç olarak, bu kampın organizasyonunda perde arkasında yaşananları olabildiğince kısa şekilde anlatmaya çalıştım. Yazıyı daha da uzatıp okunabilirliğini azaltmamak adına bahsedemediğim şeyler de var, onlar da başka bir yazıya kalsın. Elbette bizler de insan olduğumuzdan hatalarımız da oluyordur. Ancak yukarıda anlattığım bütün hazırlık sürecinin ve kamp sırasındaki eğitim sürecinin tamamının gönüllülük esasına dayandığını bir kez daha belirtmem gerekir. Bu süreçlere katkı veren herkes kendi profesyonel işlerinde çalışmaktadır. Organizasyonla ilgilenen ya da kampa eğitmen olarak katılan herkes bu kamp için zaman yaratmakta, işlerinden izin alarak (kimi zaman alabildikleri kadar ya da uzaktan çalışarak), herhangi bir ücret almadan, kampa katılmakta ve katkıda bulunmaktadırlar. Kampın eğitmenlerin yol-konaklama ücretleri, sınıflarda kullanılacak olan elektrik kabloları, projeksiyon cihazları, perdeler gibi giderleri ise LKD, INETD, Bolu Abant İzzet Baysal Üniversitesi ve bulabilirsek sponsorlar tarafından karşılanmaktadır.

Tüm bu süreç sosyal bir deney olsaydı herhalde pek çok insanın kendilerine ücretsiz olarak sunulan imkanları ciddiye almayışlarının güzel bir kanıtı olurdu. Oysa insanlar böyle bir etkinlik için para ödeselerdi son dakika iptalleri ya da şartları okumadan kayıt formunu dolduranlar yine bu kadar çok olur muydu? Ama bu kez de derneğin misyonuna ters olan bir etkinlik olurdu. LKD’nin tüm etkinlikleri herkese açık ve ücretsizdir. Çünkü özgür yazılım herkesçe erişilebilir olmalı, özgür yazılım ve Linux’u olabildiğince fazla kişiye anlatabilmeliyiz. Parası olanlara değil, gerçekten istekli olanlara ulaşabilmeliyiz. İşte yukarıdaki bu uzun yazı sadece bu amaç doğrultusunda verilmiş emeklerin çok kısa bir özetidir. Bu organizasyonda emeği geçen herkese teşekkürler, iyi ki varsınız.



27 February 2015

Gemalto – İstihbaratcılar İzin Almadan İstediklerini Dinleyebilecek


ABD istihbarat örgütü NSA ve ingiliz gizli istihbaratının (GCHQ) ortaklaşa yaptığı operasyonda, Dünyanın en büyük sim kart üreticisi Gemalto hacklendi. Gemalto senede 2 milyar sim kartı üreten ve dünya çapında […]

24 January 2015

Amazon Web Services


Amazon Web Services hakkında internette zilyon tane makale bulabilirsiniz. Ben ilk başlarda araştırırken çok fazla türkçe döküman görmedim. Gerçi türkçe döküman hiç aramadım, yoksa kesin birileri yazmıştır. Amazon Web Services, biz kısaca AWS diyelim. AWS benim için atıl kapasiteye giden...

The post Amazon Web Services appeared first on Bahri Meriç CANLI Kişisel Web Sitesi.



31 December 2014

Socks Vekil Sunucu (Proxy) ile Git Kullanımı


Öncelikle yazımdaki araya sıkışıp kalan İngilizce kısımlar için anlayış göstereceğinizi umarak başlamak istiyorum.  Bu yazımda, socks vekil sunucu kullanarak uzaktaki bir git sunucusuna (ssh protokolünü kullanarak) bağlanmak için izlediğim birkaç küçük adımı paylaşmak istiyorum.

Gelelim asıl konumuza. Vekil sunucu olarak “ssh-tunneling” [2] yardımıyla kendi yerel makinamı kullanmaktayım ve hedef git sunucu olarak github.com’u ele almak istiyorum. İnternette `git clone user@git.example.com:repo.git` şeklinde gördüğümüz ifadeler sadece ssh protokolünün kısa yazımıdır ve `ssh://user@git.example.com:repo.git` ifadesi ile aynı anlama gelmektedir [1].

Örnek olarak aldığımız github.com adresi için ~/.ssh/config dosyasına birkaç ekleme yapmamız gerekiyor. Kendi kullanıcı dizininizde bu dosya mevcut değilse oluşturup düzenlemeye devam edebilirsiniz. ~/.ssh/config dosyasına aşağıdakine benzer şekilde eklemelerinizi yapabilirsiniz.

Host github.com
    User                    git
    ProxyCommand            nc -x localhost:1080 %h %p

İlk olarak burada kullandığımız `nc` (netcat) aracı sisteminizde yoksa bunu kurmanız gerekmekte. Kendi sistemim Debian olduğundan dolayı aşağıdaki komutla bu paketi kuruyorum.

apt-get install netcat-openbsd

Daha sonra, Host ile belirttiğimiz alana git sunucumuzun adresini giriyoruz (github.com yerine kendi sunucumuz olabilir). User alanı ise git sunucusu üzerinde size açılan kullanıcı adı olacaktır. ProxyCommand bağlantı sırasında vekil sunucumuzu kullanmamızı yarayacak temel alanımızdır. `-x` parametresi ile vekil sunucu adresimizi ve port numarasını belirttikten sonra `%h` ile hedef adresimizi (git sunucumuzu) ve `%p` hedef portumuzu belirtmiş oluyoruz.

Ayrıca

Port 444

alanı ile öntanımlı 22 yerine başka bir port kullanmamız (444 gibi) mümkün. Parola yerine ortak anahtar kullanarak giriş yapmak istiyorsak aşağıdaki eklemeyi (github.key yerine tabi ki kendi ortak anahtar dosyamızı belirterek) yaparak bu sorunu da halletmemiz mümkün.

IdentityFile ~/.ssh/github.key

Tüm bu adımlardan sonra uzaktaki git sunucumuza vekil sunucumuz üzerinden bağlanmaya hazırız. Yazının başında belirttiğim gibi bu adımlar ssh ile yapılan bağantıları kapsamaktadır. HTTP(S) için [3] adresindeki bilgilere göz atmanızı öneririm. Yazımın işinize yaraması dileğiyle.

[1] http://git-scm.com/book/tr/v1/Uzak-Serverda-Git-Protokoller

[2] http://www.revsys.com/writings/quicktips/ssh-tunnel.html

[3] http://cms-sw.github.io/tutorial-proxy.html



18 November 2014

Haydi sifreleyelim girisimi (let's encrypt initiative)


EFF bugun internetin gelecegini degistirme potansiyeli olan let's encrypt adini verdikleri projeyi duyurdu. Mozilla, Cisco, Akamai gibi devlerin yani sira IdenTrust ve Michigan Universitesi arastirmacilarinin da katkilariyla olusturduklari yeni bir sertifika otoritesi olan let's encrypt, web'in http'den https'ye gecisi onunde kalan son engelleri de kaldirmayi amacliyor. Bu yazida https'nin http'ye gore artilarini siralamaktansa let's encrypt otoritesini, girisimin kurmayi planladigi sistemi ve su anda gelistirmekte olduklari ACME protokolunu anlatacagim.

Internet guvenligi arastirma grubu, ISRG, ismiyle yeni olusturulan ve kar amaci gutmeyen bir organizasyon tarafindan isletilecek let's encrypt sertifika otoritesinin hangi problemi cozmeye calistigini aciklayarak baslamak yerinde olacaktir diye dusunuyorum. SSL/TLS'in genis capta uygulanabilmesinin onundeki en buyuk engellerden en onemlileri kurulum karmasikligi, burokrasi ve sertifikalarin yuksek ucretleri olarak goruluyor. 2015 yazindan itibaren ucretsiz olarak sertifika dagitmaya baslayacak olan yeni otoritemiz su siralar tek bir komut calistirilarak, hazirda sunulmakta olan sitelerin alan adi dogrulamasini yaptiktan sonra https'ye gecirilmesi islemini yapacak bir istemci yazilimi ve bu yazilimin insa edilerken temel alindigi protokol uzerinde calisiyor. Let's encrypt bu surecte gozetecegi ana prensipleri ise soyle siraliyor;

Bedelsiz: Alan adi sahipleri kontrol ettikleri alanlar icin hicbir ucret odemeden sertifika sahibi olabilecekler

Otomatik: Sertifika alim sureci ve yenilenmesi ve sunucuda konfigure edilmesi gibi islemler tamamen otomatiklestirilerek minimum operator mudahalesi gerektirecek

Guvenli: Let's encrypt modern guvenlik tekniklerinin ve alandaki en iyi uygulamalarin implemente edilebilecegi bir platform olacak

Seffaf: Verilen ya da gecersiz kilinan tum sertifikalar incelemek isteyen herkese acik olacak

Acik: Gelistirilen protokol herkese acik bir standart olacak, gelistirilen yazilimlar ise elverdigince acik kaynak olarak sunulacak

Katilimci: Tek bir organizasyonun kontrolunde olmaktansa her acik standartta oldugu uzere topluluktan katilimcilarin fayda saglayacagi tumlesik bir girisim olmayi amaclayacak

Gelelim nasil calistigina. Altyapi ve istemci yazilimi tamamlandiginda kendi ifadeleriyle

sudo apt-get install lets-encrypt  
sudo lets-encrypt ornek.com  

komutlarini calistirmak tum ayarlari ve sertifika surecini halletmek icin yeterli olacak. Peki arkaplanda neler oluyor? Aslinda bunun icin istemci yazilimin ne yaptigina bakmadan once ACME protokolune bakmakta fayda var. Taslak halindeki RFC'ye gore genel hatlariyla protokol soyle.

Istemci yazilimi operatore hangi alan adlari icin sertifika istedigini soracak. Bu islemin ardindan sertifika otoritelerinin bir listesi gelecek. Eger secilen otorite ucretsiz sertifika saglayan bir otorite degilse odeme bilgisi bu asamada istenecek. Daha sonra yazilim operatore kisa bir sure icinde sertifikanin verilecegini bildirecek. Arkaplanda sunucu, sertifika otoritesi ile ACME kullanarak operatorun belirttigi alan adlari icin sertifika isteginde bulunacak. Sertifika otoritesinin verilen sertifikanin tipine gore belirledigi gereksinimler yerine getirildiginde verilen sertifika otomatik olarak indirilecek ve web sunucu sertifikayi kullanacak sekilde yapilandirilacak. Tercihen operatore e-posta, sms vb. gibi bir yontemle haber verilecek. Normal web hizmeti surecinde web sunucu sertifika otoritesi ile gerektigi taktirde konusarak OCSP (cevrimici sertifika durum protokolu) cevaplari, sertifika listeleri gibi bilgileri almaya devam ederek sorunsuz bir web sunma isinin yururlugunu saglamaya devam edecek.

Burada araya girip bir iki konuya acikliga kavusturayim. Yukarida web sunucu olarak bahsedilse de e-posta, xmpp vs. gibi sertifika kullanabileceginiz her hizmette ACME protokolunu ve bu protokol uzerinden calisan istemciyi kullanabileceksiniz. Su asamada organizasyon dogrulamasi(organization validation) ya da kapsamli dogrulama(extended validation) surecleri nasil isleyecek cok net olmasa da alan adi dogrulama icin(domain validation) bir sorun yok gibi gozukuyor. Protokole doneyim.

Standardimizda uc adet anahtar/anahtar cifti tanimi bulunuyor.

Ozne acik anahtari (subject public key): Sertifikaya konu olan alanlar icin dahil edilecek acik anahtar

Yetkilendirilmis anahtar cifti (authorized key pair): Sertifika otoritesinin herhangi bir kimligin yonettigi/yonetebilecegi sertifikalar icin iletisimde kullanacagi anahtar cifti. Bu cift birden fazla kimlik icin kullanilabiliyor.

Sifirlama anahtari (recovery token): Diger anahtarlarin ya da anahtar ciftlerinin kaybedilmesi durumunda sertifika otoritesine kimlik kanitlamak icin kullanilabilecek gizli anahtar

Butun iletisim https uzerinden json ile saglaniyor. Kimlikler ACME'de anahtar ciftleri ile ifade ediliyor. Bir alan adi icin istek yapilmadan once gecerli bir anahtar ciftinin ozel anahtarinin o alan adini kontrol eden tarafindan sahipliginin gosterilmesi gerekiyor. Bu kisim bildigimiz acik anahtarli sifrelemenin aynisi oldugundan uzerinde cok durmaya gerek yok. Alan adinin ya bir DNS kaydi ile ya da sunulan bir dosya ile bir ozel anahtar tarafindan kontrol edildigi kanitlaniyor. Sertifika otoritesi bu kanitlama basarili olursa basarili mesaji ve sifirlama anahtari donuyor istemciye.

Kimlik kanitlama isleminin ardindan istemci, belirtilen alan icin bir sertifika imzalama istegi olusturuyor(CSR) ve bu istegi ozel anahtari ile imzalayip sunucuya gonderiyor. Sunucu gelen istegin daha once dogruladigi anahtar ciftine ait olduguna emin olduktan sonra sertifikayi olusturuyor ve istemciye gonderiyor. Bu cevapta sertifika yenilemenin tekrar bir dogrulama gerektirmedigi durumlarda, istemci tarafindan yenileme icin kullanilabilecek adres de gonderilebiliyor. Sertifikanin iptali icin istemci basitce, ozel anahtariyla imzaladigi iptal istemini sunucuya gonderiyor ve sunucu bu istegi aldiginda sertifikayi iptal ediyor. Istemci ya da sunucu yazacaklar icin taslak standardin burada atladigim teknik detaylarina yukarida paylastigim protokol adresinden ulasmak mumkun.

Sistem 100 metre yukaridan bakildiginda aciklamaya calistigim sekilde isliyor. Ucretsiz sertifikalarin edinilebilmesine olanak taniyacagi ve TLS implementasyonu onundeki teknik engelleri kaldirma potansiyeli oldugu icin interneti degistirebilecek bir proje olarak goruyor ve heyecanlaniyorum. Umarim Postfix, Nginx, ejabberd gibi projeler de ACME'yi ve dolayisiyla let's encrypt sertifika otoritesini otomatik olarak kullanabilmek ve yapilandirabilmek icin gereken adimlari en kisa surede atarlar. Bu sayede gorece daha guvenli bir internet deneyimi icin gereken en temel adimlardan birini atmis oluruz.



03 November 2014

Teknolojinin Kadınları Etkinliği Sunumum


Geçtiğimiz günlerde Kadın Yazılımcı topluluğu ile birlikte İstanbul Hackerspace'de Ada Lovelace Day ve Grace Hopper Celebration'ı Türkiye'de de kutlamak için bir etkinlik düzenledik, bu etkinlik için ben de bir sunum hazırladım.

Etkinlik ile ilgili Cansu Uludağ'ın değerlendirme yazısı hayli kapsamlı olmuş, okumanızı tavsiye ederim. Hem vesileyle benim bu blog yazısında (zaman sıkıntısından) bahsedemediğim diğer arkadaşlarımın şahane sunumlarını da okumuş olursunuz.

Bu blog yazısında, yoğunluktan ertelediğim bir işi yapmaya hazırlanıyorum. Etkinlikte yaptığım, hazırladığım sunumu paylaşıyorum. 

 Dünyada yazılım, bilişim ve teknoloji alanında kadınları teşvik etme amacıyla düzenlenen etkinlikler, programlar ve bu konuda kadınlara fon ayıran vakıflar hakkında bilgi verdiğim sunumuma buradan ulaşabilirsiniz.

Çoğunlukla kadınların yer aldığı özgür yazılım, açık kaynak projeleri, organizasyonlarının yer aldığı (içerisinde yer almamla bildiğim, takip ettiklerim nedeniyle) bu sunumu peyderpey de olsa güncellemek yapılacaklar listeme girdi bile! :)
                    



02 November 2014

PisiLinux 1.1 Yayınlandı


Pardus projesinin 2012 Ocak ayında sonlandırılmasından sonra yaşanan belirsizliğin ardından projenin teknik altyapı değişikliğiyle yoluna devam etmesine karar verildi. Normal şartlarda tamamladığım bu cümlenin ardından bir bağlantıya atıfta bulunurdum ama inanın İnternet’in derinliklerinde Pardus ile ilgili bu konudaki  bağlantıları aramak bile istemiyorum. Çünkü ben ve benim gibi pek çok kişi o süreçte çok üzüldü , kırıldı ve Pardus adını bile duymak istemedi ki hâlâ böyle hissedenlerin olduğunu biliyorum.

2012 Yılı bu belirsizlikle geçerken bazı Pardus severler başka dağıtımlara, bazıları da “yeni” Pardus’a geçiş yaptı geriye kalan kitle ise işimi göremeyecek duruma gelen kadar Pardus’ kullanmaya devam edeceğim derken çok az sayıdaki Pardus sever ise bir iddia ile ortaya çıktı “paketleri güncel tutacağız” Paketleri güncel tutma çalışmaları 2013 başlarında  Pardus’a özgü PİSİ , COMAR, YALI, KAPTAN gibi  teknolojileri kullanacak yeni bir Dağıtım oluşturmaya evrildi.

Tıpkı Pardus’un yıllar önce Gentoo’yu kuluçka dağıtım olarak kullanması gibi Özgün Pardus’un ardılı olan  bu yeni dağıtım da Pardus 2011.2 sürümünü kuluçka dağıtım olarak kullandı ve tıpkı ana rahmindeki bir cenin gibi bir süre sonra kalp atışları duyulmaya başlandı.

PisiLinux

PisiLinux

Yeni Dağıtımın Adı PisiLinux

Bir GNU/Linux dağıtımını diğerlerinden ayıran en önemli özelliği kuşkusuz kullandığı paket yönetim sistemidir.  Özgün Pardus’un en önemli özelliği de elbette diğer dağıtımlardan farklı olarak kendi paket yönetim sistemi olan PİSİ idi bundan dolayı yeni dağıtımın adı Pisi Linux oldu.

Çalışmalar sınırlı sayıda paketçinin çabalarıyla github üzerinde  sürdürüldü.  Paketler gözden geçirildi sürümleri güncel’e çıkarıldı, Pardus hata sistemine girilen yeni paket istekleri baz alınarak yeni paketler eklendi, Yalı içeriği güncellendi, Pisi’ye ihtiyaçlar gözönüne alınarak eklemeler yapıldı. Zahmetli ve uzun bir çalışmanın ardından geçtiğimiz Ağustos ayında ilk kararlı sürümü olan PisiLinux 1.0 yayınlandı.

29 Ekim 2014 günü yani Cumhuriyetimiz’in 91. Yıldönümünde ise güncellenen paketler 300 Mb geçtiği için ilk ara sürüm Pisilinux 1.1  sessiz sedasız yayınlandı. PisiLinux!u meydana getiren bu fedakâr ekip tıpkı iki yıldır yaptıkları gibi çalışmalarına sessiz sedasız devam ediyor…

Geçen iki yılda;

1- Kaderine terk edilen Pisi paketleri güncellediler.

2- Yeni paketleri depoya aldılar.

3- Yeni bir dağıtımı meydana getirdiler.

4- Pisi’ye yeni özellikler eklediler.

5- PisiLinux Topluluğunun temellerini attılar. Bu amaçla proje sayfası, Web Sitesi,  Forum, Hata Takip Sistemi,Yardım Kanalları‘nı hayata geçirdiler.

Bu tip blog yazıları genelde “etkin” destek çağrısı amacıyla yazılır ki ben de daha önce böyle birkaç yazı yazmıştım. Ancak bu sefer öyle değil.

Bu sefer sadece bir son kullanıcı olarak size PisiLinux’u sadece deneme amaçlı da olsa kurun kullanın demek için yazıyorum. PisiLinux 1.1 sürümünü indirin ve  önyargılarınızı bir kenara bırakarak kullanın. Bir bakın eğer işlerinizi yapamayacağınızı düşünürseniz de  kaldırın.  Bu seviyeye gelmiş olan Pisilinux artık sizden sadece kullanılmayı ve hak ettiği değeri görmeyi bekliyor.

Daha önce defalarca Linux dağıtımları kurdunuz kaldırdınız bir kez daha yapabilirsiniz haydi!

Sürüm Çıkış Târihi İndirme Bağlantısı
Pisi Linux 1.1 KDE  29.10.2014
Pisi Linux 1.0 KDE  14.08.2014
Pisi Linux 1.0 LXDE 14.08.2014
Pisi Linux 1.0 XFCE 14.08.2014
Pisi Linux 1.0 Minimal 14.08.2014


26 September 2014

Fedora 20 Adım Adım Laravel Kurulumu


Hepinizin malumu Laravel şu an en popüler php frameworklerinden biri. İnternette Ubuntu için oldukça fazla anlatım mevcut olmasına rağmen Fedora'da oldukça kısıtlı ve eksik. Böyle olunca lamp kurulumundan başlayarak adım adım anlatalım dedik. Hadi başlayalım.

1.LAMP KURULUMU

   1.1 Apache Kurulumu

      Paket Yöneticisi Güncellenir

      #sudo yum update

      Apache web sunucusu kurulur

      #sudo yum install httpd

      Web sunucusu çalıştırılıp kontrol edilir

      #sudo service httpd start

      Tarayıcı'ya http://localhost yazılırsa şöyle bir şey çıkması lazım


     1.2 Mysql Kurulumu

       Mysql Kurulur ve başlatılır

       #sudo yum install mysql mysql-server       #sudo service mysqld start       


       Mysql Güvenli Kurulum betiği çalıştırılır

      #sudo /usr/bin/mysql_secure_installation
     
      Aşağıdaki gibi sorulara cevap verilir.


/usr/bin/mysql_secure_installation: line 379: find_mysql_client: komut yok

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): Burada enter'a basıyoruz
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] n
 ... skipping.

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

     1.3 PHP Kurulumu

       Php ve gerekli modülleri yüklenir

       #sudo yum install php php-mysql php-mcrypt 
         (mcrypt paketi kurulmazsa laravel kurulumunda hata verebilir)    

     1.4 Sistem Açılış Ayarları

       Aşağıdaki komutları yazarak http ve mysql servislerinin sistem açıldığında otomatik açılmasını sağlıyoruz
        #sudo chkconfig httpd on
        #sudo chkconfig mariadb on



     1.5 Php Testi

       Nano Editörü yüklenir

       #sudo yum install nano
       #sudo nano /var/www/html/info.php

       Açılan editöre aşağıdaki kod kopyalanır

     
             <?php 
             phpinfo(); 
            ?>

        Kaydedilip çıkılır. Apache yeniden başlatılır

         #sudo service httpd restart

        Tarayıcı'ya http://localhost/info.php yazılırsa şöyle bir şey çıkması lazım



2.LARAVEL KURULUMU

  Terminalde şu komutu yazıyoruz

   #sudo curl -sS https://getcomposer.org/installer | php
  

  Composer.phar dosyasını çalıştırılabilir dosyalar klasörüne atıyoruz.

   #mv composer.phar /usr/local/bin/composer

  Html Klasörümüze gidiyoruz

   #cd /var/www/html
   #composer create-project laravel/laravel proje-isminiz
   #cd proje-isminiz
   #composer install
   #cd ..
   #sudo chmod -R 777 proje-isminiz
   
   Tarayıcı'ya http://localhost/deneme/public/ yazdığınızda aşağıdaki ekran gelmesi lazım. Gelmiyorsa SElinux engelliyordur. Kaldırmak için
    #nano /etc/selinux/config 
    Bu dosya içerisinde yer alan SELINUX=enforcing yazan satırı SELINUX=disabled veya permassive olarak değiştiriyoruz  ve dosyamızı kaydediyoruz.