Öyle bir seyir defteri…

Özgür Yazılım ve Linux Günleri 2012′de iki yeni kısa seminer

28 Mart 2012 Çarşamba, 23:18

Bu seneki Özgür Yazılım ve Linux Günleri 2012, üç gün sonra (30 Mart’ta) başlıyor. Bilgi Üniversitesi’nde Bilgisayar Bilimleri Bölümü’nün kapatılmasına ilişkin çalkantıları düşününce, Doom-vari ortamı belki de son kez özgür yazılımcılar dolduracak. Gelecek sene başka mekanlara yelken açmamız olası…

Bu seneki etkinlikte iki tane yeni ama kısa (20-25 dakikalık) seminerle etkinliğe konuşmacı olarak katılıyorum.

“Sunucu Ayarlarının Sürümlendirmesi” isimli ilk oturum, sistem yönetimine ilişkin. Uzun ömürlü, 7×24 kurulmak istenen sunucu yapılarında tek bir sistem yöneticisine bağlı bir çalışma döngüsü mümkün olmuyor. Tek kişi bile olsa sadece kendi aklına güvenerek sunucu yönetmesi çok sağlıklı olmuyor. Tıpkı yazılımlar gibi sunucu ayarlarının da sürümlerinin olması, değişiklikleri kimin yaptığının takip edilmesi, e-posta ile değişikliklerin tüm ekibe bildirilmesi, değişikliğin geri alınabilmesi altyapılarından bahsedeceğim. İlgilenenleri 30 Mart Cuma günü 14:00′te etkinliğin 2. salonuna bekliyorum.

İkinci konu ise “MariaDB vs MySQL Karşılaştırması” başlıklı. MySQL’i önce Sun’ın, sonra Oracle’ın satın almasından sonra, MySQL’in kullanımına ve özgürlüğüne ilişkin yoğun bir bilgi kirliliği ve yanlış bilgiler ortalıkta dolaşmaya başladı. Hala çok yaygın kullanılan bir özgür yazılım için bu durum kötü diyerekten, hem bu detayları netleştirebileceğim, hem de MySQL’den türeyen MariaDB’den bahsedip, ikisini birbiriyle karşılaştıracağım kısa bir seminerim var; Cumartesi günü saat 12:30′da ilgi duyan herkesi 1. salona bekliyorum.

Gezegen | 1 Yorum »
 

Pardus Çalıştayı’nın Ardından

26 Mart 2012 Pazartesi, 01:16

Geçtiğimiz 1,5 günü TÜBİTAK’ın Gebze’deki meşhur TÜSSİDE tesislerinde geçirdim, Pardus çalıştayına katıldım.

Bunu duyan çevremdeki insanlar “Ama niye?” sorusunu sordular. Açıkçası giderken hiç umutlu değildim. Pardus, topluluğunun (kullanıcı, geliştirici, çalışan, çözüm ortağı, vs.) önemli bir kısmını kaybetmiş, marka değerini yitirmiş, ürünleri eskimiş bir halde şu anda. Çalıştaya çağrılırken, başka kimlerin çağrıldığı bilgisini alamamış olmam da (sormama rağmen) hiç olumlu bir sinyal değildi.

Benim projeden bir geliştirici olarak kopmak zorunda hissettiğim zamandan yanılmıyorsam sadece bir kişi hala TÜBİTAK’ta çalışıyor, o da yetkili bir konumda değil. Karşımıza çıkacak insanları dinlemek ve yıllarca emeğini verdiğim Pardus’un geleceğini ilk ağızdan duymak istedim.

Oraya vardığımda, çeşitli kanallardan duyduğum ve tahminlerime yakın, 30-35 kişilik, uzun zamandır Türkiye’de özgür yazılımlarla ve/veya Pardus’la uğraşmış, çok önemli bir kısmını tanıdığım bir kadroyla karşılaştım. Eksikler de elbette vardı. Özellikle Pardus çözüm ortaklarının eksikliği göze battı; ben, Hakan Uygun ve Onur Küçük sık sık şapka değiştirerek bu açığı kapamaya çalıştık.

