Evimde acayip bir nesne var.
2 oldular
Klasik bir yeni yıl yazısı yazmak istemiyorum, zira çok var ortalıkta. Beni ilgilendiren şey; 2009′un benden neler götürdüğü ve neler getirdiği. Şöyle bi düşünüyorum da götürdükleri daha fazla. Mesleğim olacak konuyu eskisi kadar sevmiyorum ve eskisinden daha fazla gelecek endişesi taşıyorum mesela. Ve buna paralel olarak da derslerden soğudum, akademik profilim düşüş gösterdi. Umrumda mı? Tabii ki hayır…
Daha önemli kayıplar da yaşadım aslında, sınıf arkadaşımı kaybettim. Zamansız ve ani… Nur içinde yatsın. Dahası var aslında ama yazasım yok…
Kazandığım şeyler de var aslında, programlama bilgimi artırdım, teknik bilgilerimi artırdım.
Bir geek’in kazanımları!
Ayrıca Hadron’la birlikte uğraştığım işlere orjinal bir imza atma şansını da ucundan yakaladım gibi geliyor.
Neyse, iyi yıllar. Bu da kaybetmiş bir adamın, okunmayan bloguna yazdığı son yazı olsun… Tabii eğer blogu terketmekten vazgeçmezsem.

Hadron’u sourceforge’a yolladım. Aşağıdaki adreslerden indirilebilir.
MD5: 08f8513a4d4825ccb54afdc44420c7d3
SHA1: 481ee9f2193bce02da173fa93c768c4d9320bde3
http://ignum.dl.sourceforge.net/project/hadrongnulinux/iso-i686/hadron-prealpha1-i686.is0
http://eventualis.org/stuff/hadron-prealpha1-i686.iso
Aslında pek çok sunucu üzerinde tutuluyor.
Ya da daha iyisi…
https://sourceforge.net/projects/hadrongnulinux/files/iso-i686/hadron-prealpha1-i686.iso/download
Bilinen hatalar
/etc/init.d/wicd restart komutunu kullanın.Bazılar göz yumduğum hatalar, bazıları ise sonradan fark ettiklerim. Bu hataları raporlamanıza gerek yok, başka sorunlar görürseniz Freenode üzerindeki #hadron kanalına sizi beklerim. Orada olacağım, ayrıca bana bu blog yardımıyla da ulaşabilirsiniz. Bu arada eğer kablo yoluyla internete bağlanıyorsanız dhclient komutu sizi internete çıkarabilir. Eğer kablosuz internet kullanıyorsanız Wicd’i çalıştırmaya uğraşın ya da wpa_supplicant kullanın. Aşağıdaki adreste nasıl bağlantı kuracağınızı anlatan detaylı dökümanlar var:
http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=4&chap=4
Kullanmanın zor olacağını söylemiştim.
Bu sürüm genel kullanım amacı taşımadığını, sadece sistemin nasıl işlediğine dair bir demo olduğunu unutmayın. Sizden şu programda sıkıntı var şeklinde geribildirimlerden ziyade;
Ayrıca yeni fikirlerinizi de bekleriz…
Not: USB’ye kurulum betiğini Python ile baştan yazıyorum. En kısa sürede tamamlamaya çalışırım. Siz o zamana dek sistemi CDROM’dan kullanın, sabit diskinize kurun ya da aşağıdaki USB belleğe kurulum yöntemi ile kullanın. Canınız nasıl isterse…

Evet, sonunda indirilebilir!
http://ogrenci.hacettepe.edu.tr/~artan05/hadron-prealpha1-i686.iso
md5sum 085bf1bea330cff2d72a4c83738dd1cd
Gece sf’ye attım aslında ben Hadron’u ama açılırken çekirdeği görmüyordu… Sorunu hemen çözdüm ve Erdem’e yolladım. O da kendi bilgisayarında uygulayıp yeni bir ISO inşa etti ve kendi web alanına yerleştirdi. Ben akşam eve dönüp düzenlenmiş ISO’yu sf’ye yerleştirene ve USB kurulum betiği tamamlayana kadar siz yukarıdaki ISO’yu indirin.
Erdem denemiş, sorun yok gibi gözüküyor…
İndirdiğiniz dağıtımın prealpha1 düzeyinde olduğunu, pek çok hata içerdiğini ve kullanımının zor, bazen de çok zor olduğunu bilin. Grafiksel bir açılış yöneticisi yok, aşağıdaki komutlarla kendinize bir xorg.conf dosyası oluşturabilirsiniz.
X -configure
mv /root/xorg.conf.new /etc/X11/xorg.conf
daha sonra startxfce4 komutuyla grafiksel arayüze geçebilirsiniz.
Erdem Artan’a çok çok çok teşekkür ediyorum.
Sınavlarında başarılar…
Sistemdeki tüm parolalar da hadron ve sistemde lepton diye bir kullanıcı var.
——————-
dd if=/usr/share/syslinux/mbr.bin of=/dev/hebele dd if=/usr/lib/syslinux/mbr.bin of=/dev/hebele extlinux -i /mnt/hadronlive/extlinux dd if=/dev/zero of=/mnt/hadronlive/permanent/permanent.hadron bs=1k seek=350k count=1 mkfs.ext2 /mnt/hadronlive/permanent/permanent.hadron
2002 yılındaki ilk Linux deneyimimden 2007 yılının yaz dönemine kadar masaüstü tercihimi hep KDE’den yana kullandım. Tabii bunda kullandığım dağıtımların(Redhat, Mandrake, Slackware, çok kısa bir dönem SuSe) KDE ile geliyor oluşu ve KDE’nin o dönemde GNOME’a göre daha insancıl görünüşüydü. Nasıl insancıl demeyin, Redhat 7.1 kullandığım dönemde GNOME pek de parlak bir durumda değildi. Sene 2002, GNOME aşağıdaki gibi birşey…

Şöyle bir soru sorabilirsiniz; Peki KDE nasıldı ki sen GNOME’u beğenmiyorsun? O da pek parlak değil ama o dönemde kullandığım Windows 98′den daha iyi olduğunu rahatlıkla söyleyebilirim. Neyse, hep KDE kullanırken ve GNOME’u boşa çaba olarak görürken 2007 yazında Ubuntu Studio kurmamla birlikte KDE’yi tamamen unuttum.
Ve bu günlere kadar da GTK arayüzünden hiç vazgeçmedim. KDE’yi fazla ayrıntılı, ağır bir masaüstü olarak görmeye başladım. KDE4 serisinin başlangıcında yaşadığım deneyimler ise tam bir fiyasko zaten anlatmama bile gerek yok!
Son dönemde GNOME’dan rahatsız olmaya başladım. C# denen şeye ve dolayısıyla Mono‘ya gittikçe yaklaştığından şüpheleniyor olmam, 2007′den bu yana sürüm numarasından başka birşeyin değişmiyor oluşu ve başka bazı sebepler beni GNOME’dan soğutuyor. Xfce4.6 serisini kullandım bir dönem. Gerçekten güzel bir masaüstü ortamı ama bir süre sonra kabak tadı verdi bana.
Daha sonra Gürkan ve Samed’in gazlamasıyla Awesome‘a geçtim çok kısa bir dönem. Gerçekten de adı gibi “awesome” bir çalışma Awesome! Her zaman sistemde tutacağım sıradışı bir yazılım, o bir köşede dursun.
Bir süredir KDE4 serisini adam gibi deneyip bir karar verebileceğim eli yüzü düzgün dağıtımı arıyorum. Bir aralık Mandriva indirir gibi oldum, vazgeçtim. Kubuntu geçti aklımdan, burun kıvırdım hemen!
Bayramdan evvel Archlinux üzerinde Kdemod denedim ama o da eski havasından çok şey kaybetmişti. Onu uçurdum ve Archlinux’un kendi deposundan KDE’nin en yeni sürümünü kurdum. Sonuç harika! Archlinux’un binary bir dağıtım olarak harika olmasının yanında KDE4′dan de çok memnunum. Aşağıdaki komutu vermeme az kaldı belki de:
# umount /mnt/archlinux; mkfs.ext4 /dev/sda1; emerge -av @kdebase
Sizce ne iş yapıyor bu komut?

Geçtiğimiz Haziran ayının ikinci haftasından beri üzerinde kafa yorduğum, bazen kesintilere uğrasa da bugünlere kadar getirdiğim ama artık hem insanlara hem de bana kabak tadı veren hadron, artık prealpha seviyesine gelmeye başladı. Dün lpms’yi sistemi CDROM’dan başlatabilecek hale getirdikten sonra bu hafta sonu ya da önümüzdeki haftanın ilk günleri sürüm çıkarma kararım iyice kesinleşti. Aşağıda bir ekran görüntüsü veriyorum, çok orjinal birşey olduğundan değil. Aksine oldukça basit bir ekran görüntüsü; CDROM’dan açılış meselesini test ettiğim ISO kalıbının şekilsiz masaüstü sadece… Ama duvarkağıdı içerdiği mesaj açısından önemli.
Bu duvarkağıdını Gürkan hazırlamıştı, o zamanlar sürüm adı falan olmadığından öylesine birşeyler yazmış, logo da o ok işareti değil. Neyse, zaten az kaldı. Bunca zamandır uğraştığım şeyin ne olduğunu ve neler planladığımı açıklayan bir yazı yazmam farz oldu zaten. Bekleyin…

Sed (veya GNU sed, gsed) , oldukça yetenekli bir yazı düzenleme editörüdür. Tek komutla sizi büyük bir iş yükünden kurtarabilir, işte bazı kullanım örnekleri:
BOŞLUK KOYMA
# içinde “deneme” geçen satırların üzerinde bir boş satır oluştur
sed ‘/deneme/{x;p;x;}’
# içinde “deneme” geçen satırların altında bir boş satır oluştur
sed ‘/deneme/G’
# içinde “deneme” geçen satırların hem üzerinde hem altında bir boş satır oluştur
sed ‘/deneme/{x;p;x;G;}’
# her 5 satırdan sonra bir boş satır ekler
gsed ‘0~5G’ # GNU sed
sed ‘n;n;n;n;G;’ # diğerleri
NUMARALANDIRMA
# her satırın başına satır numarası yazar, arada bir “tab” boşluk koyar
sed = dosya_adı | sed ‘N;s/\n/\t/’
# her satırın başına satır numarası yazar, solda sağa dayalı numaralar
sed = dosya_adı | sed ‘N; s/^/ /; s/ *\(.\{6,\}\)\n/\1 /’
# her satırın başına satır numarası yazar ancak eğer satır boşsa numara görünmez
sed ‘/./=’ dosya_adı | sed ‘/./N; s/\n/ /’
# satır sayısını yazdırır
sed -n ‘$=’
YAZI DÖNÜŞÜMÜ
# UNIX altında Windows satır sonlarını (CR/LF) Unix formatına dönüştürür
sed ’s/.$//’
# Windows/Dos altında Unix satır sonlarını Windows formatına dönüştürür
sed “s/$//”
# her satırın önündeki boş alanı (boşluk, tab) kaldırır
sed ’s/^[ \t]*//’
# her satırın sonundaki boş alanı (boşluk, tab) kaldırır
sed ’s/[ \t]*$//’
# her satırın sonundaki ve başındaki boş alanı (boşluk, tab) kaldırır
sed ’s/^[ \t]*//;s/[ \t]*$//’
# her satırın başına 5 boşluk karakteri koyar
sed ’s/^/ /’
# yazıyı 79-sütun genişliğin ortasına taşır, yöntem 1′de satır başındaki
# boşluklar önemsizdir, yöntem 2′de onlar da taşınır.
sed -e :a -e ’s/^.\{1,77\}$/ & /;ta’ # yöntem 1
sed -e :a -e ’s/^.\{1,77\}$/ &/;ta’ -e ’s/\( *\)\1/\1/’ # yöntem 2
# her satırda “foo”ları bulur ve “bar” olarak değiştirir
sed ’s/foo/bar/’ # satırdaki ilk foo’yu değiştirir
sed ’s/foo/bar/4′ # satırdaki 4. foo’yu değiştirir
sed ’s/foo/bar/g’ # satırdaki tüm foo’ları değiştirir
# yalnızca “baz” kelimesini bulduğu satırlarda
# “foo”ları bulur ve “bar” olarak değiştirir
sed ‘/baz/s/foo/bar/g’
# yalnızca “baz” kelimesini bulduğu satırlarda
# “foo”ları “bar” olarak değiştirmez, diğerlerini değiştirir
sed ‘/baz/!s/foo/bar/g’
# “scarlet”, “ruby” veya “puce” değerlerini “red” olarak değiştirir.
sed ’s/scarlet/red/g;s/ruby/red/g;s/puce/red/g’ # birçok sed’e göre
gsed ’s/scarlet\|ruby\|puce/red/g’ # sadece GNU sed’e göre
# satırları başaşağı eder, ilk satır sona, son satır başa
sed ‘1!G;h;$!d’ # yöntem 1
sed -n ‘1!G;h;$p’ # yöntem 2
# her satırı ters çevirir: ahmet > temha
sed ‘/\n/!G;s/\(.\)\(.*\n\)/&\2\1/;//D;s/.//’
# eğer bir satır ters taksim ile “\” biterse, altındaki satırı ona ekler
sed -e :a -e ‘/\$/N; s/\\n//; ta’
# eğer bir satır eşittir “=” ile başlıyorsa, onu önceki satırın sonuna ekler
# = işaretini de boşluk ile değiştirir
sed -e :a -e ‘$!N;s/\n=/ /;ta’ -e ‘P;D’
# rakam setlerine virgül ekler: “1234567″ > “1,234,567″
gsed ‘:a;s/\B[0-9]\{3\}>/,&/;ta’ # GNU sed
sed -e :a -e ’s/\(.*[0-9]\)\([0-9]\{3\}\)/\1,\2/;ta’ # diğer sed’ler
BELLİ BİR BÖLÜMÜ YAZDIRMA
# Bir dosyanın ilk 10 satırını yazdırır
sed 10q
# Bir dosyanın ilk satırını yazdırır
sed q
# Bir dosyanın son 10 satırını yazdırır
sed -e :a -e ‘$q;N;11,$D;ba’
# Bir dosyanın son 2 satırını yazdırır
sed ‘$!N;$!D’
# Bir dosyanın son satırını yazdırır
sed ‘$!d’ # yöntem 1
sed -n ‘$p’ # yöntem 2
# sadece içinde “deneme” bulunan satırları yazdırır
sed -n ‘/deneme/p’ # yöntem 1
sed ‘/deneme/!d’ # yöntem 2
# sadece içinde “deneme” bulunmayan satırları yazdırır
sed -n ‘/deneme/!p’ # yöntem 1
sed ‘/deneme/d’ # yöntem 2
# sadece içinde “deneme” bulunan satırın bir üstündeki
# satırı yazdırır
sed -n ‘/deneme/{g;1!p;};h’
# sadece içinde “deneme” bulunan satırın bir altındaki
# satırı yazdırır
sed -n ‘/regexp/{n;p;}’
# içinde AAA, BBB ve CCC olan satırları yazdırır (sıra gözetmez)
sed ‘/AAA/!d; /BBB/!d; /CCC/!d’
# içinde sırasıyla AAA, BBB ve CCC olan satırları yazdırır
sed ‘/AAA.*BBB.*CCC/!d’
# içinde AAA veya BBB veya CCC bulunan satırları yazdırır
sed -e ‘/AAA/b’ -e ‘/BBB/b’ -e ‘/CCC/b’ -e d # diğer sed’ler
gsed ‘/AAA\|BBB\|CCC/!d’ # GNU sed
# AAA içeren paragrafları yazdırır (paragraf=boş satırlar arası)
sed -e ‘/./{H;$!d;}’ -e ‘x;/AAA/!d;’
# içinde AAA veya BBB veya CCC bulunan paragrafları yazdırır
sed -e ‘/./{H;$!d;}’ -e ‘x;/AAA/b’ -e ‘/BBB/b’ -e ‘/CCC/b’ -e d
gsed ‘/./{H;$!d;};x;/AAA\|BBB\|CCC/b;d’ # GNU sed
# 65 karakter veya daha uzun olan satırları yazdırır
sed -n ‘/^.\{65\}/p’
# 65 karakterden daha kısa olan satırları yazdırır
sed -n ‘/^.\{65\}/!p’ # yöntem 1
sed ‘/^.\{65\}/d’ # yöntem 2
SEÇİLEN BÖLÜMLERİ SİLME
# Iowa ve Montana değerleri arasındakileri siler
sed ‘/Iowa/,/Montana/d’
# birbirinin aynısı olan satırları siler.
# en baştaki satır durur, diğerleri silinir
sed ‘$!N; /^\(.*\)\n\1$/!P; D’
# sadece birbirinin aynısı olan satırları silmez
sed ‘$!N; s/^\(.*\)\n\1$/\1/; t; D’
# yazının ilk 10 satırını siler
sed ‘1,10d’
# yazının son satırını siler
sed ‘$d’
# yazının son 2 satırını siler
sed ‘N;$!P;$!D;$d’
# yazının son 10 satırını siler
sed -e :a -e ‘$d;N;2,10ba’ -e ‘P;D’ # yöntem 1
sed -n -e :a -e ‘1,10!{P;N;D;};N;ba’ # yöntem 2
# her 8. satırı siler
gsed ‘0~8d’ # GNU sed
sed ‘n;n;n;n;n;n;n;d;’ # diğer sed’ler
# yazıdaki TÜM boş satırları siler
sed ‘/^$/d’ # yöntem 1
sed ‘/./!d’ # yöntem 2
# yazının başındaki boş satırları siler
sed ‘/./,$!d’
# yazının sonundaki boş satırları siler
sed -e :a -e ‘/^\n*$/{$d;N;ba’ -e ‘}’
Cern’deki Büyük Hadron Çarpıştırıcısı‘na ekmek kaçadursun benim kişisel hadron çarpıştırıcım, en azından çalıştırıcım olan emektar dizüstü bilgisayarımda işler fena gitmiyor. Yolun sonu dediğim ve saatler sonra vazgeçtiğim günden beri ilerleme kaydettim biraz. Aşağıdaki gibi sıralayabilirim galiba:
#lpms --index komutunu vererek yapıyorum ve gerisini lpms hallediyor. Depo dosyasından bir kesit aşağıda, bu blokdan yüzlerce olduğunu düşünün! <Module>
<Name>pygtk</Name>
<Description>GTK+2 bindings for Python</Description>
<Homepage>www.pygtk.org</Homepage>
<Version>2.16.0</Version>
<Dependencies>
<Dependency>gtk+</Dependency>
</Dependencies>
<Sha1sum>7a58be7a9e7a1c549cbb3708d0246877d699d6d9</Sha1sum>
</Module>
Bağımlılık çözme konusunu şimdilik çözmüş olduğum için kafam rahat, sadece basit ve ufak işler var. Bayram dönüşü elle tutulur birşeyler düşebilir ortamlara. Neyse, sayısız fikir ve sorun ve tabii ki vizeler beni bekliyor.
Görüşmek üzere…
Bu arada hadron nedir bu adam 293 kelime ile neyden bahsetti diyorsanız ya buraya tıklayın ya da hadron’un Aufs dosya sistemi üzerinde çalışan yeni bir dağıtım olduğunu bilmekle yetinin!
