Yazan-çizenler için program külliyatı

İster Antarktika’da yavru fokları inceleyen bir doğa bilimci olun, ister elinde tebeşirle teoremler yazan bir matematikçi. Önünde sonunda bir bilgisayarın başına geçmeniz gerekiyor. Alanlarımıza özel programlar kullandığımız doğru. Ancak olay rapor yazmaya, grafik çizmeye ve biraz da hesap yapmaya gelince aslında çoğumuz aşağı yukarı benzer işlerle uğraşıyoruz.

Nerden başlayacağım diye düşünürken açtım bilgisayarımı, yüklediğim programlara bakıyorum. Bakmaz olaydım! Tonla program yüklemişim; sonra da silmeye kıyamamışım. Eski yoğurt kaplarını atamayıp saklayan teyzeme benzedim iyice. Teyzem en azından o kaplarda bize yemek gönderirdi. Bense bazı programları yıllardır açmadığıma adım gibi eminim.

“Böyle olmayacak, iyisi mi yazı yazarken en çok kullandıklarıma bakayım,” dedim. Bir de, ücretsiz ya da açık kaynak kodlu olsunlar diye düşününce ortaya kendiliğinden bir liste çıkıverdi.

Metin editörü

Hiç şüphesiz en sık kullandığım program bir metin editörü. Çünkü hemen hemen her şeyi düz metin olarak yazıyorum. Benim kullandığım program GNU Emacs. Öğrenmesi biraz zordur ama çok güçlü bir editördür. Alternatifi olan pek çok program var. Hepsini deneyip en rahat ettiğinize karar verin derim. Özellikle kodlama yapıyorsanız, kullandığınız programlama diline göre metni otomatik renklendirmesine dikkat edin.

Son zamanlarda çalışırken yazdığım yazının ekranı tamamıyla kaplamasını istiyorum. Böylece dikkatim dağılmadan konsantre olmam kolaylaşıyor. Bunu yapan Emacs dışında editörler de var. Bol Bilim yazıları dahil pek çok yazıyı bu şekilde yazıyorum.

darkroom

Dikkatim dağılmasın diye editör tüm ekranı kaplıyor.

LaTeX

Ders notlarımı, makalelerimi ve teknik sunumlarımı LaTeX ile hazırlıyorum. Aslında LaTeX bir derleyici. Yani siz önceden yazıyı metin editöründe hazırlıyorsunuz. Ardından LaTeX ile dosya, basıma hazır, PDF gibi yüksek kaliteli bir dokümana çevriliyor. Özellikle matematiksel ifadelerin yoğun olduğu bir yazıda LaTeX ile harika bir çıktı almanız mümkün. Bu matematiksel ifadeler de tıpkı düz metin gibi basit kurallarla ana dokümana yazılıyor. Eğer yazıya şekiller ekleyeceksiniz, önce her şekli bir dosya olarak hazırlıyorsunuz.  Ondan sonra birkaç komut ile şeklin yazılı metinin içinde nereye yerleştirileceğini belirtiyorsunuz.

emacs_preview

Solda Emacs ile hazırlanan “bolbilim.tex”, sağda ise derlendikten sonra ortaya çıkan “bolbilim.pdf.”

İşin güzel tarafı, metnin içeriğini hiç değiştirmeden kolayca farklı bir görünüm verilebiliyor. Bir çok derginin kendi şablonları var.  Bu sayede yazıyı süslemeyle hiç uğraşmadan, sadece metni hazırlamak yeterli. Sonrasında bu şablonlardan herhangi birine taşımak çocuk oyuncağı. Benzer şekilde kopyala ve yapıştır ile poster ya da sunum hazırlanabilir. Ben sunumlar için beamer paketini kullanıyorum.

LaTeX kurulumu ve kullanımı ile ilgili çok malzeme var. Ben şu sayfadakini beğendim.

R

İstatistik söz konusu ise R programını tek geçerim. İlk yüklendiğinde temel istatistik hesaplamaları yapacak fonksiyonlar ile geliyor. Programın güçlü yanı sonradan eklenen paketler ile pek çok işe koşabilmesi. Tahmin modellerinden, yapay öğrenmeye kadar binlerce paketten oluşan bir kütüphanesi var. Ben asıl grafik paketi ggplot2‘ye bayılıyorum. Elimdeki veriyi grafiğe dökmeden önce feyz almak için sık sık şu grafik galerisine bakıyorum. Buradan istediğim gibi bir grafik bulamadığım pek olmadı.

R yükledikten sonra komut satırından çalışmak mümkün. Ancak ben ara yüz olarak RStudio kullanıyorum. Eğer ilk kez R kullanıyorsanız ve hızlı bir başlangıç yapmak isterseniz swirl paketi oldukça başarılı. Tek yapmanız gereken, R ve RStudio yükledikten sonra komut satırına (console) şunları yazmak:

> install.packages("swirl")
> library("swirl")
> swirl()

Sürüm Kontrol: GIT

Anlatması en zorlu program bu sanırım. Bir yandan da çok faydalı.

İlk senaryomuz şöyle: Bir rapor yazıyorsunuz. Uzunca bir rapor. Bazı kısımları değiştiriyorsunuz. Değişiklikleri geri alma ihtimaline karşı dosyayı yeni isimle kayıt ediyorsunuz. Önce dosyalar numaralanıyor; sonra her yeni sürüm ile dosya isimlerinin sonuna tarih ekleniyor. Aynı dizin içinde onlarca dosya birikiyor. Üstelik bir problem daha var. Eski sürüme dönmek isterseniz dosyaları yan yana açıp, farklı olan yerleri gözle kontrol etmeniz gerekiyor. Ya gözden kaçan bir yer olursa?

Gelelim ikinci senaryoya: Birkaç kişi makale yazıyorsunuz. Bölümleri paylaştınız. Ancak arkadaşınız dayanamayıp sizin yazdığınız bölüme bir paragraf eklemek istiyor. İki şansı var; ya size o paragrafı gönderecek, ya da dosyanın kendi çalıştığı kopyası üzerinde bu değişikliği yapacak. Her iki durumda da birinin dosyaları birleştirmesi gerekecek. Ya eklemeyi unutursa? Ya birleştirirken nefis cümlelerden biri giderse?

İşte sürüm kontrol programları bu sıkıntıların önüne geçmek için kullanılıyorlar. Program sizin için eski versiyonları ve dosyalarda yapılan tüm değişiklikleri not ediyor. İstediğiniz zaman eski bir sürüme dönebiliyorsunuz. Arkadaşlarınızın ekleyip çıkardıklarını kolayca görebiliyorsunuz. Sürüm kontrol programları asıl yazılımcılar tarafından kullanılıyor. Öte yandan LaTeX gibi metin dosyaları üzerinde çalışanlar için de idealler. Çünkü, metin dosyası olduğu sürece herhangi bir dosyanın iki sürümü arasındaki farkları eksiksiz gösterebiliyorlar.

Eğer sadece bir bilgisayar kullanıyorsanız ve tek başınıza çalışacaksanız Internet üzerinde bir dosya deposu kullanmanız şart değil. Aksi halde her yerden erişebileceğiniz bir sunucuya ihtiyacınız var. Ben sürüm kontrol için GIT kullanmaya başladım. Diğer sıkı alternatifler ise SVN ve Mercurial. Dosyalarımı ise Bitbucket sunucusu üzerinde tutuyorum. Bitbucket akademisyenler için sınırsız kullanım imkanları sunuyor. Her durumda dosyalarınızı bir sunucuda tutmak iyi bir fikir. Çünkü uzaktan erişmenin yanı sıra dosyalarınızı bir de yedeklemiş oluyorsunuz.

GIT öğrenmek için şu sayfada ders notları ve videolar var. Hiç fena değiller.


Yukardakiler herkesin bir şekilde işine yarayacağını düşündüklerim. Sıklıkla kullandığım diğer programlar ise şunlar:

Çizge gösterim: Graphviz

Bilimsel hesaplama: GNU Octave, Sage

Resim işleme: GIMP, MyPaint

PDF dosyaları işaretleme: Jarnal

Akış şemaları: Dia

Dosya paylaşım ve yedekleme: Dropbox, Copy (ücretsiz kullanım için sınırlı yer veriyorlar)

Tabii burada yazdıklarımı ve daha fazlasını yapan pek çok program var. Sizler de kendi favorilerinizi yazının altına yorum olarak eklerseniz faydalı programlardan sağlam bir külliyat oluşturabiliriz.

Yazan-çizenler için program külliyatı” üzerine 12 yorum

  1. Mendeley diyecektim ki biri benden once davranmis. En sevdigim ozelligi: her yazdigim LaTeX dokumani icin Mendeley’de bir klasor olusturuyorum, dokuman icinde atifta bulundugum makaleleri bu klasore koyuyorum. Mendeley .bib dosyasini otomatik olarak uretiyor.

    Referanslari yonetmek icin gordugum en buyuk eksik wikipedia gibi merkezi, herkesin referanslari modere edebildigi bir platform yok. Mendeley’de bile her eklediginiz makalenin basligi, yazarlari vs. gibi bilgileri bir gozden gecirip duzeltmeniz gerekiyor.

  2. Programlama dili: Python
    Bilimsel hesaplama: Numpy ve Scipy (Python paketleri)
    Grafik modülü: Matplotlib (Python pakedi)
    Text editörü: Atom (programlama için https://atom.io/), TeXStudio (Latex için), Spyder (bilimsel hesaplama için)
    Referans yönetimi: Mendeley (yukarıdaki yorumlara katılıyorum)

    Bir programlama dili olarak Python’un tüm okullarda mühendislik öğrencilerine zorunlu ders olarak verilmesi gerektiği kanısındayım. Python gibi okunması ve yazması çok çok kolay olan bir dil varken hala C, FORTRAN ya da Matlab (esasında para verip lisans satın alınarak kullanılması gereken) diller öğretiliyor.

  3. Bizim hoca geçen yıl endnote kullanmayı hepimize zorunlu kıldı, sonra da üniversitede fen bilimleri enstitüsü tez yazımını endnote ile zorunlu kılınca endnote’u kullanmaya alıştık. Alıştıkça daha çok sevdim diyebilirim. Mendeley gibi ücretsiz değil malesef, çalıştığınız üniversitenin kütüphanesinden ücretsiz belki indirebilirsiniz. Yani üniversite satın almışsa.

  4. Geri bildirim: Teori Nasıl Mı Yapılır? | BOL BİLİM

  5. Herkese merhaba,
    Hep aklımda başkaları ne tür programlar kullanıyor? sorusu olduğundan bu yazı çok hoşuma gitti.
    Belirtmem gerekir ki bir tıp doktoruyum ve yukardaki programların büyük kısmını ilk defa duyuyorum.
    Benim ve bizim alandakilerin daha sıklıkla kullandığı programlar da aşağıda.

    Metin editörü olarak Word işimi görüyor. ( Ehehe ) Alanda başka metin editörü bilen var mıdır? Emin değili.
    İstatistiksel hesaplamar için SPSS kullanıyorum. Alanda da bu kullanılır.
    Referans Yönetici olarak ben EndNote programını kullansam da Mendeley kullanan da çoktur.
    Dosya paylaşımı ve yedekleme için Dropbox kullanıyorum ki Edu uzantılı adresler için 25 Gb veriliyor, fazlasıyla yettiğini belirtmek isterim. Yandex Disk kullananlar da mevcut.

  6. Geri bildirim: Bol Bilim bir yaşında | BOL BİLİM

  7. Geri bildirim: Sabunlamadan, şişirmeden | BOL BİLİM

  8. 3. sınıftayım. R öğrenmek için bütün işi R ile olan bir şirkete staj başvurusu yaptım. Kabul ettiler, stajı onaylatmak için bölümde bir araştırma görevlisine gitmem gerekiyordu. Şirketi sordu anlattım. R’yi bilmiyordu. Okulu bitirince ne yapacaksın dedi, okulda kalmayı düşünüyorum dedim. Asistan olmak için bunlara gerek yok dedi. Ben de aynı odadaki diğer hocaya (o da bir doçentti) sordum, siz biliyor musunuz diye. Biliyorum tabi , Big data, forecasting falan değil mi dedi. Faydalı olur hocam dedi asistana. Öyle işte. Bütün bunlar nerede geçiyor? İktisat Fakültesinde. İstatistiğin atardamar olduğu bir bölümde. Benim konuştuğum insanlar ne dersi veriyor? Matematiksel İktisat.

  9. Gephi: graph veri yapılarını görselleştriemek için.
    igraph : pek çok graph algoritması C de yazılmış ve hızlı şekilde mevcut, Python ve R ile kullanılabiliyor.

  10. Açık kaynağa değer veren insanın başka kaygıları da var demektir.
    Ben olsam Condaliza Rice’in yönetim kurulu üyesi olduğu Dropbox’a alternatif çözümler arardım.
    Tabi bu tartışma en sonunda her ticari firma zehirlidir çözüm kendi sunucunu kurmak şeklinde bir sonuca çıkar.
    bkz: Nextcloud, Pydio, Seafile …

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.