TÜBİTAK’ı temsilen ULAKBİM’in müdürü Ahmet Kaplan vardı, tek yetkili ağız olarak. Üniversitelerarası ağ ile Pardus’un ne ilgisi var diye düşüneceksiniz. TÜBİTAK içi yapılanmada UEKAE’den BİLGEM’e, oradan BTE’ye giden Pardus’un son akıbeti kısa bir süre önce ULAKBİM’e bağlanmak olmuş (henüz resmi işlemleri devam ediyor). Henüz bir proje yöneticisi olmadığı için de onun bir üstü olarak Ahmet Kaplan oradaydı.

Çalıştay organizasyonu ile ilgili dertleri [1], çok da yorulmadan aşmayı başardık. Biraz bocaladıktan sonra yöntem oturttuk. Sorunları ortaya döktük, tartıştık. Kullanıcısından, geliştiricisine, kamu kurumundan, çözüm ortağına, üniversitesine, çeşit çeşit insandan sağlı sollu konular gündeme geldi. Hiç beklemediğim biçimde Ahmet Kaplan hemen hepsini açıksözlülükle ve başarıyla yanıtladı. Kendi görüşlerini de söyledi ancak ısrarcı olmadı, bizlerin görüşleri doğrultusunda ilerledi.

TÜBİTAK’ın kurumsal masaüstü sürümünün tamamını üstlenirken; bireysel sürüm için topluluğa teknik destek vereceğini, altyapı sağlayacağını ve temelini oluşturacağını belirtti. “Üstlenme” kısmını açmak gerekirse, bunun sadece TÜBİTAK bünyesinde insan çalıştırarak değil, çalışmaları üniversitelere ve sektör firmalarına fon sağlayarak yaptırmak yönteminin izleneceğini de ifade etti.

Ulakbim’in kendi projelerinde oluşturabildiği *resmi* bir kurul yapısından bahsedildi. Aynısını Pardus’un geleceğine yön vermek için oluşturmakta hemfikir olduk, 8 kişilik [2] bir temsilci kurul listesi oluşturduk:

* TÜBİTAK yönetim temsilcisi
* STK temsilcisi
* Kullanıcı topluluğu temsilcisi
* Geliştirici temsilcileri (biri topluluktan olmak üzere 2 kişi)
* Pardus çözüm ortaklarından bir temsilci
* Üniversite (akademik) temsilcisi
* Kamu kurumlarından temsilci

Çalıştaydan sonra TÜBİTAK dışında kalan kitle olarak ilk hedefimiz, temsilcisi olacak her grubun kendi temsilcisini belirlemesi olacaktır sanıyorum. TÜBİTAK tarafında ise bu kurulun resmi kuruluş işlemlerini tamamlamanın Nisan ortasını bulacağı iletildi. Ben kurulun sadece söz üzerinde değil, resmi olarak çalışacak olmasını umut verici buldum.

Proje artık, Ulakbim’e bağlandığı için proje çalışmalarının da Gebze’den Ankara’ya taşınması söz konusu. Zaten az sayıda kalan Pardus’un eski çalışan kadrosunun (çalıştaya katılan yanılmıyorsam 6 kişiydi) bir kısmı daha Ankara’ya taşınmak yerine, ayrılacak ya da Gebze yerleşkesindeki başka bir projeye geçecektir diye tahmin ediyorum. Açık söylemek gerekirse, zaten dibe vurmuş ve çok yıpratıcı bir süreçten geçmiş bir proje için, sıfırdan yeni bir yönetimle, yeni bir şehirde ve çoğunluğu yeni çalışanlarla başlamak çok daha iyi de olabilir.

Beklentilerimin düşüklüğünden de olsa gerek, beklemediğim iyi bir başlangıç oldu. Bazı yerlerde “fazla pembe” bile gözüktüğünü itiraf etmeliyim. Kendi adıma, Pardus’un yeni yönetimini temsilen orada bulunan Ahmet Kaplan’ın bu 1,5 gün içerisinde bundan daha iyisini yapabileceğini düşünmüyorum. Tutarlı davrandı, yapabileceğini düşündüklerinin sözlerini verdi, karşı çıktığı da oldu ama “benim dediğim olacak” demedi. Umutsuz ve karamsar gelen insanların oradan umutlu ayrılmasını sağladı.

Çalıştaya katılan herkesin kafasında, benim gibi, hala bir “Acaba?” sorusu mutlaka vardır. Ortada eski yönetimin bu kadar fazla verdiği ve tutmadığı söz varken, aksi de beklenemezdi. Şimdi hep beraber bu sözlerin davranışlarla desteklenmesini umutla bekleyeceğiz.

* * *

Not 1: Sorunlar da elbette vardı. Program çok başarılı düşünülmemişti, Maddog’un katılımlarında ve konuşmasında dil problemi yaşandı. Maddog’un konuşmasının ilk bölümü çok da gerekli değildi (bu kitleye “Özgür yazılım nedir?”den başlamak anlamlı olmadı). Semen Cirit’in 3000 kişilik dağıtımların şemalarını anlatması da insanları esas konuya girme konusunda sabırsızlandırdı. TÜSSİDE, kurumların çalışanlarını kaynaştırmak ve işbirliği arttırmak için tasarlanan standart şablonları bize uygulamaya kalktı; neyse ki kısa sürede bu hatadan vazgeçirdik kendilerini.

Not 2: Aslında kurul 7 kişi olacaktı ama Necdet Yücel ısrarla geliştirici temsilcisinin tek değil, dışarıdan ve TÜBİTAK personeli olmak üzere iki tane olmasını savundu. Hemfikir olamadık bir türlü o konuda.

Not 3: Eskiden Pardus çalışanı olarak Pardus’u geliştiren, çalıştaya çağrılmayan, bir kısmı arkadaşım da olan insanların çalıştay hakkında Twitter’dan “şakımaları”nı ise içim acıyarak okudum. Profesyonel iş yaşamlarının da bir parçası olduğu ve olayı içeride yaşadıkları için acılarını çok iyi anlıyorum — ben de Pardus çözüm ortağı bir firmanın yönetici ortağı olarak yaşanan çalkantıdan topluluktaki herhangi bir kişiden çok daha fazla zarar gördüm. Ancak yine de şakıdıklarını kendilerine yakıştıramadığımı belirtmeliyim.

Not 4: Şöminede sucuk, Maddog’un acayip acı sosu, yarı (İ)skoç paylaşımı, tatlı sohbetler ve güzel insanlar da bu ciddi toplantının eğlenceli anıları oldu.

Gezegen, Pardus | Yorumlar Kapalı
 

SVN depoları arası dizin taşımak

22 Aralık 2011 Perşembe, 19:40

SVN sürüm kontrol sisteminde bir dizinin kopyasını almak ya da taşımak istediğinizde, bunu svn cp ve svn mv komutları ile yapabiliyorsunuz.

Basitçe svn add ile sıfırdan eklemekten önemli bir farkı var bunun; SVN tarihçesini kaybetmiyorsunuz, geçmişe aynen bakabiliyorsunuz.

Ne yazık ki svn cp/mv komutları, depolar arası taşımacılık hizmeti vermiyor. Bir depodan diğerine bir dizini ya da deponun tamamını tarihçesi ile beraber taşımak isterseniz, bunun için SVN sunucu üzerinde svnadmin komutuyla doğrudan depolara erişmemiz gerekiyor.


svnadmin dump tasinacak_deponun_tam_yolu > /root/tasinacak_depo.dump

komutuyla deponun dökümünü aldık. İçinde tüm revizyonlar da var. Aldık almasına da, tüm depoyu değil de, sadece içinden sadece bir dizini aktarmak istiyorsak, burada bir temizlik yapmamız gerekiyor. İşte o noktada imdadımızı svndumpfilter komutu yetişiyor.


svndumpfilter include --drop-empty-revs --renumber-revs tasinacak_dizin_adi < /root/tasinacak_depo.dump > /root/tasinacak_dizin.dump

Bu komut içinde dizin_adi geçmeyen revizyonları temizliyor, temizlerken de –drop-empty-revs ile arada aktarılmayan revizyon numaralarını siliyor, –renumber-revs ile de tekrar numaralandırıyor. Eğer tüm depoyu doğrudan taşıyacaksanız, bu adımı atlayabilirsiniz.

Sonunda oluşan dosyayı da, yeni depoya aktarıyoruz:


svnadmin load yeni_deponun_dosya_sistemindeki_tam_yolu < /root/tasinacak_dizin.dump

Bu komut dump'taki revizyonları tek tek okuyup, yeni depoya sanki sıfırdan yeni bir revizyonmuş gibi işliyor.

Elbette bu işlemler sırasında tarihçeyi olmasa bile, revizyon numaralarını kaybediyoruz. Çünkü eski depodaki 234 numaralı revizyonu, yeni depoda da halihazırda aynı revizyon numarasına sahip bir işlem olduğu için korumak mümkün değil. Sırada kaç numra varsa, örneğin 48727 gibi bir revizyon numarası alabiliyor.

Genellikle bu bir sorun yaratmıyor ama eğer eski revizyon numaralarını kullanarak bağlantı verilmiş iş takip sistemi gibi bir uygulama varsa, revizyon numaralarını doğrudan çöpe atmak istemeyebiliriz. O zaman svnadmin load komutunun çıktısını ayrıştırarak, bir tablo oluşturarak hangi revizyonun neye karşılık geldiğinin bir tablosunu oluşturmak ve ona göre iş takip sistemindeki bilgileri de güncellemek mümkün.

Bu işlemleri yapmak için sunucuya erişiminiz yoksa, çareler tükenmez, o zaman SVN deposu yansılamak için devreye soktuğumuz svnsync komutu imdadımıza yetişecektir.

Gezegen | Yorumlar Kapalı
 

Pardus Kurumsal 2′de Samsung ML-1660 yazıcısının kullanılması

16 Aralık 2011 Cuma, 14:39

Geçtiğimiz Mart ayında yeni bir yazıcı alırken, daha önce birçok yerde kullandığım ve fiyat/performansından memnun kaldığım Samsung’un ML-1610 yazıcısından almak istemiştim. Ancak piyasada bulamadığım için tipi (ve fiyatı) ona çok benzeyen ML-1660 yazıcısından almıştım.

samsung_ml1660

Aldım almasına ama tipi benzerken, içi o kadar benzemiyormuş ki Pardus Kurumsal 2′ye takmamla tanıması bir olmadı (ML-1610′un aksine). Pardus bana baktı, ben ona baktım ve sonra Google’a bakmaya başladım.

Samsung sitesine Linux sürücüsünü yerleştirmiş, “unified linux driver” başlığı ile. Tek yapmam gereken onu alıp içinden işe yarar olanları almak oldu. Dosyayı indirdikten sonra, arşivi açıp, arşivin kök dizinine geçip;


cp Linux/noarch/at_opt/share/ppd/ML-1660spl.ppd /usr/share/cups/model
cp Linux/i386/at_root/usr/lib/cups/filter/rastertosamsung* /usr/lib/cups/filter

komutlarını çalıştırdım. Eğer sisteminiz 32-bit değil de 64-bit ise, i386 ile olan dizindeki değil x86_64 olan dizindeki dosyaları kopyalıyorsunuz.

Daha sonra yazıcıyı tekrar açtığınızda/taktığınızda Pardus otomatik olarak tanıyor yazıcıyı.

Mart’tan beri aklın neredeydi diyenler için, aslında anında Pardus’un hata takip sisteminde bir hata raporu açmıştım. Geçen gün aklıma geldi, baktım hatada bir gelişme yok, daha görünür bir yere bir günlük yazısı yazayım da insanların işine yarasın dedim.

Gezegen | 1 Yorum »
 

Bir SVN Deposunu Yansılamak

22 Kasım 2011 Salı, 00:13

Hiç bir SVN deposunun birebir yansısını tutmak istediniz mi? Sadece içeriğinin “son” halini değil de, logları ve revizyonları ile tüm tarihçesini.

Örneğin bir uygulama SVN’e entegre olabilmek için depo dosyalarına doğrudan erişebilmek isteyebilir (ör: bir iş takip sistemi) ama ikisi ayrı sunucularda bulunmak zorunda olabilir — bir fiziksel mekan ayrılığı bile söz konusu olabilir.

Ya da basitçe kendinizin sadece okuma erişimi olan bir SVN deposunu yedeklemek isteyebilirsiniz (İnternet’in yedeğini alalım!).

İşte bir SVN deposunun tarihçesi ile beraber bir kopyasını almak ve sonra o kopyayı güncel tutmak için, Subversion paketi ile beraber svnsync isimli caanım bir komut var.

Öncelikle bir dizin oluşturuyoruz:


mkdir /home/kullanici/svn_yansilarim

Daha sonra svnadmin komutu ile yeni, boş bir SVN deposu oluşturuyoruz:


svnadmin create /home/kullanici/svn_yansilarim/depo1

SVN depomuzu revizyonların özelliklerini değiştirebilir biçimde ayarlamalıyız ki, svnsync bir kullanıcı ile bağlanıp svnsync revizyonlardaki değişiklikleri uzaktaki depoya benzetebilsin.

Bunun için /home/kullanici/svn_yansilarim/depo1/hooks/pre-revprop-change adında bir dosya oluşturup, içine aşağıdaki betiği yerleştiriyoruz:


#!/bin/sh
USER="$3"

if [ "$USER" = "svnsync" ]; then exit 0; fi

echo "Only the svnsync user can change revprops" >&2
exit 1

Yansı depomuzun yapısını, svnsync’e vereceğimiz init parametresi ile oluşturuyoruz:


svnsync init --username svnsync file:///home/kullanici/svn_yansilarim/depo1 https://svn.halkacikdepo.com/depo1

svnsync komutuyla artık asıl yansılama işlemine başlayabiliriz. Komut her revizyonu tek tek karşı sunucuya bağlanıp çekeceğinden, bu işlem büyük bir depoda çok yavaş sürecek ve bir sürü disk işlem gerçekleşecek:


svnsync sync file:///home/kullanici/svn_yansilarim/depo1

Bir kez depoyu tamamen yansıladıktan sonra, artık aynı komutla yeni revizyonları kolayca ve hızlıca yerelinize alabilirsiniz.

Gezegen | Yorumlar Kapalı
 

Gölhisar’da Özlediğim Türde Bir Seminer Günü

18 Kasım 2011 Cuma, 15:53

Linux Kullanıcıları Derneği‘nin Türkiye’nin dört bir yanında düzenlediği seminerlerde konuşmak beni gerçekten mutlu ediyor.

Türkiye’nin birçok yerini görüyorum, yerel kültürlerini (zaman elverdiğince) tanıyorum, birçok insanla tanışıyorum, onlarla bilgi ve deneyimlerimi paylaşırken her zaman ama her zaman ben de onların sordukları ve paylaştıkları ile kendimi geliştiriyorum.

Ankara-İstanbul-İzmir’de konuşma yapmaktan o kadar keyif almıyorum açıkçası. İnsanların çoğunda, ellerinin altında yeterince olanak olmasından kaynaklı bir doymuşluk ve istek körelmesi oluyor. 20-30 dakika uzaklıktaki yere gitmeye üşenip, “nasıl olsa tekrar anlatılır” diye düşünebiliyorlar.

İşte bunlardan dolayı, daha önce hiç gitmediğim Gölhisar‘dan Ekim sonu için seminer isteği geldiğinde üzerine balinalama atladım.

Aslında Gölhisar’dan ilk olarak Nisan ayında, İnternet Haftası sırasında LKD ile bağlantıya geçmişlerdi. Ancak o sırada, tüm üniversiteler aynı anda etkinlik yaptıklarından ve konuşmacıların çoğu yoğun olduğundan isteklerine yanıt verilememişti. Yılmayıp, sonbahar için tekrar gelip, etkinlik düzenlemek istemeleri de beni çok heveslendirdi. Bu kadar istekli olan organizasyonu da iyi yapar diye düşündüm.

Gölhisar yer olarak birçok merkezin ortasında. Burdur’a, Denizli’ye, Fethiye’ye, Antalya’ya 100 km civarlarında bir uzaklıkta. Birçok merkeze makul bir uzaklıkta olmak bir avantajken, Türkiye’nin herhangi bir noktasından da “hızlıca” ulaşımı engelliyor. Bu merkezlerden birine vardıktan sonra, minibüslerin çeşitli noktalardan yolcu alarak ve durarak gittiğini, yolların da otoban olmadığını düşünürsek aşağı yukarı 2 saatlik bir yolculuk daha sizi bekliyor.

Ankara’dan gelirken, önce gece 6 saatlik bir otobüs yolculuğu ile Burdur’un merkezine vardım. Burdur’u tercih etmemin nedeni, oradan Gölhisar’a olan araçların daha erken saatte başlaması ve benim de seminere zamanında yetişmemi sağlayacak olmasıydı. Otogarda bir saatlik bir beklemenin ardında, sabah 7′de Gölhisar aracıyla hareket ettim.

İlk sürpriz beni orada bekliyordu, minibüsün yarısından fazlası öğrenci doluydu. Aralarından biri organizasyonu yapmış, çeşitli noktalardan binenleri koordine edip, ellerine önceden alınmış biletlerini veriyordu. Birine “ben Gölhisar’da üniversitede ineceğim, yol üstündeymiş, gelince haber verir misiniz” dedim. Aradan biraz zaman geçince öğrenci bana dönüp, “seminer için mi” dedi ve köprüyü geçip konuşmacılardan biri olduğumu farketti. Meğer bu insanlar Burdur’daki merkez kampüsteki bilgisayar öğretmenliği öğrencileriymiş. Üniversite onlara otobüs ayarlayamamış (otobüsler başka bir etkinlikte kullanıldığından), yoksa 60 kadar kişi geleceklermiş, cebinden yol parasını verebilenler minibüsle geliyorlarmış. Öğrencilerin, sabahın 7′sinde, kendi istekleriyle, ceplerinden de para vererek 2 saatlik bir yolu göze alarak şehir merkezinden (çoğunun daha önce görmedikleri) bir ilçeye gitmeyi göze almaları çok hoşuma gitti.

Oraya vardığımda, Burdur’dan gelenlerin ve meslek yüksek okulunun öğrencilerinin yanı sıra civar köylerden gelenlerin de olduğunu öğrendim. Hatta Burdur genelinde MEB’nın formatör öğretmenleri (öğretmenlerin öğretmenleri) de salondaydılar.

Tüm günün dinleyicilerin yoğun ilgisi ile nasıl geçtiğini anlamadım bile. Etkinlikte çekilen 190 fotoğraf belki daha iyi anlatabilir.

Daha önce sadece e-postalar üzerinden haberleştiğimiz, etkinlikteki diğer konuşmacılardan Yusuf Kürekçi ile de ilk kez yüzyüze tanışma fırsatı buldum.

Gölhisar, tam olarak da hayalini kurduğum (ama bu kadarını ummadığım), insanların öğrenmek için istekli ve hevesli olduğu bir yer olarak karşıma çıktı. 2000′lerin başında ilk gezici seminerlere gitmeye başladığımızda sıkça karşılaştığımız, artık seyrelen güzel insanları hatırlattı bana.

Elbette sadece seminmedik. Bir sac kavurma yedim ki, oraya her giden et sevenin mutlaka yemesi gereken bir yiyecek. Eti yaprak gibi ince kesiyorlar, kızgın yağa bir kez anlık olarak daldırıp çıkarıp (pişmesini sağlıyor) daha sonra da servis yapıyorlar. İsteğe bağlı olarak sebzelerle beraber kavrulması mümkün ama etin yağına bandıra bandıra salt et yemek ayrı bir güzel. Sebzelisi doğrudan yemek olarak yenilebilir. İlk gün gözüm dönmüş biçimde yerken fotoğrafını çekmeyi akledemedim, ikinci gün gittiğimde ise yoktu (sadece fotoğrafını çekebilmek için yiyecektik, yanlış anlaşma olmasın) — dün yediğimiz hayvanın geri kalan kısımlarını satıyorlardı. Başka yerinden yaparsak bu kadar yumuşak ve lezzetli olmaz dediler.

O enfes sac kavurmanın yanı sıra, “Burdur Şiş” ile tanıştım. Adana Kebap benzeri bir “şiş” aslında. Daha küçük, daha ince bir şişe geçirerek hazırlıyor olmalılar. Hiç baharatı yok. Etin tadını alabilmek açısından güzel ama o sac kavurma kadar özellikli değil.

Seminerin ertesi günü, araç saatini beklerken yemeğin üzerine biraz çevreyi de dolaştık, biraz şehirden uzaklaşıp tepelere doğru yöneldik. Oradan ilçeye adını veren “göl”ü de gördük, Vikipedi’nin verdiği bilgiye göre o gölün ortasındaki adaya yapılan kaleden (hisar) alıyormuş ilçe ismini.

Tek bir sözle özetlemek gerekirse: “Güzeldi Gölhisar” :)

Gezegen | 3 Yorum »
 

Bir dosyanın ilk n satırını silmek

16 Kasım 2011 Çarşamba, 01:10

Eldeki çok sayıda dosyanın, ilk 6 satırındaki ifadeleri silmem gerekti. Bunu elle yapmak, dosya sayısı çok olunca pek mümkün değil tabii.

Tek bir dosya için şöyle bir basit betik işimi gördü:


count=`wc -l $1|cut -f1 -d" "`
more +7 $1 | head -$(( count )) > $1.kesik
mv -f $1.kesik $1

Daha sonra bunu aradan seçtiğim dosyalara uygulamak için de find kullandım:


find . -name '*.txt' -exec /root/betik.sh {} \;

Tertemiz oldu, bal dök… :)

Gezegen | 2 Yorum »
 

Psi ile Jabber’da Mesaj Tipi Seçimi

26 Ekim 2011 Çarşamba, 15:03

Jabber’da haberleşirken iki tür mesaj gönderim biçimi bulunuyor. Biri “message” diğeri “chat” diye geçiyor. Biri bir seferlik bildirim, diğeri karşılıklı sohbet için kullanılıyor.

“Message” olarak gönderdiğinizde, ICQ zamanlarında olduğu gibi, her bir mesaj ayrı bir pencerede karşınıza çıkarken; “chat” olarak gönderdikleriniz IRC tipi bir sohbet penceresinde açılıyor.

Anında mesajlaşma servislerinin evrimi sonucunda artık sohbet penceresi kullanımı yaygınlaşmış durumda. O nedenle genelde artık tüm jabber istemcileri de öntanımlı olarak “chat” olarak mesajları gönderiyorlar.

Jabber yazışmalarında karşı taraf ne gönderirse göndersin, siz yazışmalarınızı “message” tipi ya da “chat” tipi okumak istiyorsanız, bununla ilgili istemcilerde bir ayar bulmanız da olası. Örneğin Psi istemcisinde,


Options -> Advanced -> Options -> Messages -> Force-incoming-message-type -> Message

yolunu izleyerek bu ayarı yapabilirsiniz. Elbette kişisel tercihinize göre bu ayarı “Message” yerine “Chat” de yapabilirsiniz.

Gezegen | 1 Yorum »
 

Tar dosyalarının sağlamlığının kontrol edilmesi

19 Ekim 2011 Çarşamba, 01:53

Bir dizüstünün disk bölümlerini formatlayarak ext3 -> ext4′e geçirmek için, içindeki bilgileri ağ üzerindeki başka bir bilgisayara attım. Yer olmadığı için sshfs üzerinden bağladığım yere doğrudan tarladım.

Buraya kadar her şey güzel ama dizüstünü formatlamadan önce tar’ın sağlam biçimde ağ üzerinden gittiğine emin olmam gerekiyordu (insan paranoyak olmasın). Yer kısıtından dolayı tar’ı önce yerelde oluşturup, sonra karşıya yollamadığımdan bütünlük kontrolü (MD5, vb) yapmam mümkün değildi. Aynı dert tar’ı yedeklediğim bilgisayarda da geçerli, tar’ı tamamen açacak yerim yoktu ve tar’ın da bir “test” parametresi bulunmuyor.

Neyse ki Linux kullanıyoruz ve /dev/null diye bir aygıtımız var. tar komutunun çıktısını ona yönlendirdim:

tar -xOf hede.tar > /dev/null

Böylece tar’ın sorunsuz açıldığını test ettim ve bunun için hiç disk yerine de ihtiyaç duymadım.

Gezegen | 1 Yorum »
 

Yeni bir başlangıç: Özgür Yazılım A.Ş.

09 Ekim 2011 Pazar, 17:01

Her şey ilkbahar aylarında başladı. Hakan ve Erek’le giderek daha fazla projede beraber çalışmalar yürüttük. Çalışanlarımız yer yer birbirimizin işlerinde görev almaya başladı.

Sonunda parlak bir fikir ortaya attık: “Ortak bir özgür yazılım eğitim firması kursak ya”. Üçümüzün de eğitimlerini vermek istediği çeşitli alanlar vardı, bunların hepsi birleştirildiğinde geniş bir yelpaze ortaya çıkıyordu. Özgür yazılım alanında eğitim önemli bir açık. Üçümüz de çeşitli göç projelerinde çalıştığımız için, işin dönüp dolaşıp tıkandığı önemli bir noktanın eğitim olduğunun bilincindeydik.

Fikir üretme, kafa yorma, görüş alışverişinde bulunma aşamalarında farklı alanlarda yeni fikirler de ortaya çıktı bir sürü. O projeyi de ortak yapalım, bunu da ortak yapalım derken sonunda “yav biz niye tüm operasyonlarımızı birleştirmiyoruz ki?” dedik.

Elbette seneler boyunca kendi ayrı düzenleri içerisinde çalışmaya alışmış 3 şirketin çalışanlarını ve başta elebaşları olan bizleri “kafasına göre” hareket etmek yerine ortak üreteceğimiz bir kurum kültüründe çalışmaya alıştırmanın hiç kolay olmadığı bir gerçek. Malum, hepimizin ayrı bir yoğurt yiyişi var ve yoğurtlarımızı seviyoruz :)

Bir taraftan dostumuz Banu Önal’ın Lavamedya‘sı bizim için bir kurumsal kimlik çalışması yaptı. Çizilen birbirinden güzel logolardan birini beğenmek gerçekten zordu. Hatta “artan” logolardan birini o kadar beğendik ki, gelecek ürünlerimizden biri için şimdiden rezerve ettik.

Planlar, hesaplar, fikir alışverişleri derken Özgür Yazılım A.Ş.’nin resmen kurulması Ağustos ortasını buldu. Soluksuz bir çalışma başladı, hem de araya giren bayram tatilinin, zaten yorucu olan ilk kurulma koşturusunu çok zorlaştırmasına karşın.

İlk iş, ortak çalışacağımız yaşam alanını oluşturmak oldu. İş takip sistemimiz Redmine birkaç gün içinde devredeydi, 1.5 ay gibi kısa bir sürede 777. iş kaydını geride bıraktı. Alan adı, sürüm takip sistemi, e-posta sunucusu, jabber servisi derken mevcut yürüyen projeleri entegre etmeye başladık.

Elbette fiziksel ofisleri de oluşturmamız gerekti. Ankara’da Kızılay’da bir ofis tuttuk. Ofisi oluşturmak yordu bizi ama özellikle telefon/ADSL hatlarının bağlanması sırasında bizi sürüm sürüm süründüren Türk Telekom’dan özel olarak bahsetmesek ayıp olacak. Bir taraftan İstanbul’da da iki ofis Levent’te tek bir ofiste birleşti. Bu daha bir sancılıydı, ofis kapatmak beraberinde bir sürü resmi işlemi de getiriyor.

Sanırım en zoru, bir taraftan müşterileri ayazda bırakmadan çalışmaları yürütürken, bir taraftan da şirketi oluşturma işlerine koşturmak oldu. Bundan en büyük silleyi de web sitemiz yedi. Terzi kendi söküğünü dikemez misali, koşturudan 1 ay boyunca logomuz ve kısa bir tanıtım yazısı dışında sitede hiçbir bilgi yer almadı. Nihayet birkaç gün önce siteyi açmayı başardık — halihazırda hizmetini verdiğimiz ama içeriğini hazırlama fırsatını bulamadığımız ürünlerimizi sitenin bir sonraki sürümüne bırakarak…

Yeni şirketin benim en keyif aldığım tarafı, birçok güzel insanla daha omuz omuza çalışmak oldu. Hani bir şirket dediğini de içindeki insanlar oluşturuyor sonuçta. Pazartesi işbaşı yapacak Onur’la beraber “10 kişilik dev kadromuz” :) şimdilik tamamlanmış olacak.

Bir taraftan boş durmayıp, bu Cuma-Cumartesi yapılacak olan Özgür Web Teknolojileri Günleri 2011‘in de etkinlik sponsorlarından biri olduk. Üstelik ekipteki herkes konuşmacı olarak çeşitli özgür yazılım teknolojileri konusunda bilgi birikimi ve deneyimlerini paylaşıyor olacak.

Özetle… Bindik bir alamete, gidiyoruz güzel günlere :)

Gezegen | 16 Yorum »