3 Kasım 2015 Salı

Libreoffice Çalışmalarım



Merhabalar, bu sene okul başladığından beri Libreoffice ile ilgili çalışmalar yapıyorum. En son yazımda ilk kod katkımı verdiğimden bahsetmiştim. Yaptığım katkıdan çok, bu süreç önemliydi benim için. Bu aşamada kendinizi bu iş için yetersiz hissetmemeniz çok önemli. Başlangıçta yapabileceğiniz katkı için bug'lar seviyelendirilmiş zaten. Örneğin gereksiz yorum satırlarını silmek gibi işlerde var. Süreç boyunca bir çok şey öğreniyorsunuz zaten. Önemli olan şey İngilizce bilmek, çünkü geliştirici sayfası İngilizce.

Bu süreç nasıl ilerliyor?

Geliştirici wiki sayfası sizi yönlendiriyor aslında. Libreoffice kodunu indiriyor ve derliyorsunuz (şurada bahsetmiştim bu işten).  Kendinize uygun bir bug bulduktan sonra, git ile yamanızı hazırlayıp gönderiyorsunuz.(LibreOffice geliştiricileri çok anlayışlı ve yardım sever, pek çok konuda IRC 'de yardım alabilmek mümkün.) Her yollanan yamanın Jenkins ile 3 platformda çalışabilirliği kontrol ediliyor. (Linux, MacOS ve Windows). Tüm platformlarda başarı ile derlenebiliyorsa yamaya geliştiricilerde bakıyor. Uygun bulursa kodu onaylıyor ve sizin adınıza ekliyor. Bunun için öncesinde bir de lisans metni yolluyorsunuz.

Ne durumdayım ? 

Başlangıç seviye bir yamam onaylandıktan sonra, başka bir bug ile ilgilendim. Burada uno bileşeni uygulamaları için yapıcı işlevlerinin başlatılmasının uzun bir süreç olduğundan bahsediliyordu. Bu süreç için yeni bir yol önerilmişti. Bu süreci kolaylaştıracak ve biraz daha hızlı yapacaktı. Üzerinde çalışmak için kendime bir bileşen seçtim ve bunun yapıcı işlevinde değişiklikler yaptım ve yamamı yolladım. Bir gün önce yamam alındı. Şimdi daha güzel işler yapabilmek için çalışıyorum.


4 Ekim 2015 Pazar

LibreOffice Paketi İçin Yama Hazırlamak



LibreOffice özgür ofis yazılımı Dünya'nın dört bir yanından katkıcıların ortak emekleri ile geliştiriliyor. Eğer bir geliştiriciyseniz, hata düzeltme ve yama gönderme işlerinde de katkı verebiliyorsunuz. Bende bu iş için gönüllü oldum ve yama hazırladım. Ben ubuntu 14.04 LTS kullandım. Bu yamayı hazırlarken yaşadığım süreçten biraz bahsedeyim istiyorum.

Başlangıçta Libreoffice'i kaynak kodundan derlemeniz gerek. Bunun için önce ihtiyacımız olan bağımlı paketleri kuralım.

$ sudo apt-get build-dep libreoffice

Depoyu yerelimize clone edelim.

$ git clone git://anongit.freedesktop.org/libreoffice/core libreoffice

Proje dizinine geçelim.

$ cd libreoffice 

Hatasız çalıştığını kontrol edelim ve derleyelim.

$ ./autogen.sh 

$ make
Derleme işleminin ardından writer'ı çalıştırıp, projenin düzgün çalıştığından emin olalım.

$ instdir/program/soffice --writer 


Yama yollarken gerrit aracı da kullanılıyor. İlk kez yama yollayacaksanız şuraya kendinizi eklemeniz gerekiyor. Bu işlem için libreoffice@lists.freedesktop.org adresine, mail başlığı: <your name> license statement , mail içeriği ise 
"All of my past & future contributions to LibreOffice may be licensed under the MPLv2/LGPLv3+ dual license." olan bir mail gönderiyoruz.

Gerrit kullanabilmek için ilk adımda şu komutu çalıştırıyoruz.

$ ./logerrit setup

Çalıştırdıktan sonra "/home/[username]/.ssh/id_rsa.pub" içeriğinin tamamını Gerrit üyeliğimizde settings sekmesinden Ssh Public Keys kısmına ekliyoruz.( Gerrit üyelik işlemini openid ile yapmak mümkün, ben bunun için ubuntu one hesabımı kullandım.)

Test işlemi sorunsuz tamamlanırsa artık Gerrit aracını kullanabiliyoruz.

$ ./logerrit test

Şimdi yeni bir dal oluşturalım.

$ git checkout -b <yeni dal adı> 

Şuradan bug'ları inceleyip istediğimizi kendimize assign edelim. Ardından kaynak koddan çözüm için gerekli değişiklikleri yapalım. Değişikliği bitirdiğimizde;

$ git add <dosyaismi>

$ git commit -m "commitin içeriğini anlatan mesajımız"

Bu commiti Gerrit'e de yollayalım.

$ ./logerrit submit master

Belki ilgilenen olursa diye şurada kabul edilen yamam da bulunmakta. Ayrıca yolladığınız commitleri gerrit sayfasından görmekte mümkün. Daha ayrıntılı bilgiye şuradan ulaşabilirsiniz.

25 Eylül 2015 Cuma

Yaz Stajı-1



 Merhabalar, bu yıl stajımı Metglobal'in sistem yönetimi bölümünde yaptım ve devamında bir süre de part-time olarak çalıştım. Uğraştığım işten biraz bahsedeyim istiyorum.

 Benden bir Django uygulaması geliştirmem istendi. Bu uygulama da platformlar ve bu platformlar için tanımlanmış mail listeleri olacak, bir problem girişi yapıldığında ilgili platforma bir template ile mail gönderilecek, sorun çözüldüğünde ve bunun girişi yapıldığında da yine ilgili platforma rapor şeklinde mail gönderilecekti.
  
 Bunun dışında şirketin Pingdom'da servisleri bulunmaktaydı. Uygulama Pingdom servislerin up/down olduğunu okuyup buna göre otomatik problem girişi yapacak ve aynı şekilde platform'da tanımlı listeye mail gönderecekti.

 Pingdom'ın bazen yük olduğunda servislere ulaşamadığı oluyor bunun için bir cron oluşturup 5 dakikalık bir süre ayarladım. Uygulamada  pingdomLib 2.0.2 kütüphanesi ile username, password, apikey kullanarak Pingdom ile bağlantı kurdum. Mail atabilmek için Django'nun send_mail modülünü kullandım. 
 Uygulamanın son halinin bir kaç ekran fotoğrafını buraya bırakıyorum. Ayrıca ilginizi çekerse diye okuduğum kaynaklarında bağlantıları aşağıdadır. Bahattin'in de güzel bir sunumu var Django ile ilgili. Şurada kodlar ve sunum dosyasi da bulunmakta. 


 Bu işleri yapabilmek için öncelikle Django öğrendim. Gizem'in önerdiği kaynakları okudum, çokça denemeler yaptım. Öncesinde okulda Python dersi almış olmam beni hızlandırdı diyebilirim. Öğrenme ve uygulamayı geliştirme sürecimde başta Gizem, Aydan, Barış, Kubilay, Eray, Yasin vakitleri olduğu sürece yardımcı oldular. Birlikte çalıştığım ekibi çok sevdim. Yukarıda ki fotoğrafta bu tatlı ekibi görmektesiniz. Her şey için onlara çok teşekkür ederim. 

 Sistem tarafı gerçekten çok yoğun oluyor. İşte böyle zamanlarda da yazılım tarafı yardımıma koştu diyebilirim. Ozan, Özlem, Burak, Faruk, İsmail her seferinde bana yardımcı oldular. Bir şey sorup birden fazla şey öğrenip döndüm hep. Sektörden, üniversiteden konuştuk, güzel sohbetler ettik, eğlendik :) Sırada ki teşekkürümde onlara gitsin. Aşağıda ki fotoğrafta da Zekeriya Bey'in bu tatlı ekibini görmektesiniz.
                  

  Aydan'ın yanında staj yapıyor olmak benim için büyük şanstı. Zamanında benimle aynı sıralarda oturmuş biriydi Aydan. Böyle dolu dolu bir yaz geçirmemi sağladığı için Necdet Hoca'ma bir kez de burdan teşekkür etmiş olayım. Geçirdiğim bu yaz tatili yoğun olduğu kadar çok da eğlenceliydi :) Metglobal'i çok özleyeceğim. 

Kaynaklar

https://www.djangoproject.com/

http://www.djangobook.com/en/2.0/index.html

 https://docs.djangoproject.com/en/1.8/intro/tutorial01/

http://tutorial.djangogirls.org/en/django_start_project/index.html

9 Mart 2015 Pazartesi

Richard Stallman Türkiye'de


Merhabalar,

İstanbul Sabancı Üniversitesi'nde düzenlenen Özgürlük Sohbetleri Programında ve onbirincisi Ankara Üniversitesi'nde düzenlenen Bilmök kapsamında Richard Stallman'ı dinledim.
  
Özgür yazılım dediğimizde kullanıcılarının ve toplumun özgürlüğüne saygı duyan bir oluşumdan bahsediyor olmalıyız. Stallman yazılımı iki katagoriye sokuyor ilki programın kullanıcıyı kontrol ettiği yazılımlar, diğeri ise kullanıcıların programı kontrol ettiği yazılımlar yani özgür yazılımlar.

Her şeyden önce bu bir felsefedir ve belli başlı dört özgürlüğü barındırır diyor:

Özgürlük0 : Her türlü amaç için yazılımı çalıştırma özgürlüğü.[2]
Özgürlük1  : Yazılımın nasıl çalıştığını inceleme ve kendi gereksinimleri doğrultusunda değiştirme özgürlüğü. Yazılım kaynak koduna erişim bunun için bir ön şarttır.[2]
Özgürlük2  : Kopyalarını dağıtma ve toplumla paylaşma özgürlüğü.[2]
Bir özgür yazılım herkesçe istenilen sayıda makineye kurulabilir, kopyası çıkarılabilir ve istenilen kimselere dağıtılabilir, hatta satılabilir.
Özgürlük3  : Yazılımı tüm toplumun yarar sağlayabileceği şekilde geliştirme ve geliştirilmiş haliyle yayınlama özgürlüğü. Yazılım kaynak koduna erişim bunun için de bir ön şarttır.[2


Bildiğimiz gibi Stallman  Özgür Yazılım Hareketini başlattı ve  GNU (''GNU is not unix''.GNU kelime anlamı olarak Güney Afrika antilobudur. Telafuz ederken de sözlüğe takılmayıp G ile okuyun diyor)projesini ilan etti.

"Başlangıçta bütüncül bir işletim sistemi yazmak istedim yanıma birilerini aldım ama Kernel eksikti. Biliyorsunuz Kernel bütün programların birbiri ile ilişki kurmasını sağlar. İşte bu Kernel'i Linus 1992'de Özgür Lisansla yayınladı. Hatalı bir kullanım olarak sisteme ''Linux'' deniliyor. Sisteme GNU/LİNUX deyin. Çünkü felsefeyi başlatan ve en büyük katkıyı veren biziz. İnsanların ne söylediği önemli. Sistemi başlatan Linus sanıyorlar.Onun felsefesini benimsiyorlar. Bizim yaptığımız iş için onun ismi kullanılıyor. Kısacası felsefeler karışıyor.Aslında GNU kullanıyorlar ama bilmiyorlar, çok ironik. Bazen de özgür yazılım yerine 'açık kaynak' terimi kullanılıyor. Yapılan aynı işe etik bir değer katmadan bir isim buldular ve buna 'açık kaynak' dediler.Bunu etik olduğu için değil kodun kaliteli olabileceğini düşündükleri için tercih ettiler." diyor.

 Özgür olmayan yazılımlar, kötü amaçlı yazılımdır, onlar çoğunlukla casusluk yapar, sizi kısıtlar, paylaşmanızı engeller, işte Stallman bunun şeytani bir iş olduğunu dile getirdi. Apple'ın bilgisayarları kullanıcıların hapishanesi olarak tasarladığını ve süsleyerek cazip hale getirdiğini söylüyor.

Karıştırılan bir diğer kavram olan özgür ve ücretsiz kelimelerinden bahsediyor ve Flash Player'ı örnek gösteriyor. Bu yazılım ücretsizdir ancak özgür değildir, arka kapısı vardır ve bu kullacılar için dijital kelepçedir. Özgür yazılım olması için sahip olunan en önemli özellik ücretsiz olması değildir diyor.


Amazonun Kindle'ını eleştiriyor. Bu kitap paylaşımını engelleyip, kullanıcıları antisosyal yapmasının yanında amazonun tüm kullanıcıların okuduğu kitapların bilgisini tutması insan haklarına aykırıdır. Kindle ingilizcede ateş yakmak, ateş çıkarmak anlamlarına geliyor, tüm kopyaları silinen George Orwell'in 1984 kitabını örnek vererek belki de size ait olmayan kitapların yakılmasına işaret ediyor diyor.

Müzik yayın hizmetlerinin genel olarak kötü amaçlı yazılımlar kullandığını, çoğunlukla müziğin bir kopyasını saklayamayıp paylaşmamızın engellendiğini söyleyip işte bunun da dijital kelepçe olduğunu belirtiyor.

Telefonlara gelince, kendisi kullanmıyormuş ve sebep olarak şunları söylüyor; telefonlarda uzaktan değiştirilebilir yazılımlar kullanılabilir, evrensel arka kapısı vardır, radyo ağı üzerinden değişiklik yapılabilir ve bu şekilde dinleniyor olabilirsiniz ve hatta telefon kapalı iken de dinlenmeye devam edebilirsiniz bunun tek çaresi telefonda ki tüm bataryaları çıkarmaktır diyor ve ekliyor ''Bazı telefonlarda batarya çıkarılmıyor acaba neden?''

Hemen hemen herkes özgür olmayan yazılım mağduru ve aslında kötücül yazılımların kötü amaçlı olmadığını kanıtlayamıyoruz çünkü kod kapalı.Yani aslında gözü kapalı güveniyoruz.

Stallman ''Toplumun karar vermesi gerekiyor. Bir tarafta geliştirici tekelinde ki yazılımlar var diğer yanda özgürlüğümüz.Tek parça bile özgür değilse bütüncül olarak özgürlüğümüzü elimizden alır.'' diyor.

 Stallman ''Bu yolda bize yardım etmenin tek yolu yazılım yapmak değil, fikirleri yaymak da bize büyük katkı verir'' diyor ve belirtiyor "Geleceğimiz neye değer verdiğimizde yatmaktadır.''

9 Şubat 2015 Pazartesi

Akademik Bilişim 2015 Eskişehir



Akademik Bilişim Konferansı'nın 17ncisi 31 Ocak – 6 Şubat 2015 tarihleri arasında Eskişehir Anadolu Üniversitesinin ev sahipliğinde gerçekleştirildi.   Konferansın ana teması olarak ‘açıklık’ belirlenmiştir.  Açıklık, bilgiye ve kaynaklara sınırsız ve şeffaf erişimin yanı sıra karar almada ve yönetimde işbirliği üzerinde odaklanan bir şemsiye kavramı ya da felsefi bakış açısını ifade etmektedir.

Bu bağlamda, AB2015 Anadolu’da Konferansı, bilgi ve iletişim teknolojilerine dayalı açık toplum, açık yönetim, açık öğrenme, açık sistemler, açık kaynak kodu, açık erişim, açık yazılımlar ve benzeri konuların, başta akademisyenler olmak üzere farklı kesimlerle tartışılmasını amaçlamaktadır.  Konferansta davetli bildiriler, tam ve kısa bildiriler, konferans öncesi kurslar, konferans içi eğitim seminerleri ve yapılandırılmış çalışma grubu/açık oturum türü etkinlikler gerçekleştirildi. Bildiri özetlerinin yer aldığı kitapçık konferans sırasında katılımcılara dağıtıldı.

Geleneksel olarak AB Konferansının hemen öncesinde çok sayıda eğitim imkanı sunulmaktadır.  Bu yıl da 31 Ocak – 3 Şubat 2015 tarihlerinde burada belirtilen konularda eğitimler gerçekleştirildi.  Eğitimlere katılanlara da konaklama gibi imkanlar sağlandı.

2015 Eskişehir organizasyon ekibi sıkı çalışmış, sosyal medyayı yoğun kullanıyorlardı ve bu sene rekor katılıma ev sahipliği yaptılar.  Acayip dolu geçen, inet-tr, başta da Mustafa Hoca'nın emekleriyle gerçekleşen, Türkiye'de özgür yazılıma destek veren bu kadar insanın zor bulunabileceği, tadından yenmez bir etkinlikti. Katılımcıların görüşleri ile ilgili video yayınlanmış, 2016 döneminde neler yapacaklar bakalım, takipteyiz...



25 Haziran 2014 Çarşamba

Github Kullanımı


Github nedir?



 
GitHub programcıların Wikipedia’sı gibidir.Program dosyalarını düzenleyebilir, kim neyi değiştirdi görebilir, eski versiyonlarla karşılaştırabilir ve tüm dünya’nın erişimine açabilirsin. Tek fark burada bir program’ın kaynak kodlarıyla uğraşıyorsun, ansiklopedik bilgiyle değil. Şirketler burayı yazılım projeleri ve web siteleri geliştirmek için kullanırken bireysel programcılar hobi olarak bazı projelerini yayınlıyor.
Github hesabımızı yaratmak için şuradan hızlıca girip kaydımızı yapabiliriz.


 Github Kullanımı

Burada, yeni bir projenin bir git deposuna nasıl aktarılacağını, değişikliklerin nasıl yapılacağını açıklamaya çalıştım.


Git yapılandırmasını sağlamak için aşağıda ki komutlarla isim ve mail bilgilerimizi veriyoruz. 




Yardım alabilmek için "git help" komutunu kullanıyoruz.




Yeni bir proje başlatmak için "git init"komutunu kullanıyoruz.Git'in cevabı aşağıda ki gibi olup .git/ adında yeni bir çalışma dizini başlattığınızı söyler.



Depoya eklemek istediğimiz veya daha önce eklenmiş,değişiklik yapılmış dosyayı index denilen git geçici alanına eklemeliyiz.Şimdi, git'ten README.txt dosyasının bir görüntüsünü almasını isteyelim.



Şimdi bu dosyanın geçici alandan alınıp yerel depoya gönderilebilmesi için commit edilmesi gerekli. Index'in içeriğini kalıcı olarak saklamak için şu komutu kullanalım (bu komut sizden commit'in içeriğini anlatan mesaj isteyecektir).



Birkaç dosyayı değiştirelim ve sonra güncellenmiş içeriği index'e ekleyelim:



Ayrıca, durumunuzun kısa bir özeti için şu komutu kullanalım.



Şimdide yaptığımız değişiklikleri commit edelim.



Herhangi bir noktada, yaptığınız değişikliklerin geçmişini aşağıdaki komut ile görebilirsiniz:



Yaptığımız değişiklikleri görmek için ise "git diff" komutunu kullanalım.



Şimdi, projenizin ilk sürümünü git içinde sakladınız.Böylece dosyamız yerel depoya atıldı.Ancak henüz uzak depoya ulaşmadı.Uzak depoya atabilmemiz için ise aşağıdaki komutu kullanalım(master branch’ına göndereceğimizi farzediyoruz):



Bu şekilde proje arkadaşlarımızın yaptığı değişiklikleri kendi yerel depomuza çekmek için ise "git pull" komutunu kullanırız:



Git'te varsayılan olarak master dalı gelir.İstersek başka dallar oluşturabiliriz ve silebiliriz."cat" isminde bir branch oluşturalım.



Şimdi cat dalına geçelim.



Dalı silmek için şu komutu kullanırız.



Şimdi bu dalı silmeyelim ve master dalımız ile merge etmek için önce master dalına "git checkout "komut ile geçelim.



Artık cat ve master dalımızı merge edebiliriz.



Bu yazımda en temel komutlardan bahsettim.Daha detaylı öğrenmek isterseniz yararlı olabilecek linkler :














14 Mart 2014 Cuma

73ler Amatör Telsizcilik



Türkiye'de 7 bölgeye ayrılmış, bir hobi çalışması gibi görünsede acil durumlarda haberleşmeyi önemli ölçüde sağlayan kişilerin yürüttüğü faaliyettir. 

Bulduğum bir habere göre hırsız yakalatmak gibi bir faydası da ortaya çıkmıştır :)

Türkiye Radyo Amatörleri Cemiyetinin Çanakkale'de de 
gerçekleşen amatör telsizcilik sınavına ve hazırlık amacı ile verilen eğitim çalışmalarına katıldım. Sınavdan tam puan(100) alarak A sınıfı belge ve çağrı kodu almaya hak kazandım.Bu sayede farklı bir deneyim olacak bir işin ilk adımını attım.

Bugünde Kıyı Emniyeti Genel Müdürlüğünce hazırlanan amatör telsizcilik belgeme kavuştum.Bir sonraki adım olarak telsiz edinmeyi düşünüyorum. İzmirli bir elektronik cihaz tamircisi, amatör telsiz kullanarak Uluslararası Uzay İstasyonu’ndaki bir astronotla görüşme yapmış mesela :) İnsan gerçekten hayret ediyor.

Eğer sizde amatör telsizci olmak istiyorsanız bunun için ; şehrinizde düzenlenen sınavlara girersiniz ve burada teknik, işletme, kanun ve yönetmelik konularından sınava tabi tutulursunuz, her üç konudan 50 üstü alırsanız b sınıfı, 75 üstü not alırsanız  a sınıfı belgeye sahip olursunuz.Daha fazla bilgiye buradan ulaşabilirsiniz.


Yeliz Taneroğlu(TA3IYL)