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.



DevOps Günlüğü #3 08.04.2016


DevOps Günlüğü #3 08.04.2016

Photo Credits:
Nasa Image of The Day - April 7, 1991, Deployment of Breakthrough Gamma-ray Observatory
https://www.nasa.gov/image-feature/april-7-1991-deployment-of-breakthrough-gamma-ray-observatory



Veri Bilimi Bülteni — 34


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. Çeşitli şirketlerde çalışan veri bilimi ekipleriyle yapılan röportajları burada paylaşıyorum; bu sayede hem kullandığı teknolojiler/yöntemler hakkında Devamını Oku […]

07 April 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 ev sahibi olacak üniversite belli olmadı ama yine ocak sonu, şubat başında düzenlenecek. Yer ve tarih kesinleşince bu girdiyi tekrar düzenleyeceğim.

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

05 April 2016

04 April 2016

Ring hakkında yoğun bir hafta


Son birkaç ayın ardından, GPLv3 lisansı altında ve henüz beta mertebesinde olan Ring; özgür-kaynak yazılım, geliştirici ve siber güvenlik dünyasında bir coşku yarattı.

Birçok İnternet ve haberleşme sanayii ile sürdürülebilir kalkınma sanayii işleticileri yakın ilgi gösteriyor. Birkaç hafta önce Brüksel'deki FOSDEM 2016‘da olduğu gibi, Singapur'da FOSSASIA ve 30. yılını kutlayacak ünlü Özgür Yazılım Vakfının Boston'da düzenleyeceği LibrePlanet müzakerelerinde aynı anda tanıtılacak, Ring ana başlık olacak.

Bu vesileyle, Savoir-faire Linux'un başkanı Cyrille Béraud özgür yazılımın ne ve niçin olduğunu daha iyi anlamak adına Ring'in detaylarına girecek, birçok uzmanın mırıldandığı gibi bu yazılım İnternet tarihinde bir mihenktaşı olabilir.

Bize Ring'in tam olarak ne olduğunu açıklar mısınız?

İlk olarak şunu bilmenizi isterim ki Ring açık kaynaklı bir yazılımdır ve bu nedenle kamu yararınadır. İşlevsel açıdan bakıldığında insanlar bunun bir nevi Skype ya da Hangout olarak göreceklerdir.

Ring dünyanın neresinde olursa olsun iki ya da daha fazla insan arasında şifrelenmiş görüntülü, sesli ve çok yüksek nitelikte yazılı iletişim kurmayı sağlar. Linux, Windows, Mac/OSX ve Android'de mevcuttur, sonraki birkaç ay içerisinde iOS'ta da olacaktır. GPLv3 lisansı altındaki kaynak kodlarıyla birlikte dağıtılmıştır.

image

Yine de şu noktaya dikkat çekmek istiyorum, Ring henüz genç, kırılgan ve pek çok durumda düzgün işlemeyebilecek bir yazılım. Bununla birlikte her gün iyileştiriliyor, standart ortamda ve evsel kullanım için gayet iyi çalışıyor.

Ama Ring'i aynı işleve sahip diğer yazılımlardan ayıran ne?

Ring bir merkezi sunucu olmadan noktadan noktaya iletişim kurmaya imkan sağlıyor. Bu belirleyici bir unsur. Ring evvela bir dağıtık iletişim platformu. Sunucuları yönetecek işletmenlere ihtiyaç yok, her bir aramanız ile ilgili daha fazla maliyet yok, Ring her zaman daha fazla özgürlük ve güvenlik sunuyor. Profesyonel bağlamda birçok kuruluş Ring'in esnekliğinden faydalanabilir. Ring, herkes için maliyetsiz ve konumdan bağımsız, güvenli biçimde iletişim imkanıdır.

Teknik olarak biz kendini kanıtlamış teknolojileri taban alıyoruz: ffmpeg/libav, GnuTLS, pjsip ve diğerleri. Bununla birlikte Ring çekirdeğindeki yeniliğimize ilişkin, biz DHT'lerin (Dağıtık Hash Tabloları) konseptini kullandık. Kendi kütüphanemiz OpenDHT'yi geliştirdik, sadece GitHub üzerinde mevcut, ICE ve SIP kurallarıyla birleştirildiğinde; yönlendiricileri, güvenlik duvarlarını geçerek, bir kullanıcı ya da ekipman, özel bir ağda olsa bile yerini saptamaya ve eğer bunlardan biri muhatabın kullanıcı bilgisini bulunduruyorsa dünyanın neresinde olursa olsun, gerçek zamanlı yüksek güvenlikli iletişim kanalı kurmaya yarıyor.

image

Ring'in bu özelliği ayrıca açık ve tanınmış standartları kullanması sayesinde, bu platform İnternet üzerinde gerçek evrensel hiyerarşik olmayan iletişim dizgesini oluşturmaya yarıyor, sadece iki insan arasında iletişimi değil, genel olarak iki ya da daha çok nesnenin iletişimini sağlıyor. Bu noktadan bakıldığında, Ring etrafında yaptığımız mevcut yenilikler pek çok olasılığın ve sanayi uygulamalarının halka da açılmasını sağlıyor. Biz şuan deneyevimizde çok hafif gömülü sistemler üzerinde şekillenen pek çok prototipe sahibiz, Ring; ev otomasyonuna ya da veri edinme dizgelerine bağlanabiliyor.

Bu tanıtımı bitirmeden şunu belirtmek çok önemli; Ring düşük kipte ve İnternetten tamamen bağlantısını koparmış halde bile işlevini sürdürebiliyor. Afrika'da ya da Hindistan'da kalitesiz bağlantısı olan yalıtılmış bir köy düşünün. İnternet bağlantısı koptuğunda Ring'in dağıtık dizgesi kendisini node'lara bağlayarak hedefe ulaşabilir ve çalışmaya devam edebilir. Örneğini verdiğimiz dünya ile bağlantısı kopmuş bu köyde oturanlar kendi aralarında iletişime devam edebilirler. Bu noktadan bakıldığında Ring sürdürülebilir kalkınmaya katılabilir ve iletişim altyapısını geliştirememiş ülkelerdeki ekonomiye ve demokrasiye katkıda bulunabilir.

Gördüğünüz gibi Ring birçok güce sahip! Ring'i yapabilmek, altında yatan teknolojileri daha fazla insana ulaştırabilmek, her bir insanın ve dünya çapında herkesin kendi Ring kullanımını elde edebilmesi için Ring bir özgür yazılım olmak zorundaydı.

Ring'in arkasında bir ekonomik model var mı ve kısaca Savoir-faire Linux'u tanıtır mısınız?

Elbette Ring'in arkasında bir ekonomik model var. O özgür yazılımlardan bir tanesi. Özgürce herkese açık olarak hazırladığımız kullanım değerleri yarattık. Bu kullanım değerleri bir hizmetler ekonomisi yarattı. Elbette bu ekonomi açık ve rekabetçi pek çok değer yarattı. Ring konusunda Savoir-faire Linux kendi konumuna sahip. Bu ekonomi; değiş tokuşu ve işbirliğini taban almaktadır, böylece az sayıda insanın zenginliği sahiplenmesi ve devrilebilen ekonomiyi kendine ters bellemiştir.

Savoir-faire Linux merkezi Montreal'de bulunan, Kanada içinde Quebec ve Toronto'daki, Fransa içinde Paris'teki takımlarıyla birlikte Kanadalı bir hizmet şirketidir. Bir ortaklık vasıtasıyla Fildişi Sahilleri'nde de bulunmaktayız.

Tümü açık teknolojilerde uzmanlaşmış, yüksek dereceli 110 mühendisimizle birlikte savunma ve gömülü elektronik sektöründe, bankacılık ve sigortacılık sektöründe Desjardins ile, yazılım mühendisliği sektöründe Kanada Uzay Ajansı ile, yönetim bilişim sektöründe Organisation Internationale de la Francophonie ile ve çeşitli yerel teşebbüslerle varlığımızı sürdürüyoruz.

Ayrıca, özgür yazılımın dünya çapındaki aktörleriyle sağlam bağlar oluşturmak bizim için çok önemli. Ayrıca Linux çekirdeği gibi pek çok özgür tasarıya katkıda bulunduk.

Savoir-faire Linux değerler etrafında zenginlik yaratmaktır. Her zaman başarılı olamayız ama her gün, geçen 15 yılda, içimizdeki şu iki tutkuyla çalışmamıza değer katmaya devam ediyoruz: özgürlük ve mükemmelik.

Not: Yazıdaki birkaç cümleyi etkili olarak tercüme edemediğim için çıkardım. Bazı noktalarda birebir tercümeden sakındım. Özgün metin 18 Mart 2016′da yayınlandı, ikinci paragrafta bahsi geçen müzakereler de 20 Mart 2016′da gerçekleşti fakat anlam bütünlüğünü bozmamak adına filleri gelecek zaman kipinde tercüme ettim.
Lisans: Bu metin CC BY 4.0 lisansı altında dağıtılan “An Intensive Weekend about Ring” metninden tercüme edilmiştir. Özgün metin Cindy Marchi tarafından yazılmıştır. Tercüme metni CC BY 4.0 altında lisanslanmıştır.



30 March 2016

ReactOS: Özgür lisanslı Windows inşa etmek


Çoklu önyüklemeden WINE'a, özgür yazılım Windows uygulamalarını çalıştırmak için hep bir çözüm üretmeye çalıştı. Yine de bu çabaların sadece birkaçı Windows'un özgür lisanslı uyarlaması olan ReactOS kadar hırslı olabildi. Tasarı 2006'dan beri faal ve on yıllık zorlu ve ihtiyatlı geliştirmenin ardından Şubat 2016'da ilk alpha sürümü piyasaya çıktı.

Geliştirici Ziliang Guo'ya göre özgür lisanslı Windows 95 uyarlamasını hedefleyen FreeWin95 tasarısının başarısızlığından ReactOS meydana geldi.

“FreeWin95 hiçbir yere gelemedi çünkü insanlar işletim sistemini nasıl uyarlayacakları hakkında teknik tartışmalar yaptı ve çıkmaza sürüklendi. Kimse kodlamayı istemedi.”

Mesafe kaydedememenin bir sonucu olarak Jason Filby ve David Welch Windows NT'nin özgür sürümünü oluşturmak için yeni bir tasarı oluşturdular. Bir başka tasarı üyesi olan Jeff Know tasarıya ReactOS (React: tepki) adını önerdi çünkü bu çaba Microsoft'un masaüstündeki tekeline bir tepkiydi.

image

Geçmişten bir esinti: ReactOS üzerinde WinZip çalışıyor

Tersine Mühendislik ve Belgelendirme

Başlangıçta ReactOS zorluklarla karşı karşıya geldi. Tasarı başladığında bir çok Windows derleyicisi sahipliydi ve özgür olan bir kaçı ise acı verici şekilde yetersizdi. Gerekli araçları geliştirmekte büyük bir adım niteliğindeki MinGW‘den sorumlu ana geliştirici Casper Hornstrup'ı hatırlıyor Guo. Bu koşullar altında ReactOS'u çalıştırabilmek/önyükleyebilmek bile bir mihenk taşıydı. Guo'nun belirttiği gibi,

“Gerçekten bir işletim sistemini çalıştırabilmek insanların düşündüğünden daha karmaşık bir iş”

Bir diğer sorun ise Windows NT'nin iç mimarisi için yetersiz belgelendirme olmasıydı. Örneğin, çekirdek seviyesi API'leri üzerinde bilgi yetersizliği NT sürücü uyumluluğunu zorlaştırıyordu. Benzer olarak dahili birbirine bağımlılıkların geliştirilmesi gerekiyordu, sorun teknik zorluklara sebep olduğu gibi bu zorlukları artırıyordu.

“Takım eksik bir özelliği tamamlamak üzere olduğunda bazen varolan bileşenlerin içine geri dönüp hackleri silmesi gerekebiliyor, (bu süreç) diğer hacklerle bağlantılı hacklerin oluşturduğu bir tavşan deliğinde sonlanıyor ve tüm bu şey başarısız yollarda adeta çöküyor.” diyerek açıklıyor Guo.

Bugün durum bir miktar düzeldi. MSDN sitesi, Windows Internals, Inside Microsoft Windows ve Windows Graphics Programming gibi bir çok kitaba ek “Microsoft Windows hakkında bolca belgelendirme mevcut” diyor tasarı yürütücüsü Aleksey Bragin. Bu bilgiler özgürce kullanılabiliyor ama bilgiler hatalar içerebiliyor ve belgelenmemiş bölümleri olabiliyor.

