.svn Dosyalarını Silin Gitsin!

Svn de duran bir proje dizininden ve onun alt dizinlerinden .svn dizinlerini silmek isterseniz yada buna ihtiyaç duyarsanız bir kaç değişik komutla bunu halledebilirsiniz.

  1. $ rm -rf `find . -type d -name .svn`
  2. $ find . -name “.svn” -exec rm -rf {} \;
  3. $ find . -name .svn -print0 | xargs -0 rm -rf
  4. $ find . -type d -name ‘.svn’ -print0 | xargs -0 rm -rdf

Buyrunuz efendim.

Kaynak: http://anilozbek.blogspot.com/


31 Ocak 2012

Posted In: Gezegen, java, linux

strace ile birden çok süreci eşzamanlı takip etmek

Yazılım tarafında ortaya çıkan hatalar konusunda loglar yetersiz kaldığında veya uygulama segfault verip bir hata mesajı bile basamaz olduğunda `strace` aklıma gelen ilk uygulama oluyor. `strace` kendisine argüman olarak gösterdiğimiz süreç tarafından kullanılan sistem çağrılarını ve sinyallerini gösteriyor.

Bir süreci doğrudan `strace` kullanarak başlatmamız mümkün. Bunun için uygulamayı başlatırken satırın en başına `strace` eklememiz yetiyor.

$ strace ls -l

Fakat özellikle arkaplanda çalışan servis uygulamaları için bu yol her zaman kullanılamıyor. O zaman da halihazırda çalışmakta olan uygulamanın süreç numarasını (pid-process id) `strace`e gösteriyoruz.

$ pidof sshd

783

$ strace -p 783

Tabi günümüz sistemlerinde servisler eşzamanlı birçok süreç halinde çalışıyor. Bu durumda bu süreçlerden sadece birini takip etmek hatayı yakalamak için piyango gibi birşey oluyor :) Neyse ki `strace`in birden çok süreç numarası kabul etme özelliği imdadımıza yetişiyor. İstersek “-p” parametresini birçok kez kullanabiliyoruz.

$ pidof apache2
2155 2154 2153 2152 2147 2042 2041 2040 2039 2038 2035 2034

$ strace -p 2155 -p 2154 -p 2153 -p 2152 -p 2147 -p 2042 -p 2041 -p 2040 -p 2039 -p 2038 -p 2035 -p 2034

Örnekte olduğu gibi `pidof` çıktısındaki numaraları parametrelere aktarmak biraz zahmetli olduğundan genelde şu kısayolu kullanıyoruz.

$ strace $(pidof apache2 |sed ‘s/\([0-9]*\)/\-p \1/g’)

14 Ocak 2012

Posted In: Diğer, Gezegen

Data Merkezli Çağ için Türkiye Bilişim Toplumuna Çağrı : www.data.org.tr

Bilişim dünyasının en değişmeyen özelliği değişimdir. İnternetin tahminlerin ötesinde bir hızla yaygınlaşması gerek yazılım gerek donanım altyapılarında da dönemsel olarak atılımlara yol açtı. Geçtiğimiz dönemlerde internet 2400bps modemle bağlanılan yapısından transforme olarak günümüzde 100Mbit modemlerle erişilen yapısına ulaştı. Yazılım ve yazılım üzerinde barındıran platformlar statik html sunan ufak web sunucularından çıkarak karmaşık N-tier uygulamaları barındıran, ölçeklenebilen, hataya dayanıklı, elastik bulut sistemleri haline dönüşüyor.

Yazılım ve donanım altyapılarının katlanarak büyümesindeki en önemli sebepi araştırdığımızda karşımıza katlanarak büyüyen data miktarlarını görüyoruz. İnternette ve dünyada üretilen ve depolanan data miktarı 2010 senesinde daha önce bir çoğumuzun adını bile duymadığı bir birim olan 1 ZettaByte seviyesine geldi ve geçti, 2011 senesinde 1.8 ZB olacağı tahmin ediliyor. Dünyada üretilen ve kopyalanılan bu datayı ölçmekte kullanılan ZettaByte'ın büyüklüğünü tarif etmek için şu benzetmeyi yapabiliriz: 1KB ile 1TB arasındaki birim farkı neyse, 1TB ile 1 ZB arasındaki birim farkı da o derecede (1.000.000.000x1TB). Yer yüzünde var olan 1.8ZB datanın %75'i kurumlardan ziyade kişiler tarafından üretilip kullanılıyor. Artan data miktarı paralelinde depolama teknolojilerinde ucuzlamayı da beraberinde getirdi.

Datayı kullanma, yönetme ve depolama teknikleri de geçtiğimiz son 5 senelik dönemde evrim geçirdi, ilişkisel veri tabanlarının (RDMS) etkinlik eşikleri aşıldı ve artık normalize olmayan NoSQL dediğimiz dağıtık data işleme ve depolama sistemleri gelişti. PetaScale dediğimiz ölçekte veri yönetim metodlarında da Hadoop, HPCC ve diğer map&reduce türevi teknolojiler hayata geçti. Artan veri üretimi ve yönetimi ihtiyacları uygulama geliştiriciliğinden tutun da sistem yönetimi (DevOps) alanlarında da yaklaşım ve metodolojik değişimleri zorunlu hale getirdi. Uygulama ve sistem tasarımında artık sadece kullanıcıya bakan özellikler değil ölçeklenebilen, yani daha fazla datayı taşıyabilen ve yönetebilen olmaları karar verdirici oldu.

Data/Veri her anlamıyla, gerek teknik gerekse sosyal boyutda Bilişim toplumu için en kritik kavram oldu.

www.data.org.tr topluluguna ihtiyac ve amaçlar
Türkiye bilişim toplumunun teknik anlamda derinleşmeye odaklandığı, açık kaynak ya da değil işletim sistemleri, yazılım geliştirme dilleri, uygulamaların yegane varoluş amacı aslında insanların ve kurumların data üretim, yönetim ve depolama ihtiyaçlarını karşılamakdan başka bir şey değildir. Bu gözle bakıldığında aslında zaten farklı farklı yapılanmalar altında dolaylı olarak etkileştiğimiz data kavramının, global altyapıda ZB seviyesine yaklaşmasıyla birlikte artık perde arkasından çıkarak hakettiği önemi görebileceği bir yapılanmada güncel metod ve teknolojilerle mercek altına alınma vakti geldi.

Bilişim de dahil olmak üzere her türlü teknolojinin yaygınlaşma kalıplarını çok yukarıdan bakarak gözlemlersek 2 farklı yaklaşımın olduğunu görebiliriz. Ya keşfeden (Innovator) olarak teknolojiyi üretir ve yaygınlaştırırsınız, ya da hızlı ve yakın takip eden (Fast Follower) olur yaygınlaştırırsınız. Tarihsel gelişimine bakıldığında otomobil dünyasında Almanya keşfedendir, Japonya hızlı takip edendir. Elektronik dünyasında Japonya lider, Tayvan ve Çin hızlı takip edendir. Daha farklı örnekler verilebilir, ancak data konusunda keşfeden olana kadar yakın takip metoduyla veri üretim ve yönetim teknolojilerinde yakın takip Türkiye Bilişim toplumu için gerektiği görülebilir.

Çok değil daha 5 sene öncesine kadar global piyasalardaki büyük kurumlarında bile 1TB'yı aşan veri tabanları sayılıyken bugün 100TB ve üzeri veri barındıran veritabanı sistemlerine rastlamak çok da zor değil. Senelik ortalama %50 büyüyen veritabanı büyüklüklerinin yönetilmesi başlı başına bir sorun haline geldi. Türkiye de özgür yazılım topluluklarının yapılanmasında .org.tr uzantılı topluluk siteleri önemli roller oynadı. Data merkezli çağda bir benzerinin de data.org.tr çerçevesinde yapılanması ihtiyacı doğuyor. Datayı üretmek, yönetmek, anlamak ve anlaşılabilir kılmak, beraberinde Bilişim toplumu için global piyasalarda rekabet edebilen değerler oluşturabilmek için harekete geçme zamanı geldi. Gerek insan kaynakları yetiştirilmesi olsun, gerek bilgi paylaşımı amaçlı olsun data merkezli çağda Türkiye Bilişim toplumunun bir araya gelerek hızlı organize olacağı bir yapı için çekirdek bir ekip oluşturmak için desteklerinizi ve katılımınızı bekliyoruz.

Bir sonraki adım: www.data.gov.tr
İşi profesyonel olarak bilişim teknolojileri olan bizler yani Bilişim toplumu olmak, gerek halkı gerek se de devleti yönlendirme sorumluluğunu da beraberinde getiriyor. Dünyanın internet kullanımı ve teknolojilerindeki lider ülkelerinden ABD'de başkan Obama'nın seçilmesiyle birlikte yaptığı ilk işlerden biri de federal Bilişim Teknolojileri sorumlusu (Federal CIO) atamak oldu. ABD halka açmakla sorumlu olduğu bilimsel, toplumsal, istatistiksel vb tüm verileri data.gov adresinden bilgi toplumuna sağlayarak açık devlet açılımının önderliğini yapıyor. Bir benzerini de data.co.uk adresinde İngiltere'de de görmek mümkün.

Bilişim toplumu olarak datayı merkeze alan yaklaşımı devlete yansıtmak, devletin elinde tuttuğu, açabileceği ve halka indirgeyeceği dönem için de hareket edilmeli. Bu konuda daha detaylı bir çalışma data.org.tr oluşumunun gelişmesine ve olgunlaşmasına paralel yapılacagını tahmin edebiliyorum.

İletişim ve koordinasyon
Bu yeni oluşumun hayata geçmesi ve ilerlemesinde kullanılmak üzere, artan veri miktarlarının etkili yönetimine odaklı sistem yönetimi felsefelerinin tartışılmaya başlandığı DevOps listesi kuruldu. Data.org.tr kendi sunucusuna geçene kadar lütfen http://groups.google.com/group/devopstr adresindeki listeye üye olun.

Bilgi/Data paylaştıkça çoğalır, herkes bilebilir ancak önemli olan anlamaktır.

14 Ocak 2012

Posted In: Gezegen

scp ile dosya transferinde boşluk içeren dosya adları

Konsoldan uygulamalara argüman olarak boşluk, bölü, parantez vb. özel karakterler içeren değerler vermek bazen beklenenden daha zor olabiliyor. Bazı durumlarda bu değerleri tırnak içine almak iş görse de kimi zaman kaçış karakteri (ters bölü karakteri “\”) veya karakterleri devreye girmek zorunda kalıyor.

scp ile dosya transferi de buna örnek durumlardan biri. Uygulamaya verdiğimiz argümanlar hem bizim sistemimizde hem de uzak sistemde yorumlandığı için kaçış karakteri mevzusunda normalden iki adım öteye gitmek gerekiyor. Boşluk içeren dosya adları kullanırken dosya yolunu tırnak içine almalı ve boşluk vb. karakterler için “çift” kaçış karakteri kullanmalıyız.

scp user@10.0.0.1:”/home/user/Gutenberg\\ Project/The\\ White\\ Crystals\\ by\\ Howard\\ Roger\\ Garis.epub”

14 Ocak 2012

Posted In: bash, dosya transferi, Gezegen, ipucu, Kendime notlar, scp, sistem yönetimi, ssh

Özgürlük demişken

Geliştirdiğiniz bir yazılımı insanların daha fazla faydalanabilmesi için kodları ile birlikte dağıtmak fikri. İlk duyduğumda biraz garip gelmişti, geçmesi 1-2 dakika sürdü.

Ardından işe koyuldum; önce paylaşımdan faydalanan tarafta yer aldım. Özgür yazılım geliştiren insanların paylaştığı kodları incelendim, bazı değişiklikler yaptım, işime yaramayan kısımları attım, paketledim ve sattım. Para kazanınca, kendimi kodlarından yararlandığım insana borçlu hissettim. Para teklif ettim, istemedi. Onun yerine onun bana yaptığı gibi benim de ona katkı vermemi istedi. Yazılım ile ilgili yanlış olduğunu düşündüğüm kısımları söyledim, birkaç hatayı düzelttim, bazı değişiklikler ile ilgili tartıştım ve bir şekilde yazılımı geliştirdim. Yeri geldi birbirimizi ikna edemedik, bir önceki sürümden sonra yollarımızı ayırdık. Yeri geldi işi gücü bırakıp bira içmeye gittik.

Özgür yazılımı yukarıda anlattığım gibi ele alıyorum ben. Ne üzerinde çalıştığım platformun özgürlüğü, ne de şu anda bu satırları yazdığım yazılım ile ilgili özgürlük detayları ilgilendirmiyor beni. Bugüne kadar yazdığım satır kod şu anda İnternet üzerinden erişilebiliyor, özgürce başkaları tarafından kullanılabiliyor ve yine bir şekilde birilerinin işine yarıyorsa bu benim için yeterli. Biraz daha açıklamak gerekirse; Windows üzerinde dahi uygulama geliştirebilirim (tercih etmem ama zorunda kalırsam geliştiririm) ve o uygulamayı özgür bir şekilde kullanılmak üzere insanlara dağıtabilirim. Bu benim için özgürlük dışı bir davranış olarak gözükmüyor. Hatta eski tartışmalara da taş atmak gerekirse; ben yazılım geliştirirken Jira dahi kullanabilirim; bu Pardus için doğru olmayabilir, projenin gereksinimleri, hedefleri vs. ile ilgili başka durumlar söz konusu olabilir ve özgür olmayan bir yazılım kullanarak özgür yazılım geliştirmek konusu tartışmaya açılabilir. Fakat kişisel olarak geliştirdiğim/geliştireceğim uygulamaları geliştirirken kullanacağım yazılımların özgür olup olmaması beni zerre ilgilendirmiyor.

Bunları buraya geçmişten bir not kalsın diye, 10 yıl aradan sonra kapalı kodlu yazılım geliştirmek zorunda olduğum için yazıyorum. Hiçbir zaman Richard M. Stallman gibi bir bakış açısına sahip olamadım, doğru olduğunu ya da yanlış olduğunu tartışmıyorum, fakat benim özgürlük bakış açımda sadece benim neyi nasıl yaptığım önemli. Ben herhangi bir insanın işine yarayacak bir uygulama geliştirdiysem, bunu özgürce kullanmasını, değiştirmesini ve hatta tekrar dağıtabilmesini garantilediysem bu bana yeterli geliyor.

Yani ben Windows üzerinde özgür bir yazılım geliştirebilir, kullandığım görselleri Photoshop ile hazırlayabilirim. Yine eklemek gerek; tercih etmem ama yapabilirim ve bu yazılımların özgürlüğü konusunda da herhangi bir endişe duymam.

12 Ocak 2012

Posted In: gezegen.linux, gezegen.pardus, kisisel, özgürlük, Türkçe, yazılım

Yeni bir iş.

14 Aralık 2011 tarihi itibarı ile Tübitak/Bilgem’den ve en önemlisi hayatımın önemli bir yerinde duran Pardus projesinden çeşitli sebeplerle ayrıldım. Yaşamak için maalesef para kazanmanın şart olması ve benim de çalışmadan durmayı pek sevmeyen biri olmam sebebi ile özel sektöre geri dönmüş bulundum; 19 Aralık 2011’den beri Sigma R&D‘de yazılım geliştiricisi olarak çalışıyorum.

Genelde bilgisayar bilimleri ve bilgisayarlı görsel işleme ile ilgili işler yapıyoruz, %99’u eğlenceli işlerden bahsediyorum. Microsoft’un XBox 360 için geliştirmiş olduğu hareket algılama (derinlik, görsel veri) oyuncağı Kinect ve yakın zamanda birkaç firmanın da sunumunu yapacağı girdi aygıtlarını kullanıyoruz.

Sigma R&D’de daha önceden geliştirilmiş bir kütüphanemiz var; Sigma Natural Interface Library (SigmaNIL). Bu kütüphaneyi kullanarak kamera ve derinlik bilgisi sunabilen ve şu an için OpenNI tarafından desteklenen herhangi bir aygıttan gelen verilere dayanarak fiziksel hareketlere anlam kazandırabiliyoruz. Bu şu anlama geliyor; herhangi ek bir aygıt kullanmadan sadece hareket ederek bilgisayara istediğinizi yaptırabiliyorsunuz. Ben de genel olarak bu kütüphaneyi kullanabilen uygulamalar geliştirmekle uğraşıyorum. Görsel etkileşim içeren basit uygulamalar ya da oyunlar gibi. Yine Qt ile fakat bu sefer C++ kullanıyorum.

OpenNI açık kaynak bir API sunduğu için SigmaNIL’de OpenNI’ın desteklediği herhangi bir platformda çalışabiliyor. Belki hatırlayanlarınız vardır, Cebit 2011’de Pardus standında Pardus üzerinde bir oyun oynatmışlardı ;)

Şu an için herşey güzel gidiyor, devamında da öyle olmasını umuyorum. Özgür yazılımdan kopmadım fakat işim gereği geliştirdiğim uygulamaların bir kısmı kapalı kodlu olacak. Ekipçe özgür yazılıma pek uzak olmadığımız için zaman zaman geliştirdiğimiz bazı araçların kodlarını açacağımız kesin ;) Hatta geçtiğimiz günlerde ilk adımı ben attım.

12 Ocak 2012

Posted In: gezegen.linux, gezegen.pardus, hayat, kinect, openni, sigma, Türkçe, yeniis

Ucuz olma, Özgür ol.

Pardus projesi Tübitak/Uekae’de birtakım çalışanlar ve bu çalışanların yaptıkları/yapacakları işlere inanan ya da gönül veren gönüllüler tarafından geliştirilen bir özgür yazılım projesidir. Özgür bir şekilde kullanılabilir, dağıtılabilir ya da değiştirilebilir.  Kendi içinde birçok alt proje barındırır. Dünya üzerinde birçok kaynaktan erişebileceğiniz özgür yazılımların dışında yukarıda bahsedilen insanlar tarafından geliştirilmiş teknolojileri vardır; paket yönetim sistemi, yönetim altyapısı, yönetim arayüzleri vs. [1] adresinden geliştirilmiş teknolojilere, [2] adresinden üzerinde birçok değişiklik/düzenleme vs. gerçekleştirilmiş diğer özgür yazılımların bulunduğu paket deposuna erişilebilir.

Pardus bugüne dek Türkiye’de gerçekleştirilmiş en büyük Özgür Yazılım projesidir.

Özellikle Türkiye’de yaşayan birçok insan için Özgür Yazılım ile tanışmanın sebebidir. Birçok insanın hayatını değiştirmiştir. Birçok yeni iş sahası ortaya çıkartmıştır.

~ * ~

Bir Özgür Yazılım projesi olarak gerçekleştirilmesine rağmen aynı zamanda Devlet desteği ile varlığını ortaya koyabilmiş bir projedir ve bu iki ayrı kavramın birbiri ile çatışmasından dolayı ortaya çıkmış hassasiyetin cezasını çekmiştir. Özgür yazılımın gerekleri ile Devlet’in gerekleri her zaman kesişememiştir.

~ * ~

“Türkçeye çevirmişler, sonra da biz yaptık diyorlar!

“Pardus Linux üstüne kurulmuştur, sıkıyorsa onu da yapsınlar!”

“Yeni bir şeye ne gerek var Debian çok güzel onu geliştirselerdi!”

… gibi söyleyen kişiler için çok büyük manalara gelen, fakat işin içinde olan insanlar için çok da öyle olmayan binlerce kalıp cümle ile eleştirildi Pardus. Eleştirilmesinde bir problem yok, zira eleştiriler insanlara nedenlerini anlatma, kendini düzeltebilme imkanı sağlar. Fakat eleştirmek için bir bilgi, birikim ve bikini gerekir.

~ * ~

Özgür Yazılım geliştirenler bilirler, e-posta listelerinde ya da irc kanallarında her an azar işitebilirsiniz. Bu hiç de sıra dışı bir olay değildir hele Türklere özel hiç değildir. Dünya üzerindeki bütün Özgür Yazılım geliştirenler için geçerlidir. Bunu dahi bilmeden bu tip davranışların sorumlusu bırakılmıştır Pardus ve Pardus Geliştiricileri. Doğru mudur, değil midir, herkes öyle yapıyor diye yapmak zorunda mıyızdır. Bunlar tabi ki tartışılabilir fakat bir şekilde özgür yazılımın doğası gereği bu iş böyledir.

~ * ~

Bunun dışında başka bir kesim daha vardır; tartışmak için gerekli altyapıya, bilgiye, birikime ve hatta bikiniye sahip olan fakat sadece tartışan. İşte bu tip insanlar genelde bizim ülkemize mensuptur. Bir ayrıntıyı da eklemek lazım; “sadece tartışan insanlar”. Dünya üzerinde tartışma kısmına kadar aynı olan fakat tartışma kısmını aştıktan sonra çokça övündükleri bilgi, birikim ve bikinileri ile gerçekten tartıştıkları noktada yeni bir akım yaratabilen insanlar. Biz özgür yazılımda buna çatallama (fork) diyoruz. Beğenmiyor musun? Dediğini yaptırmaya ikna edemiyor musun? O zaman çatallarsın! Bu dünyada bu şekilde çalışır, özgür olmanın dezavantajı ya da avantajı da budur.

~ * ~

Pardus projesinin içinde bulunmuş olmaktan çok mutluyum, kim ne derse desin artık pek umursamıyorum. İleride konuşmak için gerekli altyapıya sahip olsanız bile umursamıyorum. Biz çok güzel işler yaptık, çok yanlış işler de yaptık ama adım gibi eminim ki yaptığımız doğrular, yaptığımız yanlışlardan katbekat fazla.

~ * ~

Tübitak çalışanlarının açıklama yapmaması konusunda da bir not ekleyeyim; çalışanlar da ne olacağını, ne zaman neye karar verileceğini bilmiyor! Bu kararsızlığın sebebi maalesef projenin başarısızlığı ya da başarısı değil, Tübitak’ın kendi iç meselesi. Bu yüzden geriye iki seçenek kalıyor; ya çatallayacaksın Pardus’u ya da birilerinin keyfini bekleyeceksin. Her iki yolda da bekleyen birileri olacaktır, ben bundan eminim. Tabi her durumda yukarıdaki engeller karşınıza çıkacaktır.

~ * ~

Özgür Yazılımlar yok olmaz.

5 Ocak 2012

Posted In: gezegen.linux, gezegen.pardus, hayat, insan, life, pardus, Türkçe

Twitter Auto Publish Powered By : XYZScripts.com