03 July 2016

DevOps Günlüğü #6 03.07.2016


DevOps Günlüğü #6 03.07.2016

Photo Credits:
Nasa Image of The Day - Counting Down to Juno's Arrival at Jupiter
A model of the Juno spacecraft is seen at a news briefing on Thursday, June 30, 2016, at the Jet Propulsion Laboratory. The Juno mission will arrive at Jupiter July 4, 2016, to orbit the planet for 20 months and collect data on the planetary core, map the magnetic field, and measure the amount of water and ammonia in the atmosphere.
https://www.nasa.gov/image-feature/counting-down-to-junos-arrival-at-jupiter/



27 June 2016

Linux Yaz Kampı 2016


7.Linux Yaz Kampı 2016, 5-20 Ağustos tarihlerinde Bolu’da Abant İzzet Baysal Üniversitesinde düzenlenecektir. Kampa başvurular 1-15 Temmuz tarihleri arasında yapılacaktır. Linux Kullanıcıları Derneği, İnternet Teknolojileri Derneği ve Bolu Abant İzzet Baysal Üniversitesi‘nin organizasyonunu üstlendiği etkinlikte, farklı alanlarda, farklı bilgi düzeylerine hitap eden paralel sınıflarda gerçekleştirilen eğitimlere katılım ücretsiz olacaktır. Kurslar üniversite ve kamu çalışanlarını hedeflemekte...»

20 June 2016

LKD’nin 13. Olağan Genel Kurulu Yapıldı


lkdlogo

Derneğimizin 13. Genel Kurulu, 18 Haziran 2016 Cumartesi günü, Elektrik Mühendisleri Odası Genel Merkezi’nin ev sahipliğinde yapıldı. Genel Kurul sonuçlarını paylaşıyoruz.

Genel Kurul’da yapılan oylama sonucunda 2016-2017 dönemi LKD Yönetim Kurulu’na seçilen üyelerin, aralarında yaptıkları görev dağılımı sonrası Yönetim Kurulu şu şekilde oluştu:

- Volkan Uygun (Başkan)

- Duygu Hatipoğlu Aydın (Genel Sekreter)

- Adil Güneş Akbaş (Sayman)

- Ahmet Sezgin Duran (Üye)

- Barış Büyükakyol (Üye)

 

Oylama sonucunda, Denetleme Kurulu ise

- Volkan Evrin (Başkan)

- Türker Gülüm

- Oktay Dursun

olarak belirlendi.

 

 



15 June 2016

XXI. Türkiye'de İnternet Konferansı, Akademik Bilişim 2017 ve 2. Kamu Açık Kaynak Konferansı


Türkiye'de İnternet Konferanslarının yirmincisi bu yıl 3-5 Kasım 2016 tarihlerinde TED Üniversitesinde yapılacak.

2. Kamu Açık Kaynak Konferansı ise 16-20 Ekim tarihleri arasında ODTÜ'de düzenlenecek.

On dokuzuncu Akademik Bilişim Konferansı için Aksaray Üniversitesi ev sahibi olacak ve 8-10 Şubat 2017 tarihlerinde gerçekleşecek. Konferans öncesi kursların tarihi de 4-7 Şubat.

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

02 June 2016

Algoritma Analizi Dersi Özeti


Herkese merhaba, bu yazımda bilgiasayar mühendisliği 4.sınıfın bahar dönemi dersi olan algoritma analizi dersinin neden gerekli olduğundan ve içeriğinden bahsedeceğim.

Algoritma, belli bir problemi çözmek veya belirli bir amaca ulaşmak için tasarlanan yol demektir. Bir soruna bulduğumuz algoritmik çözümün ne kadar etkili olduğunu ölçmek için de analiz yapıyoruz. Amacımız o problemi en etkili yoldan çözüme ulaştırmak. Bulunan 2 çözüm çok küçük değerlerde yer-zaman açısından çok fark yaratmasa da bu çözümlerin karmaşıklık değerleri ölçek büyüdüğünde verimliliği fazlasıyla değiştiriyor. Çözümün etkili olup olmamasının parametresi ise ne kadar hızlı çalıştığı ve bellekte ne kadar yer kapladığı ile ilgilidir. (Algoritma analizinde donanım, işletim sistemi gibi faktörleri analiz sonucuna etki ettirmeyiz)

İlk derslerde bir kodun analizini yaparken kullanacağımız gösterimi öğrendik. (asymptotic notation)

Kullanılan ölçümler:
- O(f(x)) bigO: üst sınır
- o(f(x))
- Θ(f(x)) teta: keskin sınır
- Ω(f(x)) omega: alt sınır
Üst ve alt sınırın aynı olduğu durumlarda keskin sınır olan teta ile gösterim yapılır. BigO için karmaşıklık ölçüleri aşağıdaki grafikteki gibidir:


Birkaç kod örneğine bakacak olursak,
1. Sıralı bir dizide doğrusal arama ve ikili arama için karmaşıklık hesaplayalım.

doğrusal arama python kod örneği burada 
Aradığımız elemanı ilk seferde bulursak(best case) karmaşıklık O(1), son seferde bulursak(worst case) O(N) çıkar. Bir ortalama alırsak O(N/2) diyebiliriz.

İkili arama python kod örneği burada
Burada ise ağaç yapısı kullanarak arama işini çok aza indirmiş oluyoruz.Zaten sıralı gelen dizide arama yapılacak küme her seferinde 2 ye bölünüyor ve daha etkili bir arama oluyor. Karmaşıklığı: O(logN)

2. Özyinelemeli fibonacci kodunun karmaşıklığını inceleyelim.
fibonacci(7) için arka planda method çağırma işi şu şekilde oluyor: 

      fibonacci(7)
____|_____
| |
fibonacci(5) fibonacci(6)
____|____ ____|_____
| | | |
fib(3) fib(4) fib(4) fib(5).....

Buradan da görüldüğü gibi aynı değer(örneğin fibonacci(5)) 2 kez çağırılıyor. Karmaşıklığı: O(2^N)

Buna bir çözüm olarak akılda tutma yöntemi öneriliyor. Yani hesaplanan bir fibonacci değerinin yeniden hesaplanmasına gerek kalmıyor. Karmaşıklığı ise: O(N)'e düşer.

3. Bir dizideki en büyük toplama sahip alt diziyi bulan kod için karmaşıklık hesaplayalım. maxSubSum1 ve maxSubSum2 methodları aynı işi yapmalarına rağmen birinin karmaşıklığı O(N^2) diğerinin O(N^3)'tür.

4. Sıralama algoritmalarından bublesort, insertionsort ve quicksort'u inceleyelim.

Bublesort: Kodlar incelenecek olursa çalışma mantığı şu şekildedir:
Algoritma ortalama ve en kötü durumda O((N^2)/2) adet karşılaştırma ve yer değiştirme gerçekleştirir. ( n 2 / 2 ) {\displaystyle {\mathcal {(}}n^{2}/2)}

İnsertionsort: Kafamızda daha iyi şekillenmesi için örnek olarak iskambil kartları için yaptığımız sıralamaya benzetebiliriz. 
worst case: Liste tersten sıralıysa O(N^2) karmaşıklıkla çalışır. O ( n 2 ) {\textstyle O(n^{2})}
best case: Liste sıralıysa sadece karşılaştırma yapar O(N) karmaşıklıkla çalışır. n − 1 {\textstyle n-1} O ( n ) {\textstyle O(n)}
ortalama karmaşıklık: O(N^2)

Quicksort: Önce pivot bir dizi elemanı seçilir ve diğer elemanlar seçilenden büyükse önüne küçükse arkasına koyularak bir düzenleme yapılır. 2 kısım haline gelen dizide her alt dizi için yine pivotlar seçilerek ön ya da arkasına geçme işlemi yapılır. Karmaşıklık best case: O(nlog(n)), worst case: O(N^2)


İşaretçi tabanlı quicksort Karmaşıklığı: LinkedList konusunda best case'i N hesaplamıştık. Ancak burada hem recursive hem de listeyi 2'ye bölerek işlem yapma olduğu için best case: O(N^2(logN)) olmaktadır.

5. Birçok veri yapısı mevcut. B+ tree, list, kuyruk vb. Tüm bu yapılar için eleman ekleme-çıkarma boyut arttırma işlemleri ve karmaşıklıkları hesaplanabilir. Bütün bir özet için buraya bakabilirsiniz.Veriyapılarından Dizi ve Hash işlemleri karmaşıklıklarına bakalım:

- Dinamik boyutlu olan bir dizide yer arttırma işlemi karmaşıklığı: Sabit boyutlu bir dizinin kapasitesi dolduğunda yeni veri eklerken hata alırız, dinamik dizilerde ise boyut değişimi yapılır ve ekleme işlemi gerçekleşir. Temelde şöyle çalışır: Arka planda temp gibi çalışan bir dizi daha vardır. Birinci bölge oluşturulduğunda dizi yeni oluşturulan büyük boyutlu diziye kopyalanır ve ilk dizi silinir. Dinamik dizinin genişletilmesi az elemanda çok farkedilmese de eleman sayısı arttıkça maliyeti artıran bir işlemdir.

- Hash table eleman ekleme karmaşıklığı: Temelde verilere bir anahtar yardımıyla erişilen basit dizilerden oluşan bir yapıdır. Anahtar kullanılarak bir indeks üretilir ve bununla dizide istenen yere ulaşılır. Ürün seri numarası ve adı örnek verilebilir. Ürün isimleri aynı olsa da anahtarları(seri numaraları) farklıdır ve bu anahtarlar ile erişim sağlanır.
 Umarım faydalı olur. Kolaylıklar.


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.



25 May 2016

Çok yakında! Açık donanım için ilk onaylama


Bu yıl Ekim ayı Open Source Hardware Association (OSHWA, Açık Kaynak Donanım Birliği) ile Açık Kaynak Donanım Ayı olacak!

Açık kaynak donanım tasarımı halka açık olan donanımdır, herkes tasarım veya tasarımı temel alan donanım üzerinde çalışabilir, değiştirebilir, dağıtabilir, inşa edebilir ve satabilir. Donanımın kaynağı onu meydana getiren tasarımıdır ve değişiklik yapmak için tercih edilen biçimde mevcuttur.

Açık Kaynak Donanım Ayı açık kaynak donanım tanımına açıklık getirme, harekete katkıda bulunması için daha fazla insanın davet edilmesi ve bir tasarının ya da ürünün açık kaynak donanım olarak nasıl yayınlanacağı hakkında eğitim sağlamak amacıyla üç büyük etkinliğe ev sahipliği yapacak. Bu etkinlikler Açık Kaynak Zirvesini, bir açık kaynak donanım onaylamasını ve bir dizi belgeleme günlerini içeriyor.

Yıllık Açık Kaynak Zirvesi 7 Ekim 2016 tarihinde Portland, Oregon'da gerçekleşecek. Takvimlerinizi işaretleyin! Zirve biletleri satışta, konuşmacı ve destekçiler arıyoruz. Belgeleme günleri tüm kişi ve kurumlara açık ve bu tasarıyı belgelemek için harika bir zaman. Bizi Twitter veya Facebook‘tan takip edebilirsiniz.

Yeni! Açık kaynak donanım onaylaması

Zirvede, OSHWA açık kaynak onayının ilk sürümünü çıkaracak. Bu onay açık kaynak donanım topluluğunun en az iki bölümüne yarar sağlayacak şekilde tasarlandı.

İlki, pazarda ürünün gerçekten açık kaynak olduğunu anlamayı kolaylaştırarak alıcıya fayda sağlacak. Tasarılar ve ürünler onay alarak ve onay simgesini göstererek açıklık tanımı üzerine kabul görmüş genel kanıyı müşterilere ve kullanıcılara iletmiş olacak. Onay belgesi açıklık için bir koşul olmasa da onay almak tasarının açık kaynak donanım olduğunu diğerlerine anlatmanın bir yolu olacak.

İkincisi, açık kaynak donanımın yaratıcılarına fayda sağlayacak. Yaratıcılara belirli yönergeler vererek, açık kaynak donanım yaratıcılarının güvenle kendi tasarılarının ve ürünlerinin açık kaynak donanım olduğunu açıklamasını sağlayacak. Ayrıca onay yaratıcıların onay sürecinde tanımlanan belirli ölçütlere uygunluğu işaret ederek bu açıklamalarını savunmayı sağlayacak.

Kullanıcılar da onay simgesini kullanma amacı ile uygunluğu kendileri onaylayacak. Öz-onaylama yaratıcılara OSHWA açık kaynak donanım onay simgesini kullanma hakkını verecek. Öz-onaylama sürecinin bir parçası olarak, yaratıcılar uygunsuzluk için cezalara boyun eğecek. OSHWA bu cezaları zorla uygulama için sorumlu olacak.

Open Source Hardware Association bir 501©3 kar amacı gütmeyen kuruluştur, kendini açık kaynak donanım topluluğunun sesi olmaya, uygulayımsal bilginin herkese açık olduğunu sigortalamaya ve eğitime, çevresel sürdürülebilirliğe ve insan refahına hizmet eden uygulayımbilimin işbirlikçi biçimde geliştirilmesini özendirmeye adamıştır. Bugün OSHWA'nın bir üyesi olun!

Lisans: Bu metin CC BY-SA 4.0 lisansı altında dağıtılan “Coming soon! First ever certification for open hardware” metninden çevrilmiştir. Özgün metin Alicia Gibb tarafından yazılmıştır. Çeviri metni CC BY-SA 4.0 altında lisanslanmıştır.



24 May 2016

Okullarda Kodlama Dersi – 2


Geçen yazıda çocuklara yönelik kodlama eğitimini tartışmış ve Bilim, Sanayi ve Teknoloji Bakanlığı’nın kodlama dersinin ortaokul ve lise müfredatına alınması için yapacağı çalışmaları desteklediğimi belirtmiştim. Desteğimi de üç maddeyle açıklamıştım: Berimsel (computational) okuryazarlığın (literacy) yaygınlaşıyor olması, günümüzde toplumsal düzenlemelerin giderek artan biçimde kodla yapılması (“Kod kanundur”) ve programcılığın eğlenceli olması. Bu yazıda da aynı konuya devam etmek istiyorum. Ama önce kodlama ile programlama arasındaki farka açıklık getirmek gerekiyor. Kodlama, analiz, tasarım, test gibi yazılım geliştirmenin aşamalarından biridir. Programlama ise daha geniş anlamda kullanılmaktadır. Kodlamanın yanında diğer aşamaları da içerebilmektedir. Kodlama eğitimi ile ilgili yazılarda (bu yazıda da) aslında çoğu zaman programlamadan söz edilmektedir. Bakanlığın hedefleri ve planladığı kodlama eğitiminin kapsamı hakkında bilgim yok fakat başta İngiltere olmak üzere birçok ülkedeki müfredat değişikliğinde hedeflenen öğrencilerin belirli bir programlama diline özgü komutları alt alta sıralamayı öğrenmesi değildir. Eğer Türkiye’deki eğitim müfredatı bir ya da birkaç programlama dilinin öğretimi ile sınırlandırılırsa sonuç pek parlak olmayacaktır. Yurt dışındaki örneklerde öğrencilere belirli bir aracın (örneğin programlama dilini) kullanımının öğretilmesi değil, berimsel okuryazarlık (DiSessa, 2001) ya da berimsel düşünme (Wing, 2006) denilen yetinin kazandırılması hedeflenmektedir.

DiSessa (2001), kod eğitimi furyası başlamadan önce Hal Abelson ile beraber Boxer Programlama Ortamı’nı geliştirmiş ve öğrencilerin Boxer ile etkileşimini izlemiştir. DiSessa (2001), berimsel okuryazarlığın yeni bir bilme ve ifade biçimi sağlayacağını düşünmektedir. Wing (2006) ise berimsel düşünmenin basitçe programlama öğrenmenin ötesinde bir anlam taşıdığını ve çoklu soyutlama düzeyinde düşünmeyi gerektirdiğini belirtmektedir. Berimsel düşünme sürecinde problem ve çözümü, makine ya da insan tarafından gerçekleştirilebilecek biçimde ifade edilmektedir. Dolayısıyla herhangi bir teknolojiden bağımsızdır. Wing’e göre (2006) berimsel düşünce,

  • Programlama değil, kavramsallaştırmadır.
  • Modern toplumda edinilmesi gereken bir yetenektir.
  • İnsanların bilgisayar gibi düşünmesi değildir.
  • Matematik ve mühendislik düşüncesini tamamlar ve birleştirir.
  • Aletlerle değil, fikirlerle ilgilidir.
  • Her yerde, herkes içindir.

Ancak şimdiye kadar yazdıklarım berimsel okuryazarlığın yalnızca görünen yüzüdür ve apolitiktir. DiSessa on beş yıl önce yayımlanan kitabında berimsel okuryazarlığı bir eğitimci gözüyle incelemektedir; öngörüleri son derece değerlidir. Kitabında, hem teknoloji uzmanlarını hem de eğitim bilimcileri ikna etmeye çalışmaktadır. Şimdi ise farklı aktörler sahnededir. Örneğin İngiltere’deki müfredat değişikliği yalnızca eğitimcilerin düşünüp taşınarak önerdiği ya da bir bakanın emriyle gerçekleşen bir reform değildir. Müfredat değişikliği, farklı aktörlerin çabasıyla gelişen olumsal bir süreçtir. Çocuklara bilgisayar programlamanın öğretilmesi ilk kez 2010’da eğitimcilerden, bilgisayar bilimcilerinden ve bilgisayarla ilgi kitle örgütlerinden oluşan dar bir toplulukta tartışılmaya başlamıştır. Daha sonra farklı kesimlerin (sivil toplum örgütleri, özel sektör ve kamu kuruluşları) katılımıyla küçük kampanyalardan köklü eğitim reformuna doğru bir süreç gelişmiştir. Bu sürecin gelişiminde özellikle iki örgüt, Nesta (National Endowment for Science, Technology and the Arts) ve Nominet Trust hükümet, sivil toplum ve özel sektör arasında bir ağ oluşturarak ve farklı kesimlerin kodlama eğitimi hakkındaki farklı görüşlerini uzlaştırarak belirleyici bir rol üstlenmiştir.

NESTA 1998 yılında İşçi Partisi Hükümeti tarafından bir vakıf olarak kurulmuştur. NESTA’nın temel amacı İngiltere’nin inovasyon kapasitesini artırmaktır. 2010 yılında hükümet, NESTA’nın yararlı işler yapıyor olmasına karşın kamu kuruluşu olarak faaliyet göstermesine gerek olmadığını ve etkinliklerinin gönüllü bir kuruluşa daha uygun olduğunu belirten bir değerlendirme yapar. Bunun sonucunda 2012 yılında NESTA bağımsız bir kuruluş olur ve adı Nesta olarak değiştirilir. Nesta çeşitli yardım kuruluşlarıyla, özel sektörle ve hükümetle ortak çalışmalar yapmaktadır. Nesta’nın farklı çalışma alanları vardır: kamu hizmetlerine vatandaş katılımı, hükümet inovasyonu, sağlık ve yaşlanma, dijital sanat ve medya, dijital eğitim, sosyal etki fonları vb. Nominet Trust ise İngiltere’de .uk uzantılı alan adlarının kaydını yapan Nominet şirketi tarafından 2008 yılında kurulmuştur. Nominet Trust da Nesta gibi toplumsal sorunlara yönelik teknolojik çözümler geliştirmeyi hedeflemektedir. Williamson (2015), bu iki kuruluşun ne resmi ne de ticari aktörler olduğunu, ama iki kesim arasındaki ilişkiyi sağladıklarını belirtmektedir. Kodlamayı öğrenme kampanyalarının oluşumu buna güzel bir örnektir.

Okullarda bilgisayar kullanma eğitiminin yerini bilgisayar bilimine bırakması gerektiği önerisi ilk kez 2010 yılında Computing at School (bilgisayar öğretmenlerine yönelik, Microsoft, Google ve British Computing Society tarafından maddi olarak desteklenen bir dernek) tarafından gündeme getirilmiştir. Konunun politik olarak önem kazanması ise ancak Nesta’nın 2011’de yayımlanan Next Gen (http://www.nesta.org.uk/sites/default/files/next_gen_wv.pdf) adlı raporundan sonra gerçekleşmiştir. Next Gen de okul müfredatının yenilenmesini talep etmektedir. Ama bu talep doğrudan eğitimle ilgili değildir. Rapor, Muhafazakar Parti Hükümeti’nin Kültür, İletişim ve Yaratıcı Endüstriler Bakanı Ed Vaizey’in talebi doğrultusunda Ian Livingstone ve Alex Hope tarafından hazırlanmıştır. Raporun yazarları, İngiltere’nin ekonomik olarak değerli ve yenilikçi sektörleri olan video oyunu ve görsel efekt endüstrilerinin önemli isimlerindendir. Raporda ilgili sektörlerdeki yetenek açığı tartışılmakta ve bunu kapatmak için bir müfredat değişikliği önerilmektedir. Google’ın CEO’su Eric Schmidt 2011 yılında Edinburgh Televizyon Festivali’nde yaptığı konuşmada konuyu tekrar gündeme getirene dek raporun fazla bir etkisi olmaz. Raporun yazarlarından Livingstone’un da belirttiği gibi Schmidt’in konuşması rapordaki müfredat değişikliğine siyasi desteği artırmıştır. Bundan kısa bir zaman sonra Royal Society yönetiminde ve Microsoft, Google ve üniversitelerin bilgisayar bilimi bölümlerinin katkılarıyla hazırlanan Shutdown or Restart (https://royalsociety.org/~/media/education/computing-in-schools/2012-01-12-computing-in-schools.pdf) başlıklı raporda da müfredat değişikliği önerisi tekrarlanır. Bu raporun ardından The Observer gazetesi yazarlarından John Naughton da konuyu destekler yazılar yazmaya başlar. Daha sonra oluşturulan, Nesta, BCS, Google, Microsoft, Computing at School ve Raspberry Pi’den oluşan “Next Gen Skills” adlı koalisyon Eğitim Bakanlığı’nı müfredat değişikliği konusunda ikna etmeyi başarır (age).

Bu gelişmeler (raporlar, konuşmalar ve oluşturulan koalisyonlar) üst düzeyde gerçekleşmektedir. Kodlama eğitiminin kamudaki görünürlüğü ise Code Club (https://www.codeclub.org.uk/) adlı gönüllü girişimle artar. Code Club, programcıların ilkokul öğrencilerine programlamanın temellerini öğrettikleri okul sonrası bir etkinlik olarak ortaya çıkmıştır. 2012 yılında kurulan Code Club, kısa sürede tüm ülkeye yayılır. Şu anda İngiltere’de 4000’den fazla Code Club ve bundan faydalanan 50000’den fazla öğrenci vardır. Code Club, Nesta ve Nominet Trust tarafından örgütlenmekte ve Digital Makers fonundan faydalanmaktadır. Code Club, Microsoft, Google, ARM, Samsung, Mozilla ve TalkTalk gibi şirketlerin yanı sıra hükümet tarafından da desteklenmektedir.

Code Club, Next Gen raporu sonrasında ortaya çıkan, bir orkestra gibi hareket eden ve gençleri kodlama öğrenmeye teşvik eden ağlardan sadece biridir. 2013 yılının Mayıs ayında Nesta kamu inovasyonu laboratuvarında, Nominet Trust ve Mozilla ortaklığında Make Things Do Stuff adlı kampanya başlatılır. Kampanyanın hedefi çocukların dijital teknolojileri yaparak, etkileşimle öğrenmelerini sağlamaktır. Yine ülke çapında bir örgütlenme söz konusudur. Kampanya büyük şirketler (Facebook, Microsoft, O2, Mozilla ve Virgin Media), gönüllü girişimler (Codecademy, Code Club, Raspberry Pi, Technology Will Save Us, Coding for Kids and Decoded vb) ve hükümet kuruluşları tarafından desteklenmektedir.

Kısacası, reformu baştan sona planlayan bir hükümet değil, ikna edilen bir hükümet vardır. Hükümet okul dışındaki bu uygulamaları yeni müfredatla okullarda daha sistematik hale getirmektedir. Bilgisayar uzmanları, girişimciler, yatırımcılar, gazeteciler, lobi grupları, politikacılar ve uluslararası şirketler Nesta ve Nominet Trust etrafında bir araya gelmiş, bu aktörlerin katkısı ve etkileşimiyle bir eğitim müfredatı oluşmuştur. Fakat karşımızda hiç de tarafsız olmayan bir eğitim müfredatı vardır. Oluşumunda payı olan aktörlerin değerlerini ve çıkarlarını içermektedir.

Kamusal Sorunları Çözmek İçin Kodlamayı Öğrenmek

Yazı,

Bilgiyi, konuşmanın yaptığından farklı biçimde düzenler ve depolar; sonuç olarak, dilin farklı bir biçimidir (Crowley ve Heyer, s. 99).

Yazı sonrası, hatırlama gereksiniminin azalması insan zihninin edinebildiği bilginin de artmasını sağlamış ve yazıyla bilenin bilgiden ayrılması “soyutlamayı, sistemleştirmeyi ve bilimsel düşüncenin nesnelliğini teşvik etmiştir” (age, s. 100).

Berimsel okuryazarlık, bunu daha ileriye taşıma iddiasındadır. Wing (2006) berimsel düşüncenin insanın soyutlama gücünü artırmasının yanında ona düşüncesini otomatikleştirme olanağını verdiğini iddia etmektedir. Bir kelimeyi sözlükten ararken ya da markette hangi kasada kuyruğa girmek gerektiğini düşünürken farkında olmadan berimsel düşünceye başvurulmaktadır. Berimsel okuryazarlık, bunu daha sistematik hale getirecektir. Olumlu ya da olumsuz olarak nitelendiremem ama berimsel okuryazarlıkla dünya farklı biçimde okunabilecektir.

Kodlama (yazma) program komutlarının alt alta sıralandığı mekanik bir iş değildir. Dünyanın nasıl çalıştığını berimsel olarak okuyup anlamayı ve insanın onunla etkileşimini biçimlendirebilmek için modellemeyi içerir. Dünya hesaplanabilir bir olgu olarak algılanır ve kodla algılanan bu dünya yeniden yaratılır. Programcılar işlerinin doğası gereği var olan ilişkileri ve iş süreçlerini modelleyip sayısallaştırırken bunları yeniden düzenler ve kurarlar; aksayan bir yer varsa ona yönelik çözümler geliştirirler. Bunu da gayet olağan ve işlerinin bir parçası olarak görürler.

Fakat bu pratiklerden beslenen, özellikle Silikon Vadisi’nin öncülüğünü yaptığı (http://www.nytimes.com/2013/03/03/opinion/sunday/the-perils-of-perfection.html) iki büyük tehlike vardır. Birincisi, toplumsal sorunları kültürel, ekonomik ve politik bağlamlarından kopartarak berimsel terimlerle çözümleme eğilimidir. İkincisi de bunun sonucu olarak doğru kod ve algoritmalarla karmaşık toplumsal problemlerin çözülebileceği inancıdır. İngiltere’de bu inanç neoliberal politikalarla eklemlenmekte ve devletin görev ve sorumluluklarını gönüllü kişi ve kuruluşlara devretmenin aracı haline gelmektedir. Örneğin, Nominet Trust ve Nesta toplumsal sorunlara yönelik teknolojik çözümler geliştirme gibi bir hedefleri olduğunu açıkça beyan etmektedir. Hatta Nesta tarafından hazırlanan ve kamu hizmetlerinin geleceğinin tartışıldığı People Helping People adlı raporun giriş bölümünde İngiltere’nin refah devleti deneyimi öncesinde kamu hizmetlerinin gönüllülerce yerine getirildiği ve bunun köklü bir gelenek olduğu yazılmaktadır (http://www.nesta.org.uk/sites/default/files/people_helping_people_the_future_of_public_services_wv.pdf). Nesta’nın kodlama öğrenimine bakışı da bu yöndedir. Programcılar hackathon (https://tr.wikipedia.org/wiki/Hackathon) etkinlikleriyle bir araya getirilmekte ve kamudaki sorunlara dijital çözümler bulmaları istenmektedir (https://nationalhackthegovernment.wordpress.com/). Öğrenciler berimsel yeteneklerle donatılırken de beklenti bu yeteneklerini kamu hizmetlerinin iyileştirilmesi ve toplumsal sorunların çözümü için kullanabilmeleridir. Ne kadar başarılı olabileceğini ve ne gibi sonuçlar doğurabileceğini bilemem, ama kodlama öğrenimi İngiltere’de neoliberal politikalar için bir kaldıraç görevi üstlenmektedir.

Geleceğin Mesleği: Programcılık?

Williamson (2015), kodlama öğrenimi hakkında yazılmış bir çok makale ve raporda, kodlama öğrenecek çocuklar geleceğin iş gücü olarak görüldüğünün altını çizmektedir (bkz. http://www.nesta.org.uk/publications/next-gen, https://royalsociety.org/topics-policy/projects/computing-in-schools/report/, http://www.ednfoundation.org/wp-content/uploads/TechnologyEducation_systemview.pdf, http://www.ukdigitalskills.com/). Bu çalışmalarda kodlama, ileriye yönelik, talep edilen ve nitelikli meslek olarak ele alınmakta ve çocukların piyasanın gereksinimlerine yanıt verebilecek yeteneklerle donatılması istenmektedir. Williamson (2015), bu söylemin dijital dünyadaki kırılganlığı, karmaşıklığı ve birçok kodlama işinin sıradanlığını gizlediğini vurgulamaktadır. Dışarıdan bir motivasyon olmadan programcılıkla uğraşıldığında programlama eğlencelidir; bulmaca çözmek ya da satranç oynamak gibidir. Ama söz konusu profesyonel olarak programcılık olunca iş hayatı rutin ve sıkıcı işlerle, fazla mesailerle doludur. Bunun yanında, öğrencilerin edinmesi istenen yetenekler (teknolojik yeniliklere kısa sürede uyum sağlayabilme ve esneklik gibi) piyasanın çalışanlardan beklentisidir.

Eğitim reformuna ya da kampanyalara destek veren bir çok programcı ve aktivistin geleceğin iş gücünü yetiştirmek gibi bir hedefi yoktur. Çoğu benimkilere benzer gerekçelerle kampanyaları desteklemekte ve gönüllü katkıda bulunmaktadır. Bir diğer deyişle, farklı hedefleri olanların desteklediği bir oluşum vardır. Fakat kimi zaman değerler ve çıkarlar çatışabilmektedir. Code Club’ın kurucularından Linda Sandvik’in başına gelenler buna iyi örnektir. Sandvik, Code Club’ın sponsorlarından Google’ın kitlesel gözetim pratiklerini eleştirdiğinde Code Club yönetim kurulu Sandvik’e ültimatom vermiştir: Ya sponsorlar hakkında olumsuz şeyler söyleme ya da Code Club yönetiminden ayrıl. Sandvik, ikincisini tercih etmiştir (https://gist.github.com/drtortoise/5dc254c614d6b6a19116).

Ayrıca programcılığın bir meslek olarak gelecekte daha önemli olacağı ve çocukların küçük yaştan itibaren bunun için gerekli yetenekleri edineceği iddiası ne kadar gerçekçidir? Programlama dillerinin insan diline yaklaşması ve kolaylaşması programcılığı gereksizleştirmemiş, aksine yaygınlaştırmıştır. Yakın zamanda da programcılığın tamamen ortadan kalkacağını düşünmüyorum. Fakat bilgisayar bilimindeki gelişmeler programcılık bilgisi isteyen bazı işleri otomatikleştirebilir ve sektördeki programcı açığı beklenenden çok daha az olabilir. “Bilgisayarların algılayıcı verisi ya da veritabanları gibi veri türlerine dayalı öğrenimini olanaklı kılan algoritmaların tasarım ve geliştirme süreçlerini konu edinen bir bilim dalı” olan makine öğrenimi (machine learning) ile programcılık da dahil olmak üzere birçok mesleğin otomasyonu söz konusudur. Kodlama eğitimi kampanyaları çoğu zaman bu olasılığı göz ardı etmektedir (Frey ve Osborne, 2013).

Şirketler İçin Yeni İş Alanları

Makine öğrenimindeki gelişmeler ve gelecekte piyasanın ihtiyaç duyacağı iş gücünün niteliği ve niceliği hakkında sponsor şirketlerin elinde çok daha kapsamlı veriler vardır. Geleceğe dair daha ayrıntılı öngörüler yapabilirler. Bu verilerin ve buna dayalı öngörülerinin ne olduğu hakkında bilgi sahibi olmasak da kodlama eğitiminin şirketler için şu an yeni bir pazar yarattığı ortadadır. ABD’deki Hour of Code kampanyasının kurucuları arasında Silikon Vadisi’nin melek yatırımcılarından Partovi twins de vardır ve kampanya üç büyük şirket (Google, Microsoft ve Facebook) tarafından desteklenmektedir. Bu kampanyanın İngiltere’deki kuzeni Year of Code da uluslararası bir girişim sermayesi firması olan Index Ventures tarafından desteklenmektedir. Index Ventures, insan hayatının ve ekonominin her yönünün teknoloji ve girişimci ruhu ile dönüştürülebileceğini savunmaktadır. Daha ilginci Year of Code’un arkasındaki 23 kişi incelendiğinde bunlardan sadece üçünün gerçekte teknolojiyle ilgili, diğerlerinin sermayedar ya da halkla ilişkiler yüzü olmasıdır (https://tommorris.org/posts/8776). Year of Code’un arkasındaki en önemli isimlerden biri kısa bir süre öncesine kadar Index Ventures ekibinde yer alan girişimcilerden biri olan Saul Klein’dır. Ne tesadüftür ki Klein’ın kuzeni Alex, çocuklara kendi bilgisayarlarını yapmalarına ve kodlama öğrenmelerine yardımcı olan takımlar (kit) üreten Kano (http://us.kano.me/) şirketinin kurucularındandır.

John Naughton’a (http://www.theguardian.com/technology/2014/feb/15/year-of-code-needs-reboot-teachers) göre girişim sermayesinin yoğun ilgisinin iki açıklaması olabilir. Birincisi, safça olan, girişimciler Year Of Code’a hayırsever duygularla yaklaşmaktadır. Fakat başarısız halka ilişkiler nedeniyle kampanya fiyaskoyla sonuçlanmıştır. Kampanyanın sözcüsü Lottie Dexter’ın kodlama bilmediğini itiraf etmesi kampanyanın inandırıcılığını sarsmıştır (http://www.theregister.co.uk/2014/02/11/coding_in_schools_madness/). İkincisi, şirketler müfredat değişikliğinin ve Raspberry Pi Vakfı tarafından okullarda bilgisayar bilimini öğretmek amacıyla geliştirilmiş, kredi kartı büyüklüğünde tek kartlı bir bilgisayar olan Raspberry Pi’nin başarısını fark etmişlerdir ve kendilerine yeni ticari fırsatlar yaratmak istemektedirler. Hayırseverlik inandırıcı olmasa da bir beceriksizlik vardır. Ama daha önemlisi müfredat değişikliğinin arkasında büyük bir pazar fırsatı vardır.

***

Giroux’un (1998) Gramsci’den alıntıladığı sözler berimsel okuryazarlık için de geçerlidir:

Gramsci’ye göre okuma-yazma iki yanı da keskin bir kılıçtı; bireysel ve toplumsal güçlenme amacıyla kullanılabileceği gibi, baskı ve egemenlik ilişkilerinin sürdürülmesi için de kullanılabilirdi. Gramsci, bir mücadele alanı olarak eleştirel okuma-yazma için, hem ideolojik bir yapı, hem de toplumsal bir hareket olarak, uğruna savaşım verilmesi gerektiğine inanıyordu (s. 34).

Bu mücadeleye de berimsel okuryazarlığın politik bağlamını dikkate alarak başlamak gerekiyor. Kodlama eğitimiyle liberal politikaları güçlendirmek, sömürüyü artırmak ve geleceğin işçilerini yetiştirmek istenmektedir. Uluslararası tekellerin, girişim sermayesi şirketlerinin ve liberallerin ilgisi boşuna değildir. Ama internetteki geçmiş mücadeleler bunun karşıtının da yaratılabileceğini, sistemde çatlaklar oluşturulabileceğini göstermektedir.

Kaynaklar

Crowley, D., Heyer, P. (2011). İletişim Tarihi, teknoloji-Kültür-toplum, çev. Berkay Ersöz, Siyasal Kitabevi, Ankara.

DiSessa, A. A. (2001). Changing minds: Computers, learning, and literacy. Mit Press.

Fischer, G. (2005). Computational literacy and fluency: being independent of high-tech scribes. Strukturieren-Modellieren-Kommunizieren. Leitbild mathematischer und informatischer Aktivitäten, Franzbecker, Hildesheim, 217-230.

Frey, C. B., Osborne, M. A. (2013). The future of employment: how susceptible are jobs to computerisation. http://www.oxfordmartin.ox.ac.uk/downloads/academic/The_Future_of_Employment.pdf, son erişim 21/03/2016.

Giroux, H. A. (1998). Okuma-yazma ve siyasal güçlenme eğitbilimi. içinde (der.) Paulo Freire ve Donaldo Macedo, Okuryazarlık: Sözcükleri ve Dünyayı Okuma, çev. Serap Ayhan, Ankara, İmge Yayınevi, 33-71.

Williamson, B. (2015). Political computational thinking: policy networks, digital governance and ‘learning to code’. Critical Policy Studies, 1-20.

Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33-35.



21 May 2016

Paylaşımın geleceği: Pydio ve ownCloud bütünleşiyor


Açık kaynak dosya paylaşma çevre-dizgesi1 büyük bir tasarı çeşitliliği barındırıyor, her biri kendi çözümünü tedarik ediyor ve her biri farklı bir yaklaşıma sahip. Dropbox, Google Drive, iCloud ya da OneDrive gibi ticari çözümler yerine açık kaynak bir çözümü seçmenin birçok sebebi var. Bu çözümler verinizi yönetirken endişe etmemenizi sağlıyor ama bazı sınırlamalarla; denetim yetersizliği, varolan altyapıyla bütünleştirme sorunları gibi.

Kullanıcılar için ownCloud ve Pydio gibi birçok dosya paylaşma ve eşzamanlama seçenekleri mevcut.

Pydio

Pydio (Put your data in orbit, Verini yörüngeye oturt) tasarısı büyük ses dosyalarını çalgı takımıyla paylaşmak isteyen müzisyen Charles du Jeu tarafından kuruldu. Pydio çoklu depolama arka uçlarıyla birlikte bir dosya paylaşma ve eşzamanlama çözümüdür, geliştiriciler ve düzen2 yöneticileriyle birlikte tasarlanmıştır. Dünya çapında bir milyondan fazla indirilmiştir ve 27 dile çevrilmiştir.

İlk andan beri açık kaynak olan tasarı doğal olarak SourceForge‘de büyüdü ve şimdi yeni evi GitHub'da.

Kullanıcı arayüzü Google'nin “Materyal Tasarımı"nı taban alıyor. Kullanıcılar varolan eski dosya altyapısı kullanabilir ya da Pydio'yu bir mülk üstü3 yaklaşımla kurabilir. Web, masaüstü ve taşınabilir uygulamaları kullanarak varlıklarını her yerde yönetebilirler. Yöneticiler için ince taneli erişim izinleri varlıklara erişimi yapılandıran güçlü bir araçtır.

Pydio topluluk sayfasında sizi çabucak hızlandıracak çeşitli kaynaklar bulacaksınız. Pydio web sitesi GitHub'daki Pydio depolarına nasıl katkıda bulunacağınızı açıklıyor. Forum geliştiriciler ve topluluk için bölümler içeriyor.

ownCloud

ownCloud dünya çapında 8 milyon kullanıcıya sahip ve açık kaynak, kişilerin kendi kendini barındırdığı dosya eşzamanlama ve paylaşım teknolojisi. Ana düzlemler için eşzamanlama istemcileri yanısıra WebDAV aracılığıyla bir web arayüzü bulunuyor. ownCloud kolay kullanılan bir arayüze, güçlü yönetici araçlarına ve geniş paylaşma ve iş birliği özelliklerine sahip. Kullanıcıların kendi verileri üzerinde denetimini sağlıyor.

ownCloud'un açık mimarisi bir UPA4 aracılığıyla genişletilebiliyor ve uygulamalar için bir düzlem sunuyor. 300'den fazla uygulama yazıldı, bunlar takvimi, kişileri, postayı, müziği, parolaları, notları ve diğer türden verileri idare eden yetkinlikte. ownCloud güvenlik sağlıyor, bir Raspberry Pi'den petabaytlarca depolamaya sahip kümeye, milyonlarca kullanıcıya kadar uzanıyor. Yüzlerce katkıcıdan oluşan uluslararası topluluk tarafıdan geliştiriliyor.

Birleşmiş paylaşım

Dosya paylaşma takım çalışmasını bir üst düzeye çıkarıyor ve ölçünleme böylesi iş birliği için sağlam bir taban sağlıyor.

Birleşmiş paylaşım, OpenCloudMesh tasarısının yeni bir açık ölçünü, bu doğrultuda bir adım. Diğer şeylerin yanında, Pydio ve ownCloud örneklerindeki gibi bu ölçünü destekleyen sunucular arasında dosya ve dizin paylaşımına izin veriyor.

İlk olarak ownCloud 7'de tanıtıldı, bu sunucudan sunucuya paylaşım özelliği uzak sunuculardan dosya paylaşımlarını bağlamanızı sağlıyor, bulutlarda kendi bulutunuzu oluşturmaya yarıyor. Birleşmiş bulut paylaşımını destekleyen diğer sunuculardaki kullanıcılarla doğrudan paylaşım bağlantısı oluşturabilirsiniz.

Bu yeni UPA'yı uygulamak depolama çözümleri arasında derin bütünleşme sağlarken güvenliği, denetimi ve özgün düzlemlerin özniteliklerini koruma altına alıyor.

"Dosyaları değiş tokuş etme ve paylaşma bugün ve yarın için birinci derecede önemli,” diyor ownCloud kurucusu Frank Karlitschek. “Bu nedenden, bunu birleşmiş ve özeksel veri siloları olmadan dağıtık yoldan yapmak önemli. Birleşmiş paylaşımın en önemli tasarım noktası kullanıcıların güvenliğini ve gizliliğini korurken en kolay ve kusursuz yoldan paylaşımı sağlamasıdır.”

Sırada ne var?

OpenCloudMesh gibi bir girişim Pydio ve ownCloud gibi kurum ve şirketlerin dosya paylaşımında ortaklaşa çalışmasını bu yeni açık ölçün ile geliştirecektir. ownCloud 9 kullanıcı listelerini değiş tokuş edebilen birleşmiş sunucular yeterliliğini tanıtmıştı, böylece kendi sunucunuzdaki kullanıcılarla yaşadığınız kendiliğinden tamamlama deneyimi de aynı kusursuzlukta sağlanıyor. Gelecekte, (birleşmiş!) özeksel yer defteri sunucularına sahip olma fikri diğer birleşmiş bulut kimliklerini aramakta kullanılabilir, böylece bulutlar arası iş birliği yeni bir düzeye taşınabilir.

Girişim şüphesiz büyümekte olan açık teknik topluluğuna katkıda bulunacak, bu toplulukta üyeler kolayca tartışabilir, geliştirip, sağlayıcı-bağımsız olan “OCM paylaşım UPA"sına katkıda bulunabilir. OCM tasarısının tüm öncü eşleri açık UPA tasarım ilkelerine tamamen katkıda bulundu ve diğer açık kaynak dosya paylaşma ve eşzamanlama topluluklarının iştirakine, bağlanmış buluta katılımlarına kapıları açık.

Lisans: Bu metin CC BY-SA 4.0 lisansı altında dağıtılan “The future of sharing: integrating Pydio and ownCloud” metninden çevrilmiştir. Özgün metin ben van ’t ende tarafından yazılmıştır. Çeviri metni CC BY-SA 4.0 altında lisanslanmıştır.


  1. BSTS / Kentbilim Terimleri Sözlüğü 1980, TDK.gov.tr 

  2. "Sistem” kelimesi yerine Türkçe bir kelime olan “düzen” kelimesini kullanmayı daha uygun buluyorum. 

  3. Mülk üstü yazılım (on-premises software): yazılımı kullanan kişinin ya da işletmenin mülkündeki (binasındaki) bilgisayarlara kurulan ve çalışan yazılımdır. Yazılım sunucu çiftliği veya bulut gibi uzak bir işletmede değildir. Wikipedia 

  4. Uygulama programlama arayüzü



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 […]

12 May 2016

Go Git Services (Gogs) Kurulumu


Herkese merhaba,
Bu yazımda Gogs'un ne olduğundan ve nasıl yapılandırılıp kullanılabileceğinden bahsedeceğim.


Gogs'u Halil'in Github'da yıldızlaması ile gördüm. Ne iş yapıyormuş diye bakınca "vay be gavur da güzel proje yapmış" dedim ve projenin Go ile yazıldığını görünce aşırı sevindim. "Bu projeyi bir kurup deneyeyim, katkı versem çokii olur" diye düşündüm. Çünkü yaklaşık bir aydır boş kaldıkça Go'yu öğrenmeye vakit ayırıyorum ve bu da baya güzel denk geldi :)


Gogs özetle kendi git servisinizi kurmanızı, kullanmanızı, yönetmenizi sağlıyor. Belgelendirmesi de oldukça güzel yapılmış. Ben kaynak koddan hangi adımları uygulayarak kurduğumu anlatacağım.


İlk olarak servis vereceğimiz sunucunuza Go kurmalıyız. Ssh'a açık olacağı için bir kullanıcıyı yetkilendirmek gerekiyor. Bu yüzden yeni bir kullanıcı oluşturmalıyız.

#Kullanıcı oluşturup home dizinine geçelim.
$ sudo adduser --disabled-login --gecos 'Gogs' git
$ sudo su - git
$ cd ~

#Go'yu local diye bir dizin oluşturup yükleyelim.
$ mkdir local
$ wget https://storage.googleapis.com/golang/go$VERSION.$OS-$ARCH.tar.gz

# tar.gz uzantısını açalım.
$ tar -C /home/git/local -xzf go$VERSION.$OS-$ARCH.tar.gz

# Çevresel değişkenleri de ~/.bashrc altına ekleyelim.
$ sudo su - git
$ cd ~
$ echo 'export GOROOT=$HOME/local/go' >> $HOME/.bashrc
$ echo 'export GOPATH=$HOME/go' >> $HOME/.bashrc
$ echo 'export PATH=$PATH:$GOROOT/bin' >> $HOME/.bashrc
$ source $HOME/.bashrc

# Gogs'un kaynak kodunu kendi yerelimize çekelim ve derleyelim.
$ go get -u github.com/gogits/gogs (bağımlılıklar için)
$ cd $GOPATH/src/github.com/gogits/gogs
$ go build

# Şimdi "$ ./gogs web" dediğimizde çıktı aşağıdaki gibi olmalı: (varsayılan port 3000)

Bu çıktıda da dediği gibi ilk kez çalıştırdığımız için [w] uyarısını görmezden gelebiliriz.

Çıktıda bu uyarı dışında sorun yoksa şimdi app.ini dosyasını oluşturmalıyız. Bu kendi git servisimizin yapılandırmasını içeren dosya. (/custom/conf/app.ini

Benim yapılandırma dosyam şu şekilde:

APP_NAME = Gogs: Go Git Service
RUN_USER = git
RUN_MODE = prod

[database]
DB_TYPE  = mysql
HOST     = 127.0.0.1:3306
NAME     = gogs
USER     =root
PASSWD   =*********
SSL_MODE = disable
PATH     = data/gogs.db

[repository]
ROOT = /home/git/gogs-repositories

[server]
DOMAIN       =foo.bar.baz
HTTP_PORT    = 3000
ROOT_URL     = http://foo.bar.baz/
DISABLE_SSH  = false
SSH_PORT     = 22
OFFLINE_MODE = false

[mailer]
ENABLED = false

[service]
REGISTER_EMAIL_CONFIRM = false
ENABLE_NOTIFY_MAIL     = false
DISABLE_REGISTRATION   = false
ENABLE_CAPTCHA         = true
REQUIRE_SIGNIN_VIEW    = false

[picture]
DISABLE_GRAVATAR = false

[session]
PROVIDER = file

[log]
MODE      = file
LEVEL     = Info
ROOT_PATH = /home/git/go/src/github.com/gogits/gogs/log

[security]
INSTALL_LOCK = true
SECRET_KEY   =*************

# Son olarak konsol dışında 80.porttan erişip Github gibi arayüzü kullanmak istiyorsak, Nginx ya da Apache yapılandırmasını yapmalıyız.

Nginx yapılandırması için git kullanıcısından exit diyerek çıkalım.

$ vim /etc/nginx/sites-available/gogs

server {
    listen 80;
    server_name foo.bar.baz;
    location / {
        proxy_set_header    X-Real-IP $remote_addr;
        proxy_set_header    Host        $ http_host;
        proxy_pass              http://127.0.0.1:3000;
    }
}

Yeniden servisi çalıştıralım:

$ cd $GOPATH/src/github.com/gogits/gogs
$ ./gogs web


Şimdi tarayıcımıza "foo.bar.baz" dediğimizde bu sayfa ile karşılaşıyor olmalıyız.


Görüşmek üzere o/



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.



06 May 2016

Veri Bilimi Bülteni — 38


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. İyi Okumalar. Coğrafi verilerle çalışmanın kolay yolu: pyspatial Önceki bültenlerde ‘ırkçılık(!)’ yapan Microsoft Bot’undan bahsetmiştim. Reddit’te Devamını Oku […]

05 May 2016

Mozilla Çalışmalarım 2


Herkese merhaba,

Bu yazımda öncelikle Mozilla'nın ürünü olan İnstantbird için düzelttiğim bir hata kaydından, sonrasında da neden birtakım projelere katkı verip durduğumdan bahsetmek istiyorum.

İnstantbird'ün ne olduğunu öğrendikten sonra severek kullanmaya başladım. Ürün mesajlaşma servislerinizi kullanabileceğiniz bir mesajlaşma servisi aslında. IRC, Slack, Twitter, Yahoo, Google Talk gibi servisleri kullabiliyorusunuz. Derleyip kurmak isterseniz de buraya bakabilirsiniz. 

Çözdüğüm hata kaydı ise burada ve yine arayüz ile ilgili bir iyileştirme. İnstantbird'ün üstte bulunan menüsünden "Tools">"Preferences">"Advanced"> "Manage Search Engines" yolunu izledikten sonra yeni bir pencere açılıyor. Bu pencerede geliştiricilerin gereksiz gördükleri Keyword bölümünü kaldırdım.

Öncesi:
Sonrası:

Peki neden böyle şeyler yapıyorum?

İkinci dönem başladığından beri hiç bilmediğim projelerin ne iş yaptıklarını öğrenip, kaynak kodundan kurup, hata kayıtlarını kapatmaya çalışıyorum. Katkılarım alındıkça da blogumda yazıyorum ve vakit ayırıp düzenli çalışan herkesin de ilgilendikleri projelere katkı verebileceğini düşünüyorum.

Bu katkılardan bazıları, bazı kişilerin gözünde küçük görüyor. Herkesin fikrine de saygım var elbette. Ama 21.yyda  kimsenin elini bağlayan yoktur diye tahmin ediyorum. Böyle kişilere "siz de katkı yapın, siz de yazın" demek isterim :)

Neden böyle yaptığıma gelelim, mezun olup yazılımcı olarak çalışacak olursam, işe başladığımda yüksek ihtimalle hali hazırda devam eden bir projeye dahil olacağım. Yani, şimdi irc üzerinden konuştuğum geliştiriciler yerine işyerindeki takım arkadaşlarım olacak, bunun dışında şimdi yaptığım katkılara benzer katkılar yapacağım. Hatta bir miktar daha küçük boyutlu hali bile olabilir. Çünkü Linux Kernel olsun, LibreOffice ya da Mozilla depoları, içi oldukça kalabalık olan projeler.

Bu projelere katkı vermeyi Jenga oynamaya benzetiyorum. Blokların hiçbirini yıkmadan eklemeler, çıkarmalar yapmak göründüğünden zor. Binlerce hatta milyonlarca dosya içindeki milyonlarca satır içinden doğru yerlere doğru kodlar eklemek ya da doğru yerdeki kodları çıkartmak iyi kod okuyup anlayarak oluyor.

Böyle projelere katkı vererek hem düşüncesini savunduğum özgür yazılım için hem de kendim için birşeyler yapıyorum. Yeni bir projeye dahil olduğumda hızlıca adapte olacağımı düşünüyorum.

Katkı vermek çok zevkli siz de gelsenize :)


LibreOffice Crash Projesi


Herkese merhaba,

Bir önceki yazımda Ankara'da gerçekleşen Hackfest'te Crash projesi için çalışmaya başladığımdan bahsetmiştim.

Crash projesinde Django kullanılıyor, LibreOffice sunucularındaki çökme raporlamaları için kullanılacak. Marcus'un bana ilk verdiği iş arayüzde bir düzenleme idi.

Eklenmiş olan her LibreOffice versiyonu için günlük çökme miktarı giriliyor ve özet bir grafik oluşturuluyor. Alt kısımda da versiyon ve ayrıntıların olduğu yeni sayfa için bir link vardı. Bu kısmı değiştirip dropdown butona çevirdim. Artık ne kadar versiyon eklenirse eklensin tablo genişleyip sayfayı aşmayacak :)

Before:


















After:
İlk Pull-Request'im alındı. Yeni şeyler ekledikçe yazacağım. Hoş kalın o/

02 May 2016

LibreOffice Hackfest in Ankara 2016


Hi everyone,

LibreOffice Hackfest event occurred last weekend and it was hosted by TUBITAK-ULAKBIM. See here for details of the event.

We attended the event all together as Çanakkale team. (with/+Gülşah Köse, +Berk Güreken, +yeliz taneroğlu, +Ayşe Melike Yurtoğlu, +Burçin Akalın, +Kader Tarlan, +Faruk Uzun, +Özcan Esen, +Feyza Yavuz, +merttumer, +Kerem Hallaç +İrem Şendur)

We met LibreOffice developers Michael Meeks, Marcus Mohrhard and Jan-Marek Glogowski who came from abroad on friday. Then we listened to their presentations.


Michael Meeks's presentation began as introductory speech. This was about how the relationship between mentor and contributor should be maintained efficiently and how the development process should be.

Then, Marcus Mohrhard talked about the beneficial links and contents while contributing LibreOffice.

I had conversation with the developers at lunch break and I had a chance to meet them a lot. I had fun about the conversation and loved them all :)

Michael Meeks's was the first presentation in the afternoon. He told us about LibreOffice code base, LibreOffice components of the lowest level to the highest one and these components's communicate with each other. It was a enlightening presentation for me :)

Afterwards, Marcus explained the recent major changes in LibreOffice Calc's code. He talked about the difference in performance.

Before closing the day, Michael told the tools that used to debug in LibreOffice and we have been experimenting with small examples.

When Hackfest started, all the team members went on the tasks that they work on before and members who have questions about these tasks asked to the mentors.

As for what I'm doing is that I decided to contribute to the project that Marcus mentioned in his presentation Friday and I worked on the project installation and reviewed codes. I'm going to finish what we talk with Marcus and I will write about it in a few days:)

I didn't attend the second day of Hackfest. I spent time with my family in Bolu :)
I had fun, learned new things and made new friends. It was a great weekend for me. Also, I was glad to see Nurhak and Erdem, who I met their at AB2016.

Thank you very much, firstly my teacher +Necdet Yücel, event hosts TUBITAK-ULAKBİM and Muhammet Kara, Gökhan Gurbetoğlu and far away from Michael Meeks, Marcus Mohrhard and Jan-Marek Glogowski. I hope we meet again :)


LibreOffice Ankara Hackfest 2016


Herkese merhaba,

Geçtiğimiz haftasonu TÜBİTAK-ULAKBİM ev sahipliğinde LibreOffice Hackfest etkinliği gerçekleşti. Etkinlik ayrıntıları için buraya bakabilirsiniz.


Cuma günü yurtdışından gelen LibreOffice geliştiricileri Michael Meeks, Marcus Mohrhard ve Jan-Marek Glogowski ile tanıştık ve sunumlarını dinledik.

Sunum Michael Meeks'in giriş konuşması ile başladı. Bu konuşma daha çok  mentör ve katkıcı arasındaki iletişimin en faydalı şekilde nasıl yürütüleceği ve geliştirme işinin nasıl olması gerektiğiyle ilgiliydi.

Ardından Marcus Mohrhard, LibreOffice katkısı yaparken oldukça yararlı olacak linkleri ve içeriklerini anlattı.

Öğle arasında geliştiricilerle sohbet ederek onları daha çok tanıma fırsatı buldum. Sohbetleri çok keyifliydi ve hepsini çok sevdim :)
Öğleden sonraki ilk sunum Michael Meeks'indi. Bize LibreOffice'in kod tabanını anlattı. En alt seviyeden en üste kadar LibreOffice'in hangi bileşenlerden oluştuğunu bu bileşenlerin birbirleri ile nasıl iletişimde bulunduklarını anlattı. Benim için oldukça ufuk açıcı bir sunum oldu :)

Sonrasında Marcus, LibreOffice'in Calc bileşeni kodlarında son zamanlarda yapılan büyük değişiklikleri anlattı. Performans farklarından bahsetti.

Günü kapatmadan önce Michael, LibreOffice'de debug yapmak için kullanılan araçları anlattı ve küçük örnekler ile denemeler yaptık.

Hackfest'in başladığında ise tüm ekip, gelmeden önce üzerinde çalıştığı işlerle ile çalışmaya devam etti, soruları olanlar sorularını sordu.

Benim ne yaptığıma gelirsek, cuma günü Marcus'un sunumda bahsettiği projeye katkı vermeye karar verdim ve Hackfest'te kurulum işleri ile ilgilenip kodları inceledim. Birkaç gün içinde Marcus ile konuştuğumuz işi bitirip bununla ilgili de yazacağım :)

Hackfest'in 2. gününe katılmayıp Bolu'da ailemle vakit geçirdim. Yine dopdolu geçen çok eğlendiğim, yeni şeyler öğrendiğim ve yeni arkadaşlar edindiğim harika bir haftasonuydu. Ayrıca akademik bilişimde tanıştığım Nurhak ve Erdem'i de görmek çok güzeldi.

Başta +Necdet hocama, etkinliğe ev sahipliği yapan TÜBİTAK-ULAKBİM'e ve Muhammet Kara, Gökhan Gurbetoğlu'na, çok uzaklardan gelen Michael Meeks, Marcus Mohrhard ve Jan-Marek Glogowski'ye çok teşekkür ederim. Umarım yine görüşürüz :)




24 April 2016

LibreOffice Ankara HackFest



Çanakkale'deki LibreOffice için yürütülen çalışmalar geliştirici ekibin de dikkatini çekti ve onların önerisiyle 30 Nisan - 1 Mayıs 2016 tarihlerinde Ankara'da ULAKBİM'in ev sahipliğinde bir hackfest düzenlenecek. Yurtdışından gelecek üç geliştirici ile LibreOffice geliştirmesiyle ilgilenenlerin katılabileceği bu etkinliğe katılmak isteyenlerin daha önce Aydın'da düzenlediğimiz çalışma atölyesi ile ilgili yazdıklarımızı okumaları iyi olabilir. Bu etkinliğin diğerinden farkı iletişimin İngilizce yapılacak olması. Diğer hackfestler gibi bunda da katılımcıların kodlama yapacakları, kritik noktaları danışabilecekleri geliştiricilerin bulunacağı bir etkinlik olacak.

Bu etkinliği mevcut çalışmalarımıza hız kazandırmak için bir fırsat olarak görürken yeni katkıcıları da aramızda görmek istiyoruz.

23 April 2016

22 April 2016

Veri Bilimi Bülteni — 36


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. İyi Okumalar. Machine Learning başlığı altında geçen fakat pek de konuşulmayan bir konu da “Metric Learning”. Metric learning algoritmaları temel Devamını Oku […]

18 April 2016

DevOps Günlüğü #4 18.04.2016


DevOps Günlüğü #4 18.04.2016

Photo Credits:
Nasa Image of The Day - The International Space Station over Earth
Image Credit: STS-132 Crew, Expedition 23 Crew, NASA



PostgreSQL Tricks


Basit veya karmaşık, bilinen veya az bilinen pgsql komutlarını bu sayfaya düzenli olarak koyacağım. Hatalı veya eksik tarafları veyahut eklememi istediğiniz komutları yorum olarak bildirirseniz sevinirim.

  • SQL Import için PSQL console üzerinde;
\i /to/path/dump.sql
select * from  
  • pg_dump ile SQL dump almak için;
pg_dump -U username dbname > dbexport.pgsql  
  • PostgreSQL için pgcrypto, pg_trgm gibi ek modüllerin yüklenmesi için;
apt-get install postgresql-contrib  

ile paketi yükleyip,

sudo -u postgres psql -d dbname -c "create extension pg_trgm;"  

gibi aktif edebilirsiniz.



13 April 2016

İnternet, Kalkınma ve Demokrasi için Yaşamsal Önemdedir


ihafta16

19. İ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 23 yaşı nedeniyle, 11- 24 Nisan tarihlerinde 19. İ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. Bu gün, 4. Sanayi Devrimi, İnternetin tetiklediği bir gelişmedir.

Dünyada 3.4 milyara yakın insan İnternet kullanıcısı, bunun yaklaşık yarısı Facebook kullanıyor. Türkiye’de 16-74 yaş grubunda İnternet kullanımı %56, Erkekler %66, Kadınlar %46, Kent ve Kırsal arasında kadın erkek arasında ciddi bir fark var. 2013 verilerine göre Kent’te %61 Erkek -%42 Kadın ve Kırsalda bu %33 ve %14. 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.

Uluslararası indekslerde olmayı hedeflediğimiz yerde değiliz. Genellikle, 190 ülke arasında 60’ın üstündeyiz. İnsani gelişme indeksinde 192 ülke arasında 72. sıradayız: 72/192, demokrasi indeksinde 97/167 hibrid kategorisinde. Web vakfının sıralamasında 38/86 durumdayız. Toplumsal cinsiyet indeksinde 130/145. ITU’nün IDI (Bilişim Gelişmişlik) indeksinde 167 ülke arasında 69. sıradayız. IDI’de Avrupa da 40 ülke arasında 38. sıradayız. Sadece Bosna ve Arnavutluk’tan daha iyiyiz. Tüm Bilişim için sepet fiyatının sıralamasında ise 63/170 konumundayız. Sınır tanımayan gazetecilerin basın özgürlüğü indeksinde de 149/180’deyiz. Freedom House özgürlük indeksinde 100 üzerinden 53 ile kısmi özgür durumunda, alt indekslerde siyasal özgürlük 3/7, sivil özgürlüklerde 4/7, ortalama 3.5/7. Freedom House İnternet indeksinde de 100 üzerinden 60 ile kısmi özgür konumundayı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.
50 milyona yakın yetişkin insanın önemli kişisel verilerin ele geçmiş olması ve bunun webden indirilebilir olması çok ciddi bir sorundur. İlgili tüm kurumların konu üzerinde ciddi olarak durması, olası riskleri, yarar ve zararları, alternatif çözüm yollarını bulmaya çalışması gerekir. Konuyu bir polemik konusu yapmadan, suçlu aramanın ötesine geçip, ne yapılması gerektiğini bilimsel olarak araştırılması gerekir. İlgili bütün paydaşları, STK’ları, Üniversiteleri, Özel sektörü ve kamuyu kapsayan bilimsel çalışma grupları oluşturup, konuyu enine boyuna incelenmelidir. TC Kimlik numaralarını yeniden tanımlamayı ciddi olarak düşünmeliyiz. Ortada olan risk küçümsenemez bir risktir. Yeni Nüfus cüzdanları dağıtılmaya başlandı. AB uyumu için yeni pasaportlar söz konusu. TC kimlik no’sunu yenilersek, bunu şimdi yapmanın büyük avantajı vardır. “Bize bir şey olmaz” klişesinin ötesini düşünmek gerekir. İnternet ve bilişim hiç birimizin aklına bile gelmeyen pek çok şeyi hayatımıza getirdi. Bu nedenle, bu konuyu partiler üstü bir anlayışla, ortak akıl oluşturarak çözüm aramalıyız.

TC Kimlik numarasının tüm kamu veri tabanlarında ana giriş noktası ciddi bir risk oluşturmaktadır. Kişisel verilerde yurttaşı devlete karşı korumak önemli bir boyuttur. Yeni çıkan yasa bu açıdan ciddi sorunlar içermektedir. Katılımcı şekilde gözden geçmesi gerekir.

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 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ış, İnternetin kalkınma, demokrasi, yönetim boyutlarından çok, 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.

Yasaklanan web sayısı 2 yıl önce 30 bin, geçen yıl 70 bin iken şu anda ise 110 bine çıkmıştır. 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 yarısı İnternetin dışında. Sadece TÜİK rakamları değil, uluslararası gelişmişlik indekslerinde de Türkiye maalesef sonlarda yer almaktadır. 17. büyük ekonomi olma iddiasında olan 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.

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çılardan önemlidir. Pardus ve Fatih projelerin özgür yazılım temelinde yaygınlaştırılmasını öneririz.

Sosyal ağların ve yeni medyanın gündelik yaşamın doğal ve rutin bir parçası haline gelmesi sonucunda, artık yeni medya okuryazarlığı yurttaşın temel bir gereksinimi haline gelmiştir. Yurttaşlar, enformasyonu kullanabilme ve nitelikli enformasyon kaynaklarına ulaşabilme, yeni medya ortamlarında etik ihlallerde bulunmama ve etik ilkelere uygun davranabilme bilgi ve beceresini Yeni Medya Okuryazarlığı ile kazanabilir. Yeni Medya Okuryazarlığı sayesinde, İnternet’teki risklerin farkındadır, olanakları da bilinçli ve etkin şekilde kullanır.

Temel öğrenim kurumlarındaki “Medya Okuryazarlığı” ve “Bilgisayar” dersleri müfredatının dijital okuryazarlığı geliştirecek şekilde gözden geçirilmesi gereklidir. 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.

12 Nisan 2016

2016


Destekleyen STK’lar:
Alternatif Bilişim Derneği 
Alternatif Medya Derneği 
Bilgisayar Mühendisleri Odası 
EHD – Elektronik Ticaret ve Internet Hukuku Derneği 
EMO – Elektrik Mühendisleri Odası 
ISOC-TR – Internet Derneği 
INETD – Internet Teknolojileri Derneği 
IYAD – Internet Yayıncıları Derneği 
İ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



12 April 2016

Ghost için Varnish VCL


Ghost için Varnish VCL

Ghost blog kullanıyorsanız, Varnish ile hızlandırmak mümkün. Bende şimdilik %50'lik bir hız kazandırdı.

/etc/varnish/default.vcl içerisine yapıştırıp, restart vermeniz yeterli.

Photo Credits:
Patrick Tomasso
https://unsplash.com/photos/Oaqk7qqNh_c



08 April 2016

GNU/kWindows


Son zamanlarda benzersiz bir karışım hakkında çok konuşuluyor: GNUtamamıyla özgür işletim düzeni— ve Microsoft Windows —özgürlüğü reddeden, kullanıcıyı denetleyen, gözetim düzeni. Ayrıca ortalıkta çok fazla yanlış bilgi var. Düşüncelerimi sizlerle paylaşacağım.

Bu konuyu tartışmadan önce bazı terimleri açıklığa kavuşturmamız gerekiyor: Kullanıcılar “Linux” işletim düzeni hakkında konuştuklarında aslında Linux çekirdeği eklenmiş GNU işletim düzenine atıfta bulunurlar; biz buna GNU/Linux (ya da GNU+Linux) işletim düzeni diyoruz. Çeşitli biçimlerde GNU işletim düzenini kullanıyorsanız komut satırından tanıdık gelecek bir çok yazılım GNU yazılımıdır: bash, (g)awk, grep, ls, cat, bc, tr, gcc, emacs ve diğerleri. Linux bir çekirdektir ve işletim düzeninin yapmaya çalıştıklarını destekler: işlemleri, hafızayı, dosya düzenlerini ve daha fazlasını yönetir, çekirdeğin çeşitli eylemleri gerçekleştirmesini yöneten düzen çağrılarını sağlar, bu eylemler yeni işlemleri çatallamak ya da hafızayı tahsis etmek gibidir. Bu önemli bir ayrımdır —tüm bu yazılımı “Linux” olarak adlandırmak hatalı olduğu gibi tamamıyla özgür Unix ikamesi olan GNU tasarısını göz ardı etmektedir.

İsimlendirme sorunu oldukça yaygındır, GNU/Linux işletim düzeni kullanıyor olsa bile çoğu kullanıcı GNU'nun ne olduğunu bilmemektedir. Son olarak GNU Bash'tan “Linux Bash” olarak bahseden makale okudum; bu adeta GNU tasarısına, 26 yıldır Unix-benzeri düzenlerde (Apple'ın sahipli Mac OS X'i dahil) en geniş kullanıma sahip kabuğu yazan tüm yazarlara atılan bir tokattır.

GNU çoğunlukla Linux çekirdeğiyle kullanılmaktadır ama durum her zaman böyle değildir. Örneğin GNU kendi çekirdeği Hurd ile çalışabilir (GNU/Hurd). BSD çekirdeği olan bir düzende çalışabilir (örn. GNU/kFreeBSD). Ama bugün bir ay önce bile duymayı beklemeyeceğiniz birşeyden bahsetmek istiyorum: GNU ve Windows çekirdeği. Bu karışım GNU/kWindows (GNU ile Windows çekirdeği) olarak atfedildi.[1]

Anlaşılana göre Microsoft ve Canonical Linux düzen çağrılarını Windows'un anlayabileceği türe çeviren bir uyumluluk katmanı, altdüzen yazmak için birlikte çalışıyor. Yani, Linux çekirdekli bir düzen için derlenmiş yazılım çağrı çevirme ile Windows üzerinde çalışacak. Bir çok makale bu düzeni “Windows üzerinde Ubuntu” ya da “Windows üzerinde Linux” olarak adlandırıyor. Yanılgı şu ki bu düzen Linux çekirdeğini kapsamıyor, GNU işletim düzeninin Linux yerine Windows'un çekirdeğiyle çalıştığına tanıklık ediyoruz.

Bu Microsoft için yadsınamaz bir teknik yarardır: Windows kullacıları GNU/Linux'tan ya da Apple'ın özgürlüğü reddeden Mac OS X'i gibi diğer Unix benzeri düzenlerden tanımış olabileceği ortamlarda geliştirme yapmak istiyor. Fakat bunun hakkında düşününce önemli bir kavramı göz ardı ettiğini anlıyoruz:

Kullanıcılar bir işletim düzeni adı olarak “Linux"tan bahsettiklerinde GNU hakkında konuşmaktan kaçınıyor. Ve GNU'dan bahsedilmesinden kaçınarak ayrıca GNU'nun üzerinde kurulduğu temel ilkeleri tartışmaktan kaçınmış oluyorlar, bu ilkeler tüm kullanıcıların yazılımdan dört ana özgürlüğü temin etmesi fikridir: yazılımı her amaç için kullanabilmek, yazılımı anlayabilmek ve ihtiyaca göre düzenleyebilmek (ya da sizin için bunu başkasının yapabilmesi), yazılımı diğerleriyle paylaşabilmek, değişikliklerinizi başkalarıyla paylaşabilmek. Bu dört özgürlüğe saygılı yazılımlara özgür yazılım diyoruz.

Özgür yazılım gerçekten önemlidir, saldırıya açık olan kullanıcıların geliştirme esnasında (yazılım geliştiricilerin ya da şirketlerin değil) kendisinin denetimini temin eder. Kullanıcının bu dört özgürlüğünü ihmal eden herhangi bir yazılım özgür olmayan (ya da sahipli), özgürlüğü reddeden yazılımdır.  Bunun anlamı herhangi bir özgür olmayan yazılımın yeteneği ve verimi önemsizdir, benzer görevi yerine getiren özgür yazılımdan daima aşağıda olacaktır.

Herkes özgürlükten ya da özgür yazılım felsefesinden konuşmak istemez. Bu anlaşmazlık "açık kaynak” geliştirme yöntembiliminde sonuçlanmıştır, özgür yazılımın faydalarını gerekli fikirsel hususları tartışmadan şirketlere satmaktadır. “Açık kaynak” felsefesinde eğer özgür olmayan bir yazılım daha iyi özelliklere ve verime sahipse o kesinlikle daha iyidir, çünkü “açık kaynak” geliştirme yöntembiliminden üstün gelmiştir, özgür olmayan yazılım her zaman kötü bir şey olarak sayılmaz.

Tüm bunları bir araya getirelim: GNU adında özgür bir işletim düzenine sahibiz. Genellikle Linux çekirdeğiyle birlikte kullanılıyor ve ikisi birlikte GNU/Linux işletim düzeni olarak adlandırılıyor. Ama şimdi GNU/Linux'u alıp Linux'u kaldırıp ve onun yerine Windows çekirdeğini eklediğimiz bir duruma sahibiz, kar sağlayan GNU/kWindows. GNU kullanıcı özgürlüklerine değer verir. Windows ise tam tersini yapar.

Kullanıcılar neden bunu istiyor? Yani, belki de Mac OSX'te GNU araçlarını istemeleriyle aynı sebeptir, kullanmak istedikleri yazılımları kullanmak istiyorlar ayrıca GNU'da beğendikleri teknik faydaları istiyorlar. “Açık kaynak” felsefesini ele aldığımızda —çünkü eğer bir kullanıcı özgürlüğüne değer veriyorsa GNU/Linux gibi tamamıyla özgür bir işletim düzeni kullanmalıdır. Eğer bir kullanıcı zaten Windows kullanıyorsa GNU yükleyerek bir takım özgürlükler kazanır, artık düzeninde özgürlüklerine değer veren daha fazla yazılıma sahiptir ve bu yüzden böylesi onun için daha iyidir.

Peki ya bugün GNU/Linux kullanıyorsanız? Bu durumda GNU/kWindows düzenine geçmek büyük bir gerileme demektir, bunu yaparken özgürlüklerinizi Microsoft'a teslim etmiş olursunuz. Microsoft'un özgürlüğü reddeden gözetleyici düzeninde ne kadar parlak özellikler tanıttığının bir önemi yok, özgürlüğünüze saygı duyan bir işletim düzeni her zaman birincil tercih olmalıdır. Kullanıcıların GNU'nun sağladığı teknik yararlar için GNU/kWindows düzenine geçmemesi adına elimizden gelenin en iyisini yapacağız.

Birazı gerçek birazı felsefik olmak üzere elimizde bir takım sorunlar var:

İlkin, lütfen GNU/kWindows'u “Windows üzerinde Linux” (bununla ilgili başka bir biçimde) olarak atfetmeyin, yanlış bilgiyi yaymak durumu karıştırmanın ötesinde GNU işletim düzeni üzerinde çalışan binlerce yazarı göz ardı etmektir. “Windows üzerinde Ubuntu” olarak anmazsanız en iyisini yapmış olursunuz, bu tam yanlış bir ifade sayılmaz -Ubuntu'nun dağıttı GNU'yu kullanıyorsunuz- ama hala GNU Tasarısından bahsetmiyor. GNU'dan bahsedersek, kullanıcılar tasarıyla ilgili sorular sorabilir ve belki de kendi kendilerine sonuç ararlar. Özgür yazılım felsefesini okuyacaklar ve umarım sorunları, evvela daha önce farkında olmadıkları sorunları anlamaya başlayacaklar.

İkinci olarak, GNU/kWindows düzeni kullanan birisi gördüğünüzde kibarca nedenini sorun. Onlara sadece bu teknik yetenekleri sağlayan değil ayrıca özgürlüğü sağlayan daha iyi işletim düzeninin olduğunu söyleyin! Özgür yazılımın ne olduğunu söyleyin ve onlarla özgür yazılımı bağdaştırın ve neden önemli olduğunu anlamalarını sağlayın.

GNU'dan yarar sağlayan daha fazla insan görmek iyi ama ne için burada bulunduğumuzu ya da adımızı çok fazla anmadan, kullanıcıları diğer taraftan sahipli gözetim düzenine çekerek, böyle satıldığında mutlu olamayız.

[1] Bu isim Richard Stallman’dan gelmektedir. GNU Tasarısının kurucusudur.

Lisans: Bu metin CC BY-SA 4.0 lisansı altında dağıtılan “GNU/kWindows” metninden tercüme edilmiştir. Özgün metin Mike Gerwitz tarafından yazılmıştır. Tercüme metni CC BY-SA 4.0 altında lisanslanmıştır.