Bir diğer avantaj ise WINE'ın Win 32API için uyumluluk katmanı. ReactOS bunu yeniden kullabilir fakat “Tabi ki takım bu API'lere güç sağlayacak Win32 altsistemini doğru bir şekilde tamamlamak zorunda.” diyor Guo.

Bu nedenle, bu avantaja karşın, ilerlemek için ReactOS üçüncü şahıslar tarafından yapılan tersine mühendisliğe bağımlı. Diğer zamanlarda, tasarı üyeleri karakutuculuğa (blackboxing) başvuruyor, farklı türde girdilere Windows'un verdiği cevapları sistematik olarak test ediyor ve içerde neler olduğunu anlamaya çalışıyorlar.

Malesef, tersine mühendislik çoğu kez hukuksal mayın tarlasına dönüşüyor.

“Tasarıda her zaman şu farkındalık oldu: Microsoft'un bizi stratejik tehdit olarak görebilir ve kapatmayı isteyebilir.” diyor Guo. Herhangi bir olası sorunu önlemek adına, ReactOS her zaman dikkatli davranıyor, öncelikle katkıların kısıtlı Microsoft kodundan elde edilmediğinden emin olunuyor. Örneğin, tersine mühendislikle oluşturulmuş ve ardından Assembly'den C'ye çevrilmiş kod kabul edilmiyor ama karakutuculuk kabul ediliyor.

Doğrusu, Bragin'e göre, ReactOS mümkün olduğu kadar tersine mühendislikten kaçınmayı tercih ediyor. Tersine mühendislik kaçınılmaz olduğunda katkıcılardan GNU Kodlama Standartları'nın 2.1 maddesini uygulamaları, sahipli yazılımlara -özellikle Windows'a- atfı önlemeleri bekleniyor. Buna göre tüm kod mümkün mertebe özgün olandan farklı olmalıdır.

Yine de, tersine mühendislik bir gri alan gerektiriyor. Guo bunu hatırlatıyor, bir noktada, tasarı geliştiricileri lekesiz kodu neyin oluşturduğu hakkında farklı yorumlarla konu üzerinde tartıştı. Bu tartışma bazı geliştiricilerin çıkmasına sebep oldu ve tasarı kodlarının iç denetimiyle sonuçlandı. Neyse ki lekeli kod bulunmadı ve tasarı nihayet yoluna devam edebildi.

Önündeki Zorluklar

Alpha sürümü 0.4'ün piyasaya sürülmesi yıllar süren kitke kaynaklı çalışmayla, sınırlı başarının ardından geldi. Yeni sürüm Canlı CD olarak mevcut, Windows NT olarak tanıtılıp VirtualBox'a kolayca kurulabiliyor. Çağdaş donanım üzerinde yirmi yıllık sistemleri öykündüğü için işletim sistemi saniyeler içinde önyükleniyor. Winzip, özgür yazılım olan LibreOffice, bir kaç eski ve basit oyun gibi çeşitli yazılımları çalıştırabiliyor.

image

ReactOS kendi Solitaire sürümünü çalıştırıyor.

Yine de zorluklar sürüyor. Her zaman olduğu gibi nitelikli geliştiriciler ender:

“Halihazırda Microsoft için çalışmayan NT çekirdek uzmanlarının sayısı çok az.” diye not ediyor Guo. Mevcut donanımı desteklemek oldukça zor olabiliyor, Guo değişken donanım standartlarının bir problem olduğunu söylüyor ve “Microsoft bile bunlarla sıfır sorun yaşamıyor.” diyerek ekliyor.

Bir diğer sorun ise, son sürümlerdeki kullanılırlık üzerinde yapılan geniş çalışmaların ardından, Guo'nun sözleriyle:

“Geçmişte çok çok daha az olan kullanıcının görebileceği, büyük değişikliklerle yere yakın olan birçok meyve toplanmış oldu.”

Bu bazı temel sorunları hatırlatıyor. Örnek olarak öncelikler hakkında soru üzerine Bragin şöyle dedi:

“En önemli açık hafıza yönetimi ve önbelleklemeye bağlı sistem kararlılığında. Diğer sorunlar da var elbette ama gerçekten kararlı çekirdeğe sahip olmak tasarı için büyük başarı olur.”

Diğer baskı yapan sorun ise oyunlar için DirectX desteği. ReactOS WINE'ın DirectX uyarlamasına sırtını yaslamayı umuyor. Bragin oyun desteğinin önemli olduğunu çünkü hafızayı, dosya sistemini ve ağı kullanmaları “işletim sisteminin kendisi için güzel bir test” olduğunu vurguluyor.

İlk alpha sürümü dikkate değer bir mihenk taşı. ReactOS halihazırda yeterince gelişmiş, Bragin onu işletim sistemlerini öğretmek için kullanıyor.

“Ama gerçekten ReactOS'un bir kullanım senaryosunda Windows'un yerine kullanılabilecek güçte olduğu anı görmek istiyorum. Bu an kesinlikle önümüzdeki beş yıl içinde yaşanacak.” diyerek bir öngörüde bulunuyor.

Genel Dağıtıma Doğru

Sahipli geliştirmeyle etkileşime giren diğer özgür yazılımlarda olduğu gibi ReactOS da Microsoft'un kendi API'lerindeki daimi değişimin daima gerisinde kalacağa benziyor. Ancak bu durum ilk çıktığındaki kadar kasvetli olmayabilir.

ReactOS her Windows sürümünün tüm özelliklerini yeniden çoğaltmakla ilgilenmiyor.

“Biz güzel özellikler üretmeye çalışıyoruz, örneğin çeşitli temalar arasında geçiş yapmamızı sağlayan kullanıcı arayüzü tasarlayıcımız gibi. Yine de, Microsoft'un her eklediği güzel değil. Örneğin, Metro Arayüzü ya da diğer yeni API'ler yeterince popüler olmadıkça bunlara fazlaca vakit ayırmaya gerek yok. Eğer birisi gerçekten isterse bir Windows 8 Metro Teması yapabilir. Yine de böylesi bir arayüzü seven çok kişi olduğundan emin değilim. Windows 10 ya da Windows 8'e eklenmiş çok fazla değer görmüyorum.” diyor Bragin.

Her neyse, alpha sürümüyle birlikte ReactOS ivme kazanmışa benziyor. Hedefi hala zoruluklarla karşı karşıya.

Not: Tercümeyi tek seferde bitirme inadım sonucunda bir ya da iki cümleyi anlamakta epey zorlandığımdan anlam bütünlüğünü bozmayacak şekilde yazıdan çıkardım, yine bir kaç cümlede birebir çeviriden sakındım.
Lisans: Bu metin CC by-SA 4.0 ya da sonrası altında dağıtılan “ReactOS: Building a Free-Licensed Windows” metninden tercüme edilmiştir. Özgün metin Bruce Byfield tarafından yazılmıştır. Tercüme CC by-SA 4.0 ya da sonrası altında tekrar lisanslanmıştır.



28 March 2016

Özgür Yazılım ve Linux Günleri 2016


Merhaba, geçtiğimiz hafta  Özgür Yazılım ve Linux Günleri'nin 15.'si düzenlendi. Benim de katıldığım 5. Özgür Yazılım ve Linux Günleri etkinliği oldu.  

Etkinlik, Bilgi Üniversitesi Santral Kampüsü'ndeydi. Etkinlik boyunca tek gözüme batan problem küçük bir alanda olmasıydı. Katılım oldukça fazla olduğundan sunum aralarında standları gezmek, kocaman bir toplulukla sohbet etmek bir miktar zorlaştı diyebilirim.

Her yıl olduğu gibi Çanakkale'den kalabalık bir ekiple oradaydık. ( +Necdet Yücel +Berk Güreken  +Gülşah Köse +yeliz taneroğlu  +Ayşe Melike Yurtoğlu +Kerem Hallaç +İrem Şendur +Feyza Yavuz +Kader Tarlan  +Burçin Akalın +Beyza Nur Esen ve berfin sarı)

Okulumuzun özgür yazılım gönüllüsü olan mezun öğrencileri ile de görüşüp sohbet etmek her zamanki gibi aşırı zevkliydi. [Yaşasın Kripton :)] Çok sık görüşemediğim ve sohbetini çok sevdiğim insanları böyle etkinliklerde görüp sohbet etmenin tadı da başka tabiki. \o/

Katıldığım ilk sunum, HackerSpace'den Barış Büyükakyol'un "Özgür Yazılım, Özgür Kültür" sunumuydu. Barış, özgür yazılım felsefesini ve neden doğru olanın bu yol olduğunu anlattı.

İkinci katıldığım sunum ise, bahsettiğim mezunlardan +Aydan Taşdemir'in (Reyiz)  "Pgbarman ile Posgresql Yedekleme" sunumuydu. Pgbarman, sistem yönetimi alanında kullanılan bir araç olduğundan ilgiyle dinledim. Bu araç için Aydan da bir özellik eklemiş. Sunumda bize bu özelliği de anlattı.

İkinci gün, katıldığım ilk sunum Necdet Yücel ve +Kaan Ozdincer 'in "Yine Yeniden Özgür Yazılım" sunumuydu. Evet özgür yazılım diyoruz, başkalarını da yanımıza çağırıyoruz fakat bunu yaparken neleri yanlış yapıyoruz, nelerin üzerinde durup bu çağırma işini doğru yapmalıyız soruların tüm cevapları sunumdaydı :) 

Örneğin, özgür yazılım lisansı ile lisanslanmış bir yazılıma açık kaynak diyerek, hiçbir lisansı olmayıp kodlarını görebildiğimiz yazılıma da açık kaynak diyerek yanlış yapıyoruz. "virüs yok", "bedava" diyerek de karşı tarafı yanlış taraftan ikna etmeye çalışıyoruz aslında. Şimdilerde özgür yazılım gibi görünen ama hiç de öyle olmayan yazılımlar için özgür yazılımı ve felsefesini doğru anlamalı, anlatmalı topluluğun temelini sağlam tutmalıyız. Topluluk herşeydir :) Umarım bu sunumu başka bir etkinlikte dinleme şansı bulursunuz.

Sonrasında +Halil Kaya  ve Fatih Kadir Akın(fkdev)'ın "Türkiye’de Hackathon Kültürü ve Özgür Hackathon’lar" sunumuna katıldım. Bu sunumda da Hack kültürünü, son zamanlarda gerçekleşen hacathonların temel felsefeden biraz uzaklaştıklarını ve aslında Hackathon kültürünün nasıl olması gerektiğini anlattılar.


Gelelim bizim "LibreOffice Geliştirme ve Yaygınlaştırma" toplantımıza :)
Toplantımız 2 kısımdan oluşuyordu. Öncelikle ekipten herkes gibi, ben de eylülden beri LibreOffice için nasıl özellikler eklediğimden bahsettim. Bu çalışmamın bana Mozilla tarafında nasıl bir kapı açtığını anlattım. Ekip oldukça kalabalıktı(13 kişi) ama süre azdı malesef. İçimizden arayüz ile ilgilenenlerin ne yaptıklarını sunuma eklemiştik. Merak edenler  buradan bakabilir.

2.kısımda da temel 2 soru üzerine konuştuk: "Geliştirme için bizden başka neden kimse yok, bu sayıyı nasıl arttırırız" ve "LibreOffice kullanımını nasıl arttırabiliriz?" Toplantıya katılamayıp buradan okurken bir fikri olan okuyucular da düşüncelerini paylaşırlarsa seviniriz :)

Etkinlikte bolca sticker topladığım, bir tane LoL tişörtü ve bardak altlığı edindiğim bilgisini ekleyeyim :)


Yazıyı bitirmeden önce Chris Stephenson hocayı da gördüğüme çok sevindiğimi söylemek isterim. Hoş kalın :)



Müziğe Evet, Yağlı Saçlara Hayır


Aydınlanma
 Her şey, yeni bir eve taşınmamla başladı. Önceden iş yerine varmam 5 dakika sürüyordu. Bu süre, bir anda 45 dakikaya çıkınca aydınlanma yaşadım ve bazı insanların neden müzik olmadan yapamadığını anladım: bu yol (ve bazen de hayat), başka türlü çekilecek gibi değildi.

Aydınlanma sürecim, daha önce anlam veremedim bir çok şeyi de anlamamı sağladı. Örneğin "yolu bilmek ile yolda gitmek" aynı şey değildi. Bu koduğumun yolu, git git bi türlü bitmiyordu ama yolu bilmek için Google Map'e bakmak yeterliydi. Ayrıca o bilgenin, Ferrari'sini neden sattığını da artık çok iyi anlamıştım.

Neyse, bu yeni hayatımda artık müziğe daha çok yer verecektim. İşyerinde bilgisayar ile çalışırken de radyo dinlemeye karar verdim ve yoldayken dinlediğim Radio Slow Time'ın Internet üzerinden yaptığı yayını buldum. Artık bilgisayar başına oturunca bir konsol açıyor ve şu komutu çalıştırıyordum:


mplayer http://46.20.7.104/

Ama hayat bu kadar basit değildi ve yeni zorluklar beni bekliyordu.

Yağlı Saçlar
 İnsanlığın en büyük sorunu ile yüzleşmem de bu vesile ile oldu. Radio Slow Time, reklam kuşaklarında çağımızın vebası "yağlı saçlar" konusunda bilinçlendirici yayınlar yapıyor, bunun bir son olmadığını, hala bir umut olduğunu anlatıyordu.

Önceleri çok önemsemedim. "İnsanlar, o mucize şampuanı nasıl olsa alır, yağlı saçlar sorunu da kısa sürede çözülür" diye düşündüm ama cahil halkımız, her zamanki tavrı ile bu sorunu da görmezden geldi. Israrla o mucize şampuanı almadılar.

Artık önümde iki seçenek kalmıştı. Ya o mucize şampuanı ben alıp milletin yağlı saçlarını zorla yıkayacaktım ya da reklam kuşağı başladığında mplayer'ın sesini kısacaktım. Birinci yöntem bana pek pratik görünmedi.

Sessizlik
mplayer'ın sesini kapatmak için işimi yarım bırakıp mplayer'ın açık olduğu masaüstüne geçmek, sesi kapatmak ve tekrar çalıştığım masaüstüne dönmek iyi bir çözüm değildi. Bir kısayolla bu işi halletmem gerekiyordu.

Biraz araştırma yapınca mplayer'da slave mod diye bir şey olduğunu öğrendim. Slave moddayken mplayer, input noktasına gönderilen komutları algılıyor ve gerekli işlemi yapıyordu. Yani artık mplayer'ı şu şekilde başlatacaktım:

mkfifo /tmp/mplayer.pipe
mplayer -slave -input file=/tmp/mplayer.pipe http://46.20.7.104/


Sesi açıp kapatmak için de input noktasına (yani named pipe'a) şu komutu göndermem yeterliydi:

echo mute > /tmp/mplayer.pipe

Bu komutu, bir kısayola bağlayınca düşündüğüm oldu ama hala yolunda gitmeyen bir şeyler vardı.

Özgür İrade, Aslında Bir Yanılsama mı
"Hayatımızı reklamlar yönetiyor" derlerdi de inanmazdım. İnsanın aklı vardı, neden duyduğu bir şeyden bu kadar etkilensindi ki... Ama geldiğim duruma bakar mısınız? Reklam kuşağından kurtulacam derken farkında olmadan Pavlov'un köpeğine dönmüştüm. Reklam başlayınca otomatik olarak kısayola tıklıyordum.

Bu insanlık dışı durumdan kurtulmam gerekiyordu. Özgürlüğümü yeniden kazanabilmek için daha çok bilgi sahibi olmalı ve öğrendiklerimi eyleme dökmeliydim. Yeniden araştırmaya başladım.

mplayer çıktılarını inceleyince kanalın, yapılan yayınla ilgili bazı bilgiler gönderdiğini gördüm. mplayer çalışırken şu şekilde çıktılar geliyordu:

ICY Info: StreamTitle='"YASMIN_LE - "NO TENGO';StreamUrl='&artist=
A:1464.9 (24:24.8) of 0.0 (unknown)  0.8% 40%
ICY Info: StreamTitle='"","Title" - V1","Code"';StreamUrl='&artist=
A:1479.3 (24:39.2) of 0.0 (unknown)  0.8% 40%
ICY Info: StreamTitle='"SAM_SMITH - RITING'S O';StreamUrl='&artist=
A:1751.3 (29:11.3) of 0.0 (unknown)  0.8% 40
ICY Info: StreamTitle='"Reklam","","":';StreamUrl='&artist
A:2003.0 (33:23.0) of 0.0 (unknown)  0.8% 40%


Çıktıdan da görüleceği gibi StreamTitle kısmında yayınlanacak şarkı ile ilgili bazı bilgiler vardı. Reklam başlayacağı zaman da bu kısımda Reklam yazıyordu. Reklam yazısını gördüğüm anda mute komutunu otomatik tetikletirsem artık özgürdüm.

Konsolun Kalbine Giden Yol, Borudan Geçer
Konsolla aranız iyi ise "|" (yani pipe, Türkçe'siyle boru) ile herhangi bir komutun çıktısını, başka bir komuta girdi olarak gönderebileceğinizi biliyorsunuzdur. mplayer çıktısını bir while döngüsüne yönlendirilsem ve bu döngü içinde bazı kontroller yapıp uygun anda mute komutunu tetiklersem bu iş olabilirdi. Komutu hazırladım:

mplayer -quiet -slave -input file=/tmp/mplayer.pipe http://46.20.7.104/ | \
while read line
do
   echo $line
   [ "$(echo $line | grep -v StreamTitle)" ] && continue

   title=$(echo $line | cut -d '"' -f2)
   [ -z "$title" ] && continue
   [ "$title" = "Reklam" ] && echo mute > /tmp/mplayer.pipe
done


mplayer çıktılarını alan while döngüsü kısaca şunu yapıyordu:
  • Satırda StreamTitle kelimesi geçmiyorsa bu satırla bir işi olmadığında bir sonraki satıra atlıyordu.
  • StreamTitle kelimesi geçiyorsa şarkı adını alıyordu.
  • Şarkı adı belirlenemediyse (bazen boş geliyor) bir sonraki satıra atlıyordu.
  • Şarkı adı olarak Reklam yazıyorsa sesi kapatıyordu.

Obsesyon (Takıntı)
Israrlı bir şekilde sürekli aklımıza gelen, bir türlü engel olamadığımız, beynimizi bir tahta kurdu gibi sürekli kemiren sinir bozucu düşünce...

Yapılan klinik deneyler, düzgün çalışmayan yazılımların obsesyona sebep olduğunu ve yazılımcıların %93.27'sinin sinir bozucu (amiyane tabirle gıcık) olduğunu göstermekte... Bu son örnek de bunu doğruluyordu.

Reklam başlayınca, ses otomatik olarak kapatılıyordu ama reklam bitince otomatik açılmıyordu. Reklamın bittiğini farkedip manuel olarak sesi açmak gerekiyordu. Dolayısı ile ses kapatıldıktan bir süre sonra beynimi, "acaba reklam bitmiş midir, sesi artık açsam mı" gibi sinir bozucu düşünceler kaplıyordu. Bir yazılımcı olarak kendi sinirlerimi de bozmayı başarmıştım.

Komutu biraz düzenlemem gerekiyordu. Reklam bittiği zaman da sesi otomatik olarak açtıracaktım. Yalnız dikkat edilmesi gereken bir nokta vardı: ses zaten kapalıyken sesi kapatmaya, ses zaten açıkken de sesi açmaya kalkmamalıydım. Yoksa her tetiklendiğinde modu tersine çeviren (yani on ise off, off ise on yapan) mute komutu, yanlış çalışacaktı. Dolayısı ile mute durumunu takip etmek gerekiyordu.

Komut artık şu şekli almıştı:

MUTE=false
[ -e /tmp/mplayer.pipe ] || mkfifo /tmp/mplayer.pipe

mplayer -quiet -slave -input file=/tmp/mplayer.pipe http://46.20.7.104/ | \
while read line
do
   echo $line;
   [ "$(echo $line | grep -v StreamTitle)" ] && continue

   title=$(echo $line | cut -d '"' -f2)
   [ -z "$title" ] && continue

   if [ "$title" = "Reklam" ]
   then
     $MUTE || echo mute > /tmp/mplayer.pipe
     MUTE=true
   else
     $MUTE && echo mute > /tmp/mplayer.pipe
     MUTE=false
   fi
done


 Değişen kısımlar:
  • Named pipe (/tmp/mplayer.pipe) henüz oluşturulmamışsa mkfifo ile oluştur.
  • Reklam kelimesi yakalandıysa ve mute modunda değilse, sesi kapat.
  • Bir şarkı adı yakalandıysa ve mute modunda ise sesi aç.
Fiber Internet
Reklamları bir türlü anlayamıyorum. Mesela bi tane firma var, "fiber Internet" diye garip bir şeyin reklamını yapıyor. Reklamı yapıldığı için ben de satılan bir şey sandım, "şundan eve alalım" dedim. Firma ile görüştüm ama bizim eve getiremiyorlarmış, bize satmadılar. Halbuki sokağın başındaki laz bakkal, avokado bile getiriyor. Avokadonun bile gelebildiği bir yere, fiber Internet nasıl gelemiyor anlamadım.

Bizim iş yeri de o şeyden satın almak istemiş ama onlara da satmamışlar. O nedenle Internet bağlantım, über süper değil. Über süper bir bağlantı olmayınca sanırım mplayer, müziği kesintisiz verebilmek için buffer kullanıyor. Buffer olunca da gelen bilgi ve müzik arasında bir süre farkı oluyor. Yani "Reklam" bilgisi geldikten 5-6 saniye sonra reklam başlıyor. Oysa ki ben komutu, 21. yüzyılda çalışacak şekilde tasarlamıştım ve gecikme olacağını hesaba katmamıştım.

Durum böyle olunca İlber Ortaylı Hoca'ya hemen bi telgraf gönderdim. "Osmanlı döneminde Internet kullanımı" ile ilgili temel bilgileri aldıktan sonra bu gecikmeyi de hesaba katacak şekilde komutu düzenledim. Artık komut şu hale gelmişti:


MUTE=false
WAIT=5
echo $WAIT > /tmp/mpwait
[ -e /tmp/mplayer.pipe ] || mkfifo /tmp/mplayer.pipe

mplayer -quiet -slave -input file=/tmp/mplayer.pipe http://46.20.7.104/ | \
while read line
do
   echo $line;
   [ "$(echo $line | grep -v StreamTitle)" ] && continue

   title=$(echo $line | cut -d '"' -f2)
   [ -z "$title" ] && continue

   if [ "$title" = "Reklam" ]
   then
     $MUTE || (sleep $(cat /tmp/mpwait); echo mute > /tmp/mplayer.pipe) &
     MUTE=true
   else
     $MUTE && (sleep $(cat /tmp/mpwait); echo mute > /tmp/mplayer.pipe) &
     MUTE=false
   fi
done


Bu seferki farklar:
  • Gecikme süresi, komut çalışırken istenirse değiştirilebilsin diye, /tmp/mpwait dosyasına kaydediliyor.
  • Ses açılıp kapatılacağı zaman bu gecikme süresi kadar beklenip ondan sonra mute komutu tetikleniyor.
Mutlu Son
Sonunda istediğim olmuştu. Artık rahat bir şekilde müzik dinliyebiliyordum ama kafama takılan bir şey vardı: o mucize şampuandan ben de almalı mıydım?

25 March 2016

Okullarda Kodlama Dersi – 1


Bilim, Sanayi ve Teknoloji Bakanlığı’nın resmi Twitter hesabından yapılan paylaşımda kodlama dersinin ortaokul ve lise müfredatına alınması için Milli Eğitim Bakanlığı ile birlikte çalışılacağı duyuruldu:

Kodlama Dersi Geliyor

Kodlama Dersi Geliyor

Bilim, Sanayi ve Teknoloji Bakanlığı’nın Twitter sayfası “üreten bir ülke olmak”, “bilişim vadisi kurmak”, “dünyaya yeni teknolojiler sunmak” gibi güzel mesajlarla dolu. Fakat,

…dar anlamda bilim ve teknoloji politikası, kısaca ilk ortaya atıldığı zamanki terimiyle bilim politikası, her türlü bilimsel, teknolojik ve yenilikçi [innovative] faaliyetlerin toplumsal bir amaç ya da amaçlar doğrultusunda yönlendirilmesi ve denetlenmesi için farklı düzeylerde politikalar tasarlanıp uygulanmasıdır. Firma düzeyindeki bir şirket stratejisi [corporate strategy] içinde yenilik çalışmaları ve buna bağlı Ar-Ge hedeflerinin saptanmasından bir ülkenin ve hatta bir ülkeler topluluğunun bilim ve teknoloji politikasının oluşturulup uygulanmasına değin çok geniş bir yelpazede yer alan bu politikalar da, zorunlu olarak diğer politikalarla eklemlenmek durumundadır. Örneğin, eğitim politikası, iktisat politikası, vergi veya gümrük politikası, banka mevzuatı vb, yerine göre, her düzeydeki yenilik faaliyetlerini etkiler ve tüm politikalar belli bir mantık içerisinde birbirleriyle eklemlenmezse, dar anlamda ‘salt’ bir bilim ve teknoloji politikasının başarısı azalır. (Türkcan, 2009, s.205)

Bu bağlamda, kodlama dersinin müfredata eklenmesi ya da bir bilişim vadisi kurulması yönündeki çalışmalar tek başına yeterli olamayacaktır. En başta yıllardır yapboz tahtası haline getirilen eğitim sistemi, bilim ve teknolojideki hedeflerle uyumlu değildir. Biraz hafızamızı tazeleyelim. Yıllar önce de ülkemizdeki bilişim çalışanlarının yetersiz olduğundan yakınılıyordu. Sonra Türkiye’nin dört bir yanına, neredeyse her üniversiteye, yeterli öğretim üyesi ve altyapı olmadan bilgisayar mühendisliği bölümü açıldı. Böylece bir zamanlar “popüler meslekler arasındaki bilgisayar mühendisliği, akademik başarısı düşük öğrencilerin tercih ettiği bölümler”den biri oldu (http://www.aksam.com.tr/yazarlar/ismi-havali-ama-tercih-eden-yok/haber-305135). Bilgisayar mühendisi sayımız arttı ama bu artış bilişim alanında bir atılım yapmamıza değil, yedek iş gücü ordusuyla bilişim çalışanı ücretlerinin düşürülmesine neden oldu. Hukuk ve Tıp’a getirilen taban puanı uygulamasının diğer bölümler için de gerekli olduğunu söyleyen, “MEB’in eğitim fakültelerine, mimar ve mühendis odalarının da mühendislik fakültelerine daha nitelikli öğrenci alınması için yüksek taban puan baskısı yaratmasının, daha iyi öğretmen ve daha iyi mühendis yetiştirilmesi konusunda çok yararlı olacağı vurgusu yapan” YÖK Başkanı Yekta Saraç’ın sözleri bilim ve teknoloji politikamızın bütünlükten yoksun olduğunun bir başka göstergesi. Başta bilgisayar mühendisliği olmak üzere, bu kadar mühendislik bölümünü kim, neden açtı?

Bilim Teknoloji ve Sanayi Bakanlığı diğer ülkelerdeki girişimlerden etkilenmiş gibi görünüyor. Barack Obama örneğinde olduğu gibi hükümetler en üst düzeyde bu konuyla ilgileniyor, yapılan etkinliklere katılıyor (https://www.whitehouse.gov/blog/2014/12/10/president-obama-first-president-write-line-code). Başta İngiltere olmak üzere birçok Avrupa Birliği ülkesi, çocukları bilgisayar programlamayla erken yaşlarda tanıştırmak için yoğun çaba gösteriyor (http://www.euractiv.com/section/digital/infographic/infographic-coding-at-school-how-do-eu-countries-compare/). Avustralya ilkokul müfredatında tarih ve coğrafya dersleri yerini kodlamaya bıraktı (http://www.techtimes.com/articles/86669/20150921/australia-replaces-history-and-geography-with-coding-in-new-primary-school-curriculum.htm). Bu müfredat değişikliklerinde ülkelerin özgün ihtiyaçları belirleyici oluyor. Estonya’nın filizlenen teknoloji endüstrisi daha çok programcıya gereksinim duyduğundan programcılık öğretimine daha çok vurgu yapıyorlar; bazı okullarda programcılık eğitimi altı yaşında başlıyor. Danimarka ise büyük firmalarının çıkarları doğrultusunda kullanıcı arayüzü tasarımının ve dijital teknolojinin topluma etkisinin öğretilmesine ağırlık veriyor. Aarhaus Üniversitesi’nden Michael Caspersen, müfredatın sadece ileride bilgisayar bilimlerini tercih edeceklere değil, tüm öğrencilere faydalı olmasını istediklerini söylüyor (The Economist, 2014). Türkiye’nin nasıl bir eğitime ihtiyacı olduğunun tartışılıp tartışılmadığını bilmiyorum.

Farklı ülkelerdeki uygulamalar önemli dersler de içeriyor. Bir karar almadan önce bu örneklerin Türkiye’nin koşulları da dikkate alınarak incelenmesi gerekiyor. Yoksa yeni bir Fatih Projemiz olabilir. Yukarıdaki örneklerde görüldüğü gibi ülkeler kısa süreli hedeflerle hareket etmiyorlar. 6 yaşındaki çocuğun okuyup çalışma hayatına katılması için önünde uzun yıllar var. Örneğin İngiltere, 2014 yılında kodlamayı ilk ve orta öğretim müfredatına dahil ederken en azından sonraki 10 yıl için ayrıntılı bir plan yapmış durumda. İngiltere’de kodlama öğretimi müfredat değişikliğinin sadece bir parçası; asıl değişim okullardaki bilişim teknolojileri kullanma eğitiminin yerini bilgisayar biliminin alması. Daha 2011 yılında Google’ın Başkanı Eric Schmidt, yazılımı kullanmayı öğreten ama onun nasıl yapıldığı hakkında bilgi vermeyen İngiliz eğitim sistemini eleştirmekteydi (The Economist, 2014). İngiltere Eğitim Bakanı Michael Gove da 2014 yılında yaptığı konuşmada bu eleştiriye hak vermektedir. Bilişim teknolojileri eğitiminin öğrencilere sadece bilgisayar okuryazarlığı verdiğine, derslerde tekrar tekrar kelime işlem programlarının nasıl çalıştığının anlatıldığına ve öğrencilerin kimi zaman modası geçmiş yazılımları öğrenmek zorunda kaldığına vurgu yapan Gove, bunu teleks göndermeyi ya da zepline binmeyi öğretmeye benzetiyordu. Gove, yeni eğitim müfredatıyla öğrencilere kodlamayı, var olan programları çalıştırmak yerine kendi programlarını geliştirmeyi öğreteceklerini söylüyordu (https://www.gov.uk/government/speeches/michael-gove-speaks-about-computing-and-education-technology). İngiltere’nin 2014 yılında uygulanmaya başlanan yeni eğitim müfredatı bu doğrultuda geliştirildi. Müfredat değişikliğiyle öğrencilerin:

  • soyutlama, mantık, algoritmalar ve veri temsili de dahil olmak üzere bilgisayar biliminin temel kavramlarını anlayıp uygulayabilmesi
  • problemleri berimsel (computational – bkz. https://tr.wikipedia.org/wiki/Berim) terimlerle analiz edebilmesi ve bu tip problemlerin çözümü için gerekli beceriyi edinebilmesi
  • problemleri çözebilmek için yeni ya da aşina olmadıkları da dahil olmak üzere bilişim teknolojisini değerlendirip uygulayabilmeleri
  • bilişim ve iletişim teknolojisinin sorumlu, yetenekli, kendinden emin ve yaratıcı kullanıcıları olmaları

hedeflenmekte.

Dört bölümden oluşan müfredat, 5 ile 16 yaş arasındaki tüm çocukları kapsamakta (bkz. http://bit.ly/1f7PIFU , http://www.theguardian.com/technology/2014/sep/04/coding-school-computing-children-programming ).

Birinci bölüm, 5-6 yaşındaki çocuklar için. Bu bölümde, çocuklar algoritma kavramı ile tanışacaklar. Çocuklar algoritma kavramını gündelik hayattan örneklerle ve oyunlarla tanıyacak. Örneğin algoritmayı açıklamak için sabah yaptıkları rutin işler adımlara bölünerek anlatılacak. Basit programların oluşturulup çalıştırılmasının yanı sıra bu programların arkasındaki mantık da gösterilecek. Bilişim teknolojilerinin daha sorumlu ve saygılı kullanımı, kişisel bilgilerin mahremiyeti ve internet ya da herhangi bir bilişim teknolojisi ile ilgili bir sorun yaşadığında nereye başvurabileceği bu bölümde öğretilmeye başlanacak. Sonraki bölümlerde de bu konular üzerinde öğrencinin yaşı göz önünde bulundurularak tekrar durulacak.

İkinci bölüm, 7-11 yaşlarındaki ilkokul öğrencileri için. Öğrencilere, programlamanın temel yapıtaşları olan sıralama (sequencing), seçme (selection), döngü (repetition), değişken (variable) kavramları öğretilecek. Bu bölümde, bilgisayarın ve programların çalışma mantığının öğretilmesinin yanında bilişim teknolojilerinin nasıl daha yaratıcı kullanılabileceği üzerinde durulacak.

11-14 yaşında olanlar için tasarlanan üçüncü bölümde ise öğrenciler, gerçek dünyadaki problemleri ve fiziksel sistemleri soyutlamayı, tasarımı ve programlama dilleri ile gerçekleştirimi öğrenecekler. Bölüm sonunda öğrencilerin, en az iki programlama dilini öğrenmiş olması beklenmekte. Öğrenciler, bu bölümde Boole cebirini devre ve programlarda kullanacaklar, basit arama ve sıralama algoritmalarını öğrenecekler. Müfredat yalnız yazılım bilgisi ile sınırlı değil. Bilgisayarın donanımsal bileşenleri ve bilgisayarlar arası iletişim de bu bölümün konuları arasında yer alıyor. Önceki iki bölümde olduğu gibi bu bölümde de öğrencilere var olan teknolojileri kullanmayı öğretmek gibi bir hedeften çok öğrencilerin yaratıcı bir şekilde yeni çözümler geliştirmesi, var olan teknolojiyi kendi ihtiyaçlarına göre uyarlaması veya farklı teknolojileri belirli bir amaç doğrultusunda bir araya getirmesi ön planda olacak.

Dördüncü ve son bölümde ise öğrenciler, merak ve yetenekleri doğrultusunda bilgisayar bilimleri, bilişim teknolojileri veya dijital medya konusunda daha derinlemesine eğitim alabilecekler.

Bu ayrıntılı müfredata karşın İngiltere’de eğiticilerin eğitimi konusunda yeterli hazırlık yapılmadığından geçiş döneminde en büyük zorluğu öğretmenler yaşamakta. İki büyük sorun var. Birincisi, bilişim teknolojisi öğretmenlerin çoğunun ne programlama konusunda tecrübesi ne de berimsel kavramlar hakkında bilgisi var. Hükümetin öğretmenlerin eğitimi için ayırdığı fonlar tüm iş gücünün eğitimi için yetersiz, bir çok öğretmen çareyi web’deki ücretsiz eğitimlerde arıyor ve zaten fazla olan işlerine bir yenisini eklemek zorunda kalıyor. İkincisi, öğretmenlerin çoğunluğu kendilerini bu alanda yeterli görmüyor ve özgüven sorunu yaşıyor (http://www.computerworlduk.com/careers/coding-in-british-schools-review-of-first-term-3595505/). The Economist (2014), İngiltere’nin müfredat değişikliğinde fazla aceleci olduğunu belirtiyor. İsrail’in 1000, Bavyera’nın ise 700’den fazla öğretmenine gerekli eğitimleri verdikten sonra müfredat değişikliği için gerekli adımları attığına işaret ediyor .

Yanlış anlaşılmasın. Bilim, Teknoloji ve Sanayi Bakanlığı’nın önereceği müfredat değişikliğine karşı değilim. Excel’de tablo yapmayı, Power Point’te sunum yapmayı öğretirken yukarıdaki gibi bir müfredat hazırlamak gerçekten olağanüstü. Son yıllarda, kişisel bilgisayarlar yerini tablet ve akıllı telefonlara bırakırken kullanıcıyı salt tüketiciye indirgeme eğilimi vardı. Şimdi ise kullanılan teknolojilerin yeniden programlanabilirliği öne çıkaran bir yaklaşım öneriliyor. Bu nedenle, çocuklara yönelik programlama eğitimini destekliyorum. Ama amaç bilişim teknolojileri alanında ileri bir ülke olmaksa bu müfredat değişikliğinin yeterli olamayacağını, bilgisayar mühendisliği kontenjanlarının artırılmasındaki gibi kendimizi kandıracağımızı düşünüyorum. Yetişmiş iş gücü konusunda İngiltere’dekine benzer (ve belki daha ağır) sorunlar yaşanacaktır; bu aşılabilir. Ancak asıl sorun söz konusu müfredat değişikliğini yapan ülkelerin birkaç yıl değil, en az on yıl sonrasını dikkate alıyor olmalarıdır. Eğitim sistemi sürekli değişiyor ve nitelik giderek düşüyor… Daha büyük korkum ise bilişim teknolojileri eğitiminde yapılanın tekrarlanması, okulların belirli bir şirketin ürünlerini kullanmaya zorlanması.

Hükümetlerin ya da uluslararası şirketlerin programlama eğitimine bu kadar önem vermesinin en büyük nedenlerinden biri neredeyse yarım asırdır devam eden yeterli ve nitelikli yazılım eksikliğinden kaynaklı yazılım krizi (https://en.wikipedia.org/wiki/Software_crisis). Programcı sayısını artırmak da krizi aşmak için uygulanan stratejilerden biridir. Yalnız programcı sayısını artırmakla kalmayacaklar, yedek iş gücü ordusuyla bilişim çalışanları üzerindeki baskı daha da artacak, ücretler düşecek. Elbette ki bunun farkındayım.

Buna karşın desteğimin ise üç nedeni var. Birincisi berimsel okuryazarlık (literacy) önümüzdeki yıllarda yaygınlaşacak. Kaliteli bir eğitim verileceği konusunda şüphelerim olsa da hiç yoktan iyidir. İkincisi, günümüz dünyasında Lessig’in (2006) de vurguladığı gibi “Kod Kanundur”. Bunu kavramadan, gözetime ve sansüre karşı mücadele etmek, internette ifade özgürlüğünü savunmak giderek zorlaşıyor. Üçüncüsü ise programcılık, fazla mesai olarak karşınıza çıkmadığı veya ne yapacağınıza kendiniz karar verdiğiniz sürece eğlencelidir. Her yaştan insana tavsiye ederim.

Berimsel Okuryazarlık (Computational Literacy)

Programlamayla okuryazarlık arasında bir paralellik kurulması yeni değildir. Bilgisayarların programlanmaya başlandığı ilk günlerden beri vardır. 1960’larda birçok programcı, programlamayı okuryazarlık ile ilişkilendirmekte, hatta bir bilgisayar bilimcisi olan Alan Perlis okullardaki zorunlu kompozisyon dersi gibi programcılığın da lisans öğrenciler için zorunlu bir ders olması gerektiğini savunmaktadır. 1960’larda John Kemeny ve Thomas Kurtz’in Basic programlama dilini tasarlama amaçları programlamayı öğrenciler ve uzman olmayanlar için daha kolay hale getirmektir (Vee, 2013). Sovyet bilimci Ershov (1981) da programcılığı okur yazarlık ile karşılaştırmakta, daha 1980’lerde programcılığın ikinci okuryazarlık olacağını duyurmaktadır. Mozilla Vakfı’nın başkanı Mark Surman’a göre ise kodlama, okuma, yazma ve aritmetikten sonra dördüncü okuryazarlıktır (https://code.org/quotes).

Özgür yazılımdaki özgürlüğün, konuşma özgürlüğü (free speech) ile anlatılması da bilinçli bir tercihtir. Özgür Yazılım Hareketi, free software’deki free kelimesinin yazılımın ücretsiz olduğunu değil, özgür olduğunu anlatırken “free as in free speech not as in free beer” der. Kodlamanın gündelik dil gibi bir ifade biçimi olduğu savunulur. Buna göre, insan dili, programcının yazdığı kaynak kodu ve derleyicinin çevirdiği nesne kodu düşüncenin farklı biçimlerde temsilidir. Düşünce önce belirli bir dilde (Türkçe, İngilizce, Almanca vs) temsil edilir; bir programlama dili ile kaynak kodu haline getirilir ve yazılımsal araçlarla nesne koduna çevrilir. Her biçim özgündür ama bir süreklilik vardır. Bundan yola çıkarak yazılımın konuşma özgürlüğü gibi ABD Anayasası’nın 1. Ek Maddesi kapsamında değerlendirilmesi gerektiği öne sürülmektedir (http://www.2600.com/dvd/docs/2001/0126-speech.html).

Peki okuryazarlık nedir? Literacy, kelimesini Türkçe’ye okuryazarlık olarak çevrilmekte ve basitçe okuma ve yazma yetisini ifade etmektedir. Vee’ye (2013) göre bir çok çalışmada okuryazarlık, yanlış bir biçimde, genel olarak becerileri (görsel okuryazarlık, oyun okuryazarlığı, tasarım okuryazarlığı vb) anlatmak için kullanılmaktadır. Bu kullanımlara göre pekala araba okuryazarlığından da söz edilebilir.

Vee (2013) okuryazarlığı, sembolik ve altyapısal teknolojiyi (örneğin metinsel yazma sistemi gibi) yaratıcı, iletişimsel ve retoriksel amaçlar için kullanma becerisi olarak tanımlamaktadır. Okuryazarlık insanlara düşüncelerini metin olarak ifade etme (yazma) ve başkalarının metin olarak ifade ettiği düşünceleri yorumlama (okuma) imkanı sağlar. Bunun yanında, herhangi bir teknolojinin iletişim için kullanımını basitçe okuryazarlık kapsamında değerlendirmez. Okuryazarlıktan bahsedebilmek için birinci olarak söz konusu teknolojinin toplumun iletişim pratiklerinin merkezini veya altyapısını oluşturması gerekmektedir. Gündelik hayatta belirleyiciliği olmayan bir teknoloji okuryazarlık kapsamında değerlendirilemez. İkinci olarak da bu teknolojiyle elde edilen oluşturma ve yorumla yeteneğinin kolay ve toplumda yaygın olması gerekir. Bu iki durumun eş zamanlı olarak ortaya çıkması gerekmediği gibi herhangi bir öncelik sırası da yoktur, toplumdan topluma değişebilir. Örneğin İngiltere’de okuma ve yazma becerilerinin yaygınlaşması yazının merkezi, belirleyici ve düzenleyici bir rol üstlenmesinden yüzyıllar sonra gerçekleşmiştir. Amerika’da ise tam tersi yaşanmıştır. Okuma ve yazma becerilerinin yaygınlaşması, okuryazarlığın belirleyiciliğinin ve düzenleyiciliğinin önünü açmıştır. Vee (2013), okuryazarlığın basitçe teknik bir süreç olmadığının, toplumsal ve ideolojik etkenlerle biçimlendiğinin de altını çizer.

Programlama da insanların sembollerden oluşan bir teknolojiyle düşünceleri temsil etme ya da yorumlama becerisidir. Sonraki bölümde tartışacağım gibi programlamanın yarattığı kodun gündelik hayattaki belirleyiciliği ve düzenleyiciliği giderek artmaktadır. Ancak program kodunu okuma ve yazma becerisinin yaygınlığını değerlendirdiğimizde okuryazarlıktan söz etmek için henüz erkendir. Programlama yalnız bilgisayar bilimcilerin ve ilgili mesleklerin işi olmayıp diğer meslekler (gazetecilik, tıp, biyoloji vb.) arasında yaygınlaştığında okuryazarlıktan söz edilebilecektir (age).

Vee (2013), bilgisayar okuryazarlığı yerine berimsel okuryazarlığı tercih etmektedir. Berim (compute), bilgisayarın yaptığı iştir. Ama bilgisayar teknolojisi hızla değişmekte, geleneksel bilgisayarlar yerini daha farklı teknolojileri bırakmaktadır. Bu gelişme, yazı teknolojisindeki gelişmelere benzetilebilir, okuma yazma sabit kalsa da kullanılan teknoloji (papirüs, kağıt, matbaa) değişmektedir. Dolayısıyla Vee (2013), somut bir teknolojiye bağlanmak yerine soyut berimsel okuyazarlık kavramını tercih etmektedir. Berimsel okuryazarlık, berimsel düşünmeyi ve soyutlamayı gerektirmektedir. Berimsel düşünme ile bütün parçalara ayrılmakta ve programlama dili aracılığı ile bilgisayarın anlayabileceği şekilde yeniden bütünleştirilmektedir. Programlama dillerinin tarihsel gelişimine bakıldığında zaman içinde daha kullanıcı dostu, ileri düzeyde bilgi ve yetenek gerektirmeyen dillerin geliştirildiği görülür. Hatta bu durumu, programlamanın ileri bir tarihte gereksizleşeceğinin, programlamada gündelik dile yakın dillerin kullanılacağının ve böylece programlama becerisine gerek kalmayacağının göstergesi olarak yorumlayanlar vardır. Vee (2013) bu basitleştirmenin tam tersi bir sürece yol açtığını belirtmektedir; programlama dilleri basitleştikçe daha farklı alanlara yayılmakta ve yaygınlaşmaktadır. Ayrıca hükümetlerin yeni eğitim politikaları da geçmiş yıllardaki okuryazarlık kampanyalarını anımsatmaktadır. Dolayısıyla son yıllardaki gelişmeleri ve girişimleri dikkate alarak oluşum halindeki bir okuryazarlıktan söz edebiliriz.

Kod Kanundur

Lessig’e (2006) göre insanların davranışları, yasa, norm, piyasa ve mimari tarafından düzenlenmekte ve sınırlanmaktadır. Lessig bu düzenleyicileri açıklamak için sigara içme örneğini verir. Nerelerde sigara içilip içilemeyeceği yasalarla düzenlenmiştir. Belirli bir yaşın altında olanlara sigara satılması yasaktır. Özel bir araçta sigara içmeniz yasalarla engellenmemiştir ama normlar diğer yolculardan izin almamızı gerektirir. Piyasa da bir düzenleyicidir. Sigara fiyatlarının artması, ucuza kaçak sigara bulabilme ihtimali, farklı kalite ve fiyatta sigaraların satılması yasa ve normlar gibi düzenleyici ve sınırlayıcı bir etkiye sahiptir. Sigara örneğindeki mimari ise sigaranın nasıl tasarlandığı ve yapıldığı ile ilgilidir. Dumansız bir sigara kullanıyorsanız sigara içebileceğiniz yerler daha fazladır. Ağır aromalı sigaralar, sigaradan rahatsız olanların sayısını artırabileceğinden sigara içmenizi sınırlayabilir. Ya da kullandığınız sigaranın fazla nikotinli olması içeceğiniz sigaranın sayısını etkileyebilir.

Bu düzenleyicilerden her birinin farklı etkisi ve yaptırımı vardır. Yasaklanmış bir ortamda sigara içerseniz ceza ödemek zorunda kalırsınız. Normlara aykırı davranırsanız ayıplanırsınız. Fazla nikotinli bir sigaradan çok içerseniz sağlığınıza zarar verirsiniz. Sigara fiyatının artması cebinizden çıkan parayı artırır. Ayrıca tüm bu düzenleyiciler ayrık çalışmazlar, birbirlerini de etkilerler. Mimari bazen normları ve yasaları güçlendirebilir bazen de zayıflatabilir. Piyasa çıkarlarından kaynaklı düzenlemeler farklı mimarilere neden olabilir.

Bu düzenleyicilerin her birinin ayırt edici nitelikleri ve çalışma prensipleri vardır. Mimarinin düzenleyiciliğinin en önemli niteliği ise kesinliği ve uygulandığı zaman aşılmasının zorluğudur. Aşağıda Lessig’in (2006) mimarinin insan davranışları üzerindeki düzenleyici etkisini göstermek için verdiği örneklerden bazıları yer almaktadır:

  • Fransız Devrimi’nde devrimcilerin Paris’in dar ve dolambaçlı sokaklarına kurdukları barikatlar onlara önemli bir üstünlük sağlamış ve şehrin kontrolünü ele geçirmelerini kolaylaştırmıştır. Bunun fakında olan III. Napolyon Paris’i geniş bulvarlarla yeniden inşa eder.
  • Bazı Avrupa ülkelerinde yürütme ve yasamanın baskısına maruz kalmamak için anayasa mahkemeleri özellikle başkentten uzakta inşa edilmiştir.
  • Amerika’daki bir otelin müşterileri asansörlerin yavaşlığından şikayetçidir. Otel asansörleri hızlandırmaz ama asansör kapısının yanına yerleştirdiği aynalardan sonra şikayetler sona erer.
  • Okulların veya parkların yanına yapılan kasisler sürücüleri yavaşlamaya zorlar.
  • Robert Moses’un Long Island’da inşa ettiği köprüler otobüslerin geçişine uygun değildir. Böylece daha çok toplu taşımayı kullanmak zorunda olan siyahların halk plajlarına gelişleri engellenmiş olur.
  • Bir Amerikan havayolu şirketinin yolcuları bagajlarının geç gelmesine öfkelenmektedir. Üstelik bekledikleri süre diğer yolcularınkinden fazla değildir. Şirket, uçakların iniş noktasını bagajlardan daha uzağa taşıyarak zaman kazanır. Böylece zaman kazanılır, yolcular bagaj için beklemek zorunda kalmazlar ve şikayetler biter.

Önceki bölümde de belirttiğim gibi başta internet olmak üzere dijital teknolojiler gündelik yaşamın önemli bir parçası haline gelmiştir ve gündelik yaşamdaki yaygınlıkları her geçen gün artmaktadır. Dolayısıyla internetin ilk günlerinde olduğu gibi hükümetlerin etkisinden muaf bir internet artık yoktur. Hükümetler insanların, özellikle kendi vatandaşlarının, internet üzerindeki davranışlarını düzenlemek istemektedir. Bu düzenleme arzusu kendini özellikle üç alandaki çatışmalarda kendini göstermektedir: Fikri mülkiyet, mahremiyet ve ifade özgürlüğü.

İnterneti düzenlemek isteyenlerin internetteki kişinin kim olduğunu, nerede olduğunu ve ne yaptığını bilmeleri gerekir. Lessig (2006), internetin ilk günlerdeki mimarisinin buna yönelik düzenlenmediğini ve farklı değerler içerdiğini belirtirken bu mimarinin mutlak olmadığının özellikle altını çizmektedir. Lessig’in kısaca kod olarak adlandırdığı internetin yazılımdan ve donanımdan oluşan mimarisi tarihin en düzenlenebilir alanlarını yaratmaktadır. Ayrıca Lessig (2006) internetin ticarileşmesinin hükümetlerin gücünü artıran bir gelişme olduğunu belirtmektedir. Böylece hükümetler maddi çıkarı olan şirketleri belirli düzenlemeleri yapmaya zorlayabilmektedir; doğrudan kodu değil, kodlayanları kontrol etmektedirler. Doğrudan internete ya da internete erişimde kullanılan cihazlara eklenen kodlar hükümetlerin interneti düzenlemek için sordukları sorulara yanıt verebilmektedir: kim, nerede, ne yapıyor?

İnternette düzenlemenin kendisi tamamen iyi ya da kötüdür denilemez. Ama günümüzde şirketler ya doğrudan kendi ya da hükümetlerin gereksinimleri doğrultusunda vatandaşları etkileyen bazı düzenlemeler yapmakta ve bu düzenlemeleri de ilgili teknolojinin doğası gibi sunmaktadır. Yasalar neyin yapılıp neyin yapılamayacağını çoğu zaman doğrudan söyler; bazı konular özellikle belirsiz ve yoruma açıktır. Vatandaşlar yasayla yapılan bir düzenlemenin bilgisine sahip olabilir. Aynı şeffaflık kodla yapılan düzenlemelerde de olmalıdır. İnsanlar kodla yapılan bir düzenlemeyi göremiyor, tartışamıyor ve eleştiremiyorsa sorun vardır. Şöyle basit bir örnek vereyim, bir kurum işe alacağı kişileri kura ile belirliyor. Adaylar karşılarındaki kocaman ekrandan kura sonucunu izliyor. Söz konusu kura ve bilgisayar olunca herkes susuyor. Ama kura koduna erişimimiz yoksa, kodun nasıl çalıştığını bilmiyorsak kodun gerçekten rastgele çalışıp çalışmadığını da bilemeyiz. Bu nedenle, hükümetin ya da kamu kurumlarının kodla yaptığı tüm düzenlemeleri vatandaşlarıyla paylaşması gerekmektedir. Yazılım geliştirenler, sizin yerinize bazı kararlar vermiş ve fikri mülkiyet, mahremiyet ve ifade özgürlüğü bağlamlarında hak ve özgürlükleriniz kısıtlanmış ise bunu bilmek her ortamda, herkesin hakkıdır. Bilişim ve iletişim teknolojilerini yalnız kullanmayı değil, onların nasıl çalıştığını ve çalıştırılabileceğini bilen, berimsel okuryazarlığa sahip insanların bu düzenleme sürecine daha aktif katılabileceklerini düşünüyorum. Dolayısıyla verilecek eğitim, sadece herhangi bir programlama dilini öğretmekle kalmamalı, bilişim teknolojilerinin hayatı nasıl düzenlediğini ve düzenleyebileceğini içermeli, bilişim teknolojilerin kullanımından öte onların çalışma ilkelerini göstermeli ve öğrencilerin yaratıcılığını öne çıkarmalıdır. Böylece öğrenciler, haklarını sınırlayan ya da sınırlayabilecek kodu daha rahat fark edebileceklerdir.

Bilgisayarlar, tablet, akılı telefon vb teknolojilerin ötesinde gündelik yaşamda kullanılan cihazlarda yaygınlaşmaya başladığında berimsel okuryazarlık daha önemli olacak.

Programlama Eğlencelidir

Para için değil, sadece eğlenmek için yazılım geliştiren çok sayıda programcı vardır. Programlama satranç ya da bulmaca çözmek gibi eğlenceli bir uğraştır. Zeka oyunlarından hoşlanan her yaştan insana tavsiye ederim.

Hiç bilmeyenlere programcılığın temellerini anlatan çok sayıda web ve tablet uygulaması var. Bu uygulamalar içinde en çok beğendiğim ve önerebileceğim code.org sitesindeki uygulamalar ve MIT’in (Massachusetts Institute of Technology) geliştirdiği Scratch (https://scratch.mit.edu/) adlı görsel programlama dili. İstediğinizi tercih edebilirsiniz ama önerim, hepsini tamamlamasanız da, önce code.org’taki dersleri takip etmeniz, daha sonra da Scratch ile ufak uygulamalar yazmanız.

code.org
2013 yılının ocak ayında Hadi ve Ali Partovi tarafından kurulan code.org herkesin kodlamayı öğrenebileceği iddiasıyla bilgisayar programlamayı herkes için erişilebilir yapmaya çalışıyor. code.org, kurulduktan bir ay sonra Mark Zuckerberg, Bill Gates, Jack Dorsey gibi bilişim dünyasının önemli isimlerinin yer aldığı bir video hazırladı. Videoda yer alan kişiler kodlamanın önemini vurguluyorlardı. Video internette hızla yayıldı. Video, bilişim şirketlerinin ve iş adamlarının da ilgisini çekti. İki hafta içinde yaklaşık 10 milyon dolar toplandı ve bu destek daha sonra da devam etti. code.org sitesinin bağışçıları arasında Google, Microsoft ve Facebook da var (https://code.org/about/donors).

code.org’un hedef kitlesi ilk başta sadece ABD’liler olsa da site kısa zamanda uluslararası bir nitelik kazandı. Şu anda 45’ten fazla dili destekliyor ve sitedeki eğitim materyali 180’den fazla ülkede kullanılıyor. Her okuldaki her öğrencinin bilgisayar bilimlerini öğrenmek için fırsatı olması gerektiğini savunan code.org, programlamayı merak eden ama hayatı boyunca kod yazmamış ve bundan çekinen her yaştan insana eğlenceli gelebilecek dersler sunuyor. Ayrıca daha çok beyaz erkeklerin işi olarak görülen bilgisayar biliminde çeşitliliği artırmayı da hedefliyor. code.org’a kayıtlı kullanıcıların %43’ü kız, %37’si siyah ya da İspanyol kökenli.

Kodlama nedir öğrenmek ve biraz eğlenmek istiyorsanız işe Starwars (https://code.org/starwars) ya da Minecraft (https://code.org/mc) ile başlayabilirsiniz. Buradaki alıştırmalar hoşunuza giderse yeni başlayanlar için dört farklı ders var (https://studio.code.org/). Birinci ders dört yaş üstü için tasarlanmış ve okuma becerisi gerektirmiyor. Dersin ilerleyen bölümlerinde programlamadaki kavramlar (bir değişkene değer atama, atanan değeri kullanma, döngü) öğretiliyor. İkinci ders, altı yaş ve üstü, okuma becerisi olanlar için. Bu derste, döngü konusu daha detaylı işleniyor, koşullama (if) kavramı öğretiliyor. Öğrenciler, örnek programlardaki hataları bulmaya çalışarak hata ayıklama alıştırmaları yapıyorlar. Üçüncü ders, ikinci dersi tamamlayan sekiz yaş üstü öğrenciler için. Bu bölümde öğrenciler önceki bölümlerde öğrendiklerini tekrar ediyor ve fonksiyon kavramını öğreniyorlar. Üçüncü dersi tamamlayanlar için hazırlanan dördüncü ders daha karmaşık alıştırmalar sunuyor.

Derslerdeki alıştırmalar aşağıdaki gibi, özellikle çocuklar için, son derece eğlenceli:

code.org

Ayrıca çözümün, javascript adlı programlama dilindeki karşılığını da görebiliyorsunuz:

for (var count = 0; count < 5; count++) {

moveForward();

}

Bu derslerde, çeşitli alıştırmalarla yukarıda belirttiğim gibi programlamadaki temel kavramları öğreniyorsunuz. Bu kavramları ve programlama mantığını tanıdıktan sonra Scratch’ta daha kolay uygulama geliştirebilirsiniz.

Scratch

MIT’nin 2000’li yılların başında 8-16 yaş arasındaki öğrenciler için tasarladığı görsel bir programlama dili olan Scratch’ın ilk sürümleri bilgisayara kurulmaktaydı. Şimdiki sürümünü ise web üzerinden, bilgisayarınıza herhangi bir yazılım kurmadan https://scratch.mit.edu/ adresinden kullanabilirsiniz. Scratch, ABD’de çeşitli okullarda kullanılıyor. Hatta “Her öğrenciye bir dizüstü” projesi kapsamında dağıtılan bilgisayarlar, Scratch kurulu bir halde dağıtılmış.

İnsanlar Scratch ile birbirinden farklı yazılımlar geliştirebiliyor: Hareketli masallar, oyunlar, tebrik kartları, bilimsel projeler, müzik projeleri, simülasyonlar vb. Grafik arayüzü oldukça kullanıcı dostu. Ana karakteri (varsayılan bir kedi) başka bir karakterle (dinozor, hayalet, balerin, basketbol topu vb yüzlerce karakter) değiştirebilir, farklı arka planlar ekleyebilirsiniz. Program kodunuzu yazdıktan sonra bu kodu saklama ve diğer kullanıcılarla paylaşma şansına da sahipsiniz. (https://download.scratch.mit.edu/scratch2download/sa/Getting-Started-Guide-Scratch2.pdf). Ayrıca başkasının paylaştığı kodu inceleyebilir ve onu iyileştirebilirsiniz. Dolayısıyla insanlar daha programlamaya adım atar atmaz kendini bir özgür yazılım topluluğunun içinde buluyor.

Program bileşenleri, code.org’ta olduğu gibi, Lego’lara benzer bir biçimde tasarlanmış:

scratch

Programcılığa yeni başlayanlar için en sinir bozucu durumlardan olan söz dizimi (syntax) hataları, kodların lego parçaları gibi birbirine eklemlenmesi ile ortadan kalkmış; uymayan parçaları birleştiremiyorsunuz. Hata mesajlarıyla uğraşmıyor, sadece yapmak istediğiniz işe odaklanıyorsunuz. Scratch zengin ve kolayca anlaşılan bir komut setine sahip. Bugün yazılım geliştirmede kullanılan bir çok programlama dili (Java, C, C++, C#, php, python, ruby) yapı olarak birbirine benzer. Bu dillerden birini biliyorsanız ikinciyi çok hızlı kavrayabilirsiniz. Scratch öğrenmenin de böyle bir faydası olacak. Günümüzde programlama eğitiminde yapılan en büyük hatalardan biri öğrenciye temel kavramları vermeden doğrudan dillerin söz diziminin ezberletilmesi oluyor. Bu nedenle birçok üniversite öğrencisi daha işin başında programlamadan uzaklaşıyor.

Scratch ile yaratıcılığınızı ortaya koyabilir, hoşça vakit geçirebilirsiniz. Yola devam etmek isterseniz, python dilini (https://www.python.org/) tercih edebilirsiniz.

İyi eğlenceler.



Veri Bilimi Bülteni — 32


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. Bu haftaki özete bir makale ile başlayalım. Makale dökümanların özetlerinin çıkarılması başlığı altında yapılan bir çalışmadan Devamını Oku […]

24 March 2016

Linux’ta Bu Hafta - 3


Red Hat 2 milyar dolarlık açık kaynak şirketi oldu:

4 yıl önce 1 milyar dolarlık gelire sahip olan Red Hat*, bugün 2 milyar dolarlık gelire sahip. Diğer şirketlerin risk sermayesi üzerine oynamasına karşın Red Hat gelirini eski moda yoldan elde ediyor. Dördüncü çeyrekteki toplam geliri 544 milyon dolar olan Red Hat, bir önceki yılın aynı dönemine kıyasla %17 büyüme gösterdi. Bu gelirin 480 milyon doları abonelik gelirlerinden oluştu, abonelik gelirleri bir önceki yılın aynı dönemine kıyasla %18 büyüme gösterdi. Dördüncü çeyrekteki gelirin %88‘ini de abone gelirleri oluşturdu.

image

Şirketin CEO'su Jim Whitehurst Red Hat'ın abonelik gelirlerinin çoğunu Red Hat'ın amiral gemisi olan Red Hat Enterprise Linux'tan elde ettiğini söyledi. Kasım 2015'te Microsoft Azure'da RHEL'in desteklenmeye başlamasıyla birlikte bulut işletim sistemleri arasında yıldızı epey parladı.

2016 finansal yılında Red Hat 2.380 milyar dolar ile 2.420 milyar dolar arasında gelir elde etmeyi öngörüyor. Bu oranlara bakılırsa Red Hat kolayca ilk 3 milyar dolarlık açık kaynak şirketi olacak.

Kaynak: http://www.zdnet.com/article/red-hat-becomes-first-2b-open-source-company/

GNOME 3.20 yayınlandı:

6 ayın ardından yaklaşık 870 kişinin yaptığı 28,933 değişiklik ile GNOME'un yeni sürümü yayınlandı. GNOME.Asia takımının bu yıl Delhi, Hindistan'da gerçekleştiriceği etkinliğe atfen sürüme “Delhi” adı verildi. 3.20'de göze çarpan değişiklikler şöyle:

  • İşletim sistemi güncellemeleri artık Yazılım uygulamasından güncellenebiliyor
  • Wayland desteği iyileşti, kinetik kaydırma, sürükle-bırak ve orta-tuş yapıştırma özelliği geldi
  • Klavye kısayolları ve el hareketleri artık yeni “kısayollar” bölmesinden öğrenilebiliyor
  • Uygulama başı konum erişimiyle birlikte gizlilik denetimi iyileşt
  • Doğrudan kabuktan ortam denetimlerine erişim kolaylaştırıldı
  • Dosyalar'da arama yapma iyileşti
  • Builder (masaüstü uygulaması inşa ve dağıtımı için yeni çapraz-dağıtım iskeleti) artık XDG uygulamaları inşa edebiliyor.

Sürüm notları: https://help.gnome.org/misc/release-notes/3.20/

KDE Plasma 5.6 yayınlandı:

KDE'nin masaüstü kullanıcı arayüzü olan Plasma yeni sürümüyle karşımızda, bu sürümde görev yöneticisi, KRunner, etkinlikler ve Wayland desteğinde iyileştirmeler yapılmış. Daha saf görünüm ve his yaratıldı. Varsayılan Plasma teması daha fazla kişiselleştirilmiş deneyim için artık uygulama renk şemalarını takip ediyor. 'Breeze Light’ ve 'Breeze Dark’ teması eskileri yad etmek isteyenler için eklendi. Ek olarak ipucu animasyonları artık daha ustaca çalışıyor.

Görev yöneticisi artık dosya indirme ve kopyalama gibi görevlerin durumunu gösterebilecek şekilde geliştirildi. Böylelikle çoklu görevler artık daha kolay.

Bir müzik ve video oynatıcısının üstüne geldiğinizde artık albüm kapağını ve ortam denetçisi karşınıza çıkıyor. Böylelikle kullandığınız uygulamadan çıkmanıza gerek kalmıyor. Ayrıca KDE'nin ortam denetçisi de birden fazla oynatıcıyla aynı anda çalışabilecek şekilde geliştirildi.

Görev yöneticisinden uygulama başlatmak için çeşitli iyileştirmeler yapıldı. Bunlardan biri Firefox simgesine sağ tıkladığınızda “Yeni pencere aç”, “Yeni gizli pencere aç” gibi kısayollar ile Steam'de “Mağaza”, “Topluluk”, “Kütüphane” gibi belirli yerlere gidebilmek için kısayollar eklendi.

Wayland desteği iyileştirildi. Wayland istemcilerinde artık pencere dekorasyonları destekleniyor. Daha güzel ve bütün kullanıcı deneyimi yaşatıyor. Girdi, farklı klavye düzenleri ve düzen değiştirme alanlarında iyileştirme yapıldı.

Plymouth ve Grub için Breeze teması çıktı. Şuan için deneme sürümünde olan bu temalar bilgisayarı açtığınız andan itibaren bütün bir sistem deneyimi yaşamanız için hazırlandı.

Değişiklik listesi: https://www.kde.org/announcements/plasma-5.5.5-5.6.0-changelog.php
Kaynak: https://dot.kde.org/2016/03/22/kde-plasma-56-release

GuixSD'ye GNOME geliyor:
Öncelikle GuixSD'den kısaca bahsetmek gerek: “GNU Guix tabanlı bir Linux dağıtımıdır. Linux-libre çekirdeğini kullanır ve geliştirilme aşamasındaki GNU Hurd desteğiyle birlikte gelir. 3 Şubat 2015'te Özgür Yazılım Vakfı'nın özgür Linux dağıtımları listesine eklenmiştir
Bir çok kullanıcının beklediği özellik yakında çıkacak olan Guix ve GuixSD sürümünde gelecek.

image

GuixSD systemd yerine GNU Shepherd isimli bir yükleyici sistem kullanıyor, GNOME’un systemd’ye bağımlı olması sebebiyle GNU Shepherd’a uyarlanması gerekiyor. Henüz günlük kullanıma uygun olmayan GuixSD’yi aşağıdaki adresten indirip, deneyebilirsiniz.

Kaynak: https://savannah.gnu.org/forum/forum.php?forum_id=8491
İnternet sitesi: https://www.gnu.org/software/guix/

Özgür Yazılım ve Linux Günleri 2016'nın detayları belli oldu:
2002'den beri her yıl ilkbaharda düzenlenen, alanının en büyük ve köklü etkinliği olan Özgür Yazılım ve Linux Günleri bu yıl 26-27 Mart 2016 tarihlerinde, Santralİstanbul'da yapılacak. Etkinliği, Linux Kullanıcıları Derneği ve İstanbul Bilgi Üniversitesi beraber düzenliyor.

Oturumların 3 paralel salonda gerçekleşeceği etkinlik boyunca 50'ye yakın konuşmacı, 40'tan fazla konu başlığında bilgi ve deneyimlerini izleyicilere aktaracak. Seminerler, kısa oturumlar ve hızlı konuşma oturumlarının yanı sıra, çeşitli çalışma toplantıları da etkinlik programında yer alıyor.

image

Özgür Yazılım A.Ş., BilgiO, Kartaca ve Logsign sponsorluğundaki Özgür Yazılım ve Linux Günleri 2016, özgür yazılımla ilgilenen herkesin katılımına açık ve ücretsiz. Etkinlikle ilgili tüm detaylara aşağıdaki internet sitesinden ulaşabilirsiniz.

Kaynak: http://liste.inet-tr.org.tr/pipermail/edu-net/2016-March.txt
İnternet sitesi: http://www.ozguryazilimgunleri.org.tr

Animasyon uygulaması Toonz açık kaynaklı oluyor:
Digital Video, TOONZ'un ve DWANGO'nun yapımcıları ve bir Japon yayımcı anlaşma imzalayarak Digital Video tarafından geliştirilen Toonz animasyon uygulamasını Dwango'ya dahil ettiler. Digital Video'nun anlaşmayı Toonz (OpenToonz) tabanlı bir açık kaynak platformun Dwango tarafından yayınlaması ve geliştirmesi karşılığında yaptığı açıklandı.

Yazılımın kaynak kodlarının 26 Mart'ta yayınlanması öngürülüyor.

Kaynak: http://www.toonzpremium.com/#!news/aawrs



23 March 2016

Mozilla Çalışmalarım 1



Herkese merhaba, bir miktar harikalı haber ile geldim :)

Bir önceki yazımda Mozilla'nın bir ürünü olan Balrog üzerinde çalıştığımdan bahsetmiştim.

Balrog, "backend server" ve "admin ui" şeklinde 2 bölümden oluşuyor. Admin-ui kısmı Github'da Balrog projesinin bir alt modülü şeklinde duruyor.

Ben de birkaç gün önce arayüz ile ilgili olan hata kaydıyla ilgili çalıştım. Kısaca istenen , Balrog'a eklenen kuralların  ID bilgisinin de arayüzde görünmesiydi.




İstediklerini yapıp Github'dan PR yolladım. Birkaç dakika içinde PR'in kabul edilmesinin yanında balrog-ui deposuna yazma hakkı da verildi. Arkasından da Balrog proje geliştiricisi tarafından onaylanıp, mozillian oldum.

Bu da halaya davet fotoğrafı ^-^



Mozilla tarafında işlerin benim açımdan hızlı ilerlemesinin en büyük kaynağının, öncesinde LibreOffice ve Linux Kernel gibi uluslararası projelere katkıda bulunmuş olmam olduğunu düşünüyorum.

Daha güzel haberler vermek üzere, hoş kalın :)



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.com – 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Ş

~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… Günlüğüm ilk ortaya çıktı.



20 March 2016

Balrog Nedir? Nasıl Çalıştırılır?


Balrog, Firefox'un ve diğer mozilla ürünlerinin kullandığı uygulama güncelleme servisi(AUS).  Veritabanı modeli "Rules(Kurallar)"  ve "Release(Sürüm)"  şeklinde 2 grupta toplanıyor. Bu 2 grubun da alabildiği tipler ve özellikler var. Burada çok güzel bahsedilmiş. Ben makinama nasıl kurup ayağa kaldırdım kısaca ondan bahsedeceğim.

Geliştiriciler github'ı aktif kullanıyor. Proje "backend server" ve "admin ui" olmak üzere 2 kısıma ayrılmış şekilde bulunuyor. Depoyu yerelimize çektikten sonra (" $ git clone https://github.com/mozilla/balrog")  ui ile ilgileneceksek alt modülü başlatıp ui kaynak kodunu da projeye eklemeliyiz.

$ git submodule init
$ git submodule update

Ayrıca ui için gerekli modülleri de indirmeliyiz.

$ npm install
$ npm install -g lineman

Son olarak Balrog'u ayağa kaldırmak için "docker-compose up" komutunu vermeliyiz. Bu komutla gerekli olan 3 conteiner (balrog_balrogdb_1, balrog_balrogadmin_1 vebalrog_balrogpub_1) oluşturulup başlatılıyor. uwsgi, dizinindeki run.py çalışırken kontrol çıktısının

 "balrogpub_1   | Python auto-reloader enabled

olduğunu görebildiysek "http://127.0.0.1:8080" den balrog admin sayfasını görebiliriz. Görüşmek üzere.




18 March 2016

Linux'ta Bu Hafta - 2


Yeni güvenli ve dağıtık ses, görüntü ve mesaj iletme platformu Ring Beta yayınlandı:
GPL sürüm 3 lisansı altında geliştirilen ve Skype alternatifi olan Ring Alpha mertebesinden Beta mertebesine yükseldi. Papineau sürümü bir çok yenilik ve iyileştirme ile birlikte geliyor. Değişiklikler şöyle: yüzlerce hata giderildi, video grup aramaları, sesli görüşmenin dışında mesajlaşabilme özelliği geldi. Video kalitesi azami düzeye çıkarıldı. 

image

Kullanıcıların geribildirimleriyle gelişimini sürdüren yazılım ayrıca geliştiriciler ve öğrenciler tarafından ilgi gördü. Örneğin Quebec Üniversitesi'nde yapılan bir araştırma “arama dışında mesajlaşmayı” mümkün kıldı.

İngilizce, Fransızca, Almanca, İspanyolca, Portekizce, Rusça, Ukraynaca, Arapça ve kısmi olarak Litvanyaca ve Esperanto dillerini destekleyen yazılım yeni çevirmenlerini bekliyor.

Kaynak: https://blog.savoirfairelinux.com/en/2016/ring-beta/
İnternet sitesi: https://ring.cx

Kernel 4.5 yayınlandı:
Sayısız teknik iyileştirmenin yanında son kullanıcıyı özellikle ilgilendiren bir konuda büyük yenilik yaşandı. AMDGPU sürücüsü artık yüksek performans sağlayan deneysel PowerPlay desteği sunuyor. BTRFS'in boş alan ölçeklenebilirliğinde iyileştirmeler yapıldı. Hafıza denetçisindeki soket hafızanın denetimi daha uygun hale getirildi.

Sürücü ve mimari, çekirdek, dosya sistemleri, hafıza yönetimi, blok katman, kriptografi, güvenlik, takip ve perf aracı, sanallaştırma, ağ gibi alanlarda çeşitli geliştirmeler yapıldı.

Kaynak: http://kernelnewbies.org/Linux_4.5

Qt 5.6 yayınlandı:

4.8 sürümünün ardından uzun dönem destek görecek 5.6 sürümü yayınlandı. C++11 uyumlu derleyici olmadan çalışabilen son sürümdür. Ayrıca 5.7 sürümüyle birlikte bazı eski platformlara destek bitecek.

Qt 5.5 Windows 10 üzerinde kısmi desteğe sahipti, yeni sürümle birlikte tam desteğe kavuştu, artık hem eski win32 hem de WinRT APIleri destekleniyor. Qt Uygulamaları masaüstü bilgisayarlarda, tabletlerde, telefonlarda ve elbette Windows Mağaza üzerinden dağıtılan uygulamalarda çalışabiliyor. Visual Studio 2015 derleyicisi için de ikili (binary) dosyaları sağlanıyor. Gömülü Windows cihazları için Windows Embedded Compact 2013 desteği eklendi.

Qt 5.6'ta yapılan bir çok değişikliğe ek olarak Qt artık tüm platformlardaki yüksek çözünürlüklü ekranlarda çalışabiliyor. Önceden bu destek sadece Mac OS X'e veriliyordu. Bu özellik aslen standart çözünürlükteki ekranlar için yazılmış uygulamalarında otomatik olarak yüksek çözünürlüğe ölçeklenmesini sağlıyor.

Kaynak: http://blog.qt.io/blog/2016/03/16/qt-5-6-released/

Raspberry Pi için özelleştirilmiş Western Digital sabit disk satışta:

Geçtiğimiz günlerde Raspberry Pi 3 piyasaya çıkmıştı. Gittikçe daha popüler hale gelen Raspberry Pi büyük firmalarında ilgisini çekmeye başladı. Bunlardan biri Microsoft'un Windows 10 IoT sürümünü Raspberry Pi'ye uyarlaması oldu.

Kullanıcıların daha fazla alana sahip olmaları ve konvansiyonel diski Raspberry Pi üzerinde çalıştırabilmeleri için WD Blue üzerinde şekillendirilen PiDrive 46$‘dan satışa sunuldu. WD tarafından yapılan açıklamada “sabit diskin Raspberry Pi üzerinde yarattığı elektrik yükü azaltılırken aynı anda en yüksek USB veri transfer oranına ulaşmak için performans iyileştirmesi” için uğraştıkları belirtildi. 

image

314GB alana sahip olan disk tanıtım amaçlı 31.42$'a satılıyor, daha fazla alana ihtiyaç duyanlar bir önceki ürün olan 1TB PiDrive kitini 79.99$'dan satın alabiliyorlar.

Kaynak: http://arstechnica.com/gadgets/2016/03/western-digital-makes-a-46-314gb-hard-drive-just-for-the-raspberry-pi/

Krita 3.0 Pre-alpha 3 yayınlandı:

Kökeni 1998 yılına dayanan Krita, karikatürcüler, çizerler ve konsept sanatçıları için en iyi çizim, boyama (painting) uygulaması olmayı hedefliyor. GPL sürüm 2 lisansı altında geliştirilen yazılım geçtiğimiz günlerde 3.0 öncesi 3. Alpha sürümünü yayınladı.

Bu sürümde harcanan çabanın çoğu Katman bölümüne gitti. Kullanımı kolaylaştırmak için daha kısa ve temiz görünüm, katmanlara renk atanabilmesi, renklere göre katmanları filtrelebilme, gruplama, taşıma ve çoklu katman çalışması için birçok yeni kısayol, Ctrl+Alt+G ile hızlıca katman grubunun bozulması gibi yenilikler yapıldı.

Grid'leri kullanma yetisi iyileştirildi, Grid Araçı kaldırıldı ve tüm grid ve kılavuz ayarlarını içeren yeni bir grid işleyicisi oluşturuldu. Böylelikle grid'leriniz ile çalışmak ve düzenlemek için daha kolay ve akılcı bir kullanım sağlandı. 2 yeni dışa aktarma filtresi eklendi. Kaynaştırma kipi, taşıma aracı, kırpma, düzenleme aracı, düz çizgi iyileştirildi.

Listeye sığdıramadığımız bir çok geliştirme var. Dilerseniz Krita'yı deneyebilir veya değişiklik listesine kaynaktan ulaşabilirsiniz.

Kaynak: https://krita.org/item/3-0-pre-alpha-3-is-out/

GRUB 2.02 Beta 3 yayınlandı:

Bilgisayar açılışında işletim sistemlerini yüklemeye yarayan özgür önyükleme yazılımı GRUB'un yeni beta sürümünde dosya sistemleri ve disk desteği, terminal ve video desteği, yükleme protokolü, ağ desteği, Coreboot desteği, platform desteği, güvenlik, performans, komut, kurma ve diğer araçlar, inşa sistemi iyileştirildi.

Kaynak: http://git.savannah.gnu.org/cgit/grub.git/tree/NEWS

Pyra'nın erken prototipi hakkında video yayınlandı:

Mevcut özgür ve açık kaynak yazılımlardan faydalanabilen bir taşınabilir kişisel bilgisayar ve el oyun konsolu olarak tasarlanan OpenPandora'nın devamı niteliğindeki Pyra'nın çalışan, erken bir prototipi tanıtıldı. Videoyu aşağıdan izleyebilirsiniz.



16 March 2016

Kaynak Koddan Firefox Kurulumu ve Firefox İçin Yama Göndermek


Özgür yazılım dünyasının 3 büyük projesinden(Linux Kernel, LibreOffice, Firefox) birisi de Firefox. Herkesin de bildiği ve kullandığı gibi Mozilla Vakfı tarafından geliştirilen özgür bir ağ tarayıcısı.
Geçtiğimiz cuma, biraz da Firefox ile ilgileneyim diyip kolları sıvadım :) Bu birkaç günde neler öğrendiğimi sizlerle paylaşmak istedim.

Büyük bir projeye katkı vermeden önce kaynak kodundan 1 defa derleyip o halini kullanmak, o projeye katkı vermeden önce yapılması mantıklı bir iş. Deponun geliştirilmekte olan halini kullanmak eklenen-çıkarılan kısımları görüp hatalı yerleri raporlama ya da bu kısımlarla ilgili ters giden yerleri düzeltebilme imkanı sağlıyor.

DERLEMEYE HAZIRLIK:

Derlemeden önce bağımlılıklar için geliştiricilerin yazdığı python dosyasını buradan çekip çalıştırmamız gerekiyor.
$ wget -q <link> && python bootstrap.py
ya da
$ curl -O <link> && python bootstrap.py

KAYNAK KODU YEREL DEPOYA ÇEKERKEN:

Firefox, mercurial sürüm takip sistemini kullanıyor. Git ile entegre çalışıyor. Ben öğreneyim diye mercurial ile depoyu çektim. Mercurial kullanımıyla ilgili buraya bakabilirsiniz.

$ hg clone https://hg.mozilla.org/mozilla-central


YAPILANDIRMA:

 Dilerseniz derleme sırasında bazı özellikleri etkinleştirmek/devre dışı bırakmak için "mozconfig" dosyası oluşturup içini istediğiniz şekilde yapılandırabilirsiniz:
ac_add_options --enable-debug
ac_add_options --disable-optimize
DERLEME: 
$ ./mach mercurial-setup
$ ./mach build 
ÇALIŞTIRMA:
$ ./mach run






YAMA YOLLARKEN: 
İlk aşamada yama yollarken mercurial ile bir yama dosyası oluşturup, hangi hata kaydı için düzeltme yaptıysanız *.patch dosyasını ekleyebilirsiniz.

Yama dosyası hazırlarken de kullanacağımız komut "$ hg qnew *.patch " ve değişiklikleri yama dosyasına eklemek için de "hg export . > *.patch" komutları. 


Yardımcı linkler:

- Derleme ile ilgili ayrıntılı bilgi için tıklayın.

- Kaynak kodda arama yapmak için tıklayın.

- Mozilla hata kaydı sayfası için tıklayın.


Güzel haberler vermek dileğiyle hoş kalın :)

15 March 2016

Mercurial vs Git


Bir proje üzerinde çalışırken, sürüm takip sistemi kullanmak projenin sağlığı açısından çok büyük öneme sahip. Kullanınca ne oluyormuş ya, diyenler için:

* Masaüstünüzdeki "proje_son.*", "valla_bu_son.*", "valla_son_v2.*" gibi dosyaların çoğalmasını engelleyip masaüstü arkaplanınızı net görebilmenize yardımcı olur.
* İşletim sisteminize birşey olsa da (bilgisayarınıza kahve dökseniz bile) projeniz uzak depoda da bulunduğu için içiniz bir miktar rahat olur.
* Projenin önceki versiyonlarına rahatça dönebilirsiniz.
* Dünyanın bir ucundaki proje ortaklarınız ile rahatça çalışabilirsiniz.

Kısacası yukarıda "Yıl olmuş 2016 sürüm takip sistemi kullanmayan mı kaldı" demek istiyorum.

Mercurial da bir sürüm takip sistemi aracı. Çok büyük kısmı Python ile yazılmış. GNU/Linux, Unix-benzeri sistemler, FreeBSD, Mac OS X ve MS Windows işletim sistemlerinde kullanılabiliyor.
 
Ben şimdiye kadar hep Git kullanmıştım. Git, dünyada çok yaygın şekilde kullanılan, oldukça marifetli bir araç. Linux çekirdek geliştiricileri kendi ihtiyaçları doğrultusunda geliştirmiş ve büyük bir kitlenin kullanıldığı bir araç hale gelmiş.

Mercurial'ı öğrenmek için belgelerini okurken şunu gördüm; eğer bir araç gerçekten ne işe yaradığını bilerek, iyi kullanılıyorsa, aynı işi yapan başka bir araca çok az zamanda uyum sağlanıyor. 

Ubuntu 15.04 mercurial kurulumu için: 

    $sudo apt-get install mercurial meld

GİT(git)                       MERCURİAL(hg)

git pull hg pull -u
git fetch hg pull
git reset --hard hg update -C
git revert <commit> hg backout <cset>
git add <new_file> hg add <new_file>
git grep <search>hg grep <search>
git commit -a hg commit
git commit --amend hg commit --amend
git blame hg blame or hg annotate
git blame -C (closest equivalent): hg grep --all
git bisect hg bisect
git rebase --interactive hg histedit <base cset>
git stash hg shelve
git merge hg merge
git cherry-pick <commit> hg graft <cset>
git rebase <upstream> hg rebase -d <cset>
git checkout HEAD hg update
git log -n hg log --limit n
git push hg push


Ayrıntılı karşılaştırmaya buradan ulaşabilirsiniz.
Görüşmek üzere :)