26
May
Pardus 2011'de cep telefonuna Bluetooth üzerinden bağlanıp kısa mesaj göndermek, İnternet'e bağlanmak gibi işlemleri sadece konsol kullanarak yapmak istiyordum. Bugün biraz araştırma ve uğraşma sonucunda bunları başardım.

Aşağıdaki komutların tamamını root yetkisiyle vermek gerekiyor. Önce gerekli araçları kuralım:
pisi it python-gtk bluez -y
Bağlantı kurmak için kullanacağımız Bluetooth arayüzünün ismini öğrenelim:
hciconfig
Bu komut şöyle bir liste verecektir:
hci0: Type: BR/EDR Bus: USB
BD Address: 00:24:D2:C8:F4:A7 ACL MTU: 1021:6 SCO MTU: 64:1
UP RUNNING PSCAN ISCAN

RX bytes:43710 acl:224 sco:0 events:815 errors:0
TX bytes:8544 acl:233 sco:0 commands:176 errors:0
Buradan bilgisayarımızda bir tane Bluetooth arayüzünün bulunduğunu ve isminin hci0 olduğunu anlıyoruz. Bluetooth arayüzünü görünür ve bağlanılabilir duruma geçirmek için şu komutu veriyoruz:
hciconfig hci0 piscan
 Şimdi şu komutu verip telefonun bağlanmasını bekler konuma geçiyoruz:
simple-agent
Telefondan Bluetooth aygıtlarını aratıp bilgisayarımızı buluyoruz ve eşleştirme için seçiyoruz. Seçtikten sonra 0000 gibi kendi seçtiğimiz herhangi bir pin kodu giriyoruz. Telefona pin kodu girdikten sonra simple-agent bunu soracaktır. Ona da aynı pini giriyoruz. Telefon eşleşmeyi onaylayacaktır. İsterseniz bu adımdan sonra telefonun ayarlarından bilgisayara tam yetki vererek iki de bir bağlantıyı onaylamak derdinden kurtulabilirsiniz. Artık simple-agent'tan çıkmak için ctrl+c'ye basabiliriz. Şimdi modem arayüzünün nerede olduğunu öğrenelim:
hcitool scan
Bu komut aşağıdaki gibi bir liste verecektir:

Scanning ...
        00:1C:D4:84:BD:77       jnmbk-n73
Bu listeden bağlanacağımız telefonun MAC adresini (00:1C:D4:84:BD:77) kullanarak bunun hangi kanalda modem hizmeti verdiğini öğreniyoruz:
sdptool browse 00:1C:D4:84:BD:77|grep Dial -C5
Bu komut aşağıdaki gibi bir çıktı verecektir:
Service Name: Dial-Up Networking
Service RecHandle: 0x1000b
Service Class ID List:
  "Dialup Networking" (0x1103)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 2
Language Base Attr List:
  code_ISO639: 0x454e
  encoding:    0x6a
  base_offset: 0x100
Profile Descriptor List:
  "Dialup Networking" (0x1103)
    Version: 0x0100
Bu çıktıda bizi ilgilendiren tek şey Channel: 2 olan satırdır. Buradan modem servisinin 2 numaralı kanalda olduğunu öğreniyoruz. Öğrendiğimiz bilgileri kullanarak /etc/bluetooth/rfcomm.conf dosyasını aşağıdaki gibi düzenliyoruz:

rfcomm0 {
    bind yes;
    device 00:1C:D4:84:BD:77;
    channel 2;
    comment "jnmbk-N73";
}
Dosyayı kaydettikten sonra şu komutla modem aygıtını oluşturuyoruz:
rfcomm bind rfcomm0 
Artık /dev/rfcomm0 aygıtını dial-up modem gibi kullanabiliriz. Telefonunuz bilgisayarın Bluetooth alanı (çoğu zaman 10 metre) içinde bulunduğu sürece bağlantınız kopmayacaktır. Telefon uzaklaşıp tekrar yakınlaşırsa da modem aygıtı ek işlem yapmadan tekrar çalışır hale gelecektir. Son komutu /etc/conf.d/local.start dosyasına ekleyerek açılışta modem aygıtının otomatik oluşturulmasını sağlayabilirsiniz.
30
Ara

MSP430 LaunchPad, şuradan da görebileceğiniz gibi öğrenme amaçlı kullanılan çok düşük fiyatlı bir mikro denetleyicidir. Geçen hafta Gerçek Zamanlı Sistemler dersinde tüm sınıfa bunlardan (msp-exp430g2) dağıtıldı ve bunun üzerinde birkaç uygulama yapmamız istendi. Bu cihazlar ayrıca mcu-turkey adlı yarışmaya katılan öğrencilere de dağıtılıyor. Geliştirmeyi Pardus'la yapmak isteyenlere bir başlangıç olabilmesi amacıyla bu yazıyı yazıyorum.

Derste gösterilen resmi geliştirme ortamı sadece Windows üzerinde çalışıyor. Sitesindeki Linux Support başlığı altında ise birkaç blog linki var. Bu bağlantıdaki blogda Ubuntu için alternatif bir geliştirme ortamının nasıl kurulup çalıştırılacağı anlatılıyor.

Windows'taki geliştirme ortamı 1GB boyutunda ve ücretsiz sürümünde kod uzunluğu sınırı bulunuyor. Linux'taki geliştirme ortamında ise sınırlama yok ve dosya boyutu birkaç MB büyüklüğünde... Yazının geri kalanında bunu Pardus 2011 üzerinde nasıl kurduğumu anlatacağım. Diğer Pardus sürümlerinde de aynen çalışacağını düşünüyorum.

Kaynak koddan derleyerek kurmamız gereken iki uygulama var: Derleyici olan mspgcc4 ve mspgcc4 ile derlenen kodu denetleyiciye yüklemeye yarayan mspdebug. Bunları derleyebilmek için pisi deposundan system.devel bileşenini ve git'i kurmalıyız. Ayrıca cihazdan okuma yapabilmek için minicom kurmamız da faydalı olacaktır. Şu komut bunları sırayla kuracaktır:

sudo pisi it -c system.devel && sudo pisi it git minicom

Pisi'nin işi bitince mspgcc4'ü kurmak için şu komutları veriyoruz:

git clone git://mspgcc4.git.sourceforge.net/gitroot/mspgcc4/mspgcc4
cd mspgcc4
sudo sh buildgcc.sh

Son komutu verince renkli bir ekranda birkaç soru sorulacak. Tüm soruları Enter ile geçebilirsiniz fakat son soruda "Do you want to start build right now?" diyor. Bunun öntanımlı yanıtı 'Hayır' olduğu için Enter'a basmadan önce Evet'in üzerine gelmeyi unutmayın. Derleme işlemi bir saat kadar sürebilir.

mspdebug'u indirip kurmak için şu komutları veriyoruz:
wget -O mspdebug.tar.gz http://sourceforge.net/projects/mspdebug/files/mspdebug-0.13.tar.gz/download
tar -zxvf mspdebug.tar.gz
cd mspdebug
make
sudo make install
Bunun derlenmesi birkaç saniye sürecektir.

Sonunda geliştirme ortamımız hazır. Şimdi bir program derleyip cihaz üzerinde çalıştıralım. Örnek kod olarak birinci ödevimiz için hazırladığım kodu buradan indirebilirsiniz. Kodun yaptığı işi açıklamak gerekirse:

Cihazla birlikte kurulu gelen programın yaptığı işi aynen yapıyor (yani sıcaklık ölçümü). Buna ek olarak düğmeye basınca bilgisayara proje ekibinin isimlerini gönderiyor. Ölçüm değerlerini ise değişiklik olduğu zaman bilgisayara gönderiyor. Ve bunları onaltılık sistemde derece cinsinden gönderiyor.

Kodu main.c adıyla kaydedip şu komutla derleyebilirsiniz.

/opt/msp430-gcc-4.4.5/bin/msp430-gcc -Os -mmcu=msp430x2231 -o main.elf main.c

Oluşan main.elf dosyasını mspdebug ile bilgisayarımızın USB çıkışına bağlı LaunchPad'e yükleyelim.

mspdebug rf2500 "load main.elf"

Program yüklendiği anda cihazın ledleri yanıp sönmeye başlayacaktır. Bu durumda iken minicom ile bağlantı kuralım.

Minicom ile ilk defa bağlantı kuracaksanız şu komutla minicom'u ayar modunda çalıştırın:

sudo minicom -s

Gelen ekranda Serial port setup'ı seçin. A'ya basıp aygıt adını /dev/ttyACM0 olarak değiştirin. F'ye basıp Hardware flow control'u kapatın. E'ye basıp gelen ekranda A ve B tuşlarını kullanarak Baud Rate ayarını 2400'e getirin. Sona ana menüye dönüp Save setup as dfl'yi seçin.

Artık minicom ayarları da tamam olduğuna göre cihazı usb portuna takıp birkaç saniye bekleyelim ve sadece minicom komutunu vererek bağlantı kuralım. Üzerinde P1.3 yazan düğmeye bastığınızda ekranda sıcaklık değerlerini görmeye başlayacaksınız. Cihazı elleyip ısıtarak değişimi görebilirsiniz.

Eğer minicom ile ilk denemede bağlantı kuramıyorsanız cihazı çıkarıp yeniden takmayı deneyin. Aslında minicom'u her kapattığınızda bir daha okuma yapabilmek için cihazı çıkarıp takmak gerekiyor. Şimdilik çözemedeğim tek sorun bu.
9
Ağu
İki gün önce elime Turkcell'in kampanyayla dağıttığı Compaq Mini 110c-1010ET lerden geçti. Klavyesi ve sabit diski yeterince büyük ve dahili 3G modemi olan bu ufaklık çok hoşuma gitmişti.

İşin ucunda her yerden internete girebilmek olduğu için kardeşimin bilgisayarları değişelim teklifine hayır diyemedim. Bilgisayarımı hemen bıraktıktan sonra ilk iş olarak elimin altında duran Ubuntu Netbook Remix kurulu USB belleği Mini'ye takıp başladım. Ses çıkmaması ve 3G modemin ortalıkta görünmemesi dışında bir sorunu yoktu. Bundaki Gparted'i kullanarak yanlışlıkla(!) Windows bölümünü ortadan kaldırdıktan sonra Pardus ve Ubuntu'yu yan yana kurmayı düşünüp ona göre yeniden bölümlendirdim.

Ubuntu'yu kurduktan sonra Pardus 2009 kurulumunda ilk kez bu bilgisayarda bir sorunla karşılaştım. /dev içeriği dolduruluyor yazan yerde bilgisayar kilitleniyordu. Açılışta pek çok kernel parametresini denedikten sonra bir sonuca ulaşamayınca başka kurulum yöntemleri düşünmeye başladım. Diğer bilgisayarı kullanarak Pardus'u harici bir diske kurdum ve bunu Ubuntu'yla Mini'de hazırladığım Pardus bölümüne kopyalayarak kurulumu tamamlamış oldum.

/* Aşağıda Compaq Mini'ye Pardus kurulumu ile ilgili yazanları evde denememenizi öneririm. Henüz mutlu sona ulaşamadım. Sadece 3G modemle ilgileniyorsanız ikinci yorumdan itibaren okumaya devam edin. */

Kurduktan sonra tahmin ettiğim gibi yine aynı yere gelince kilitlenmeye devam ediyordu. Hemen Pardus'un açılışından sorumlu olan /sbin/mudur.py'yi inceleyip nerede kilitlendiğini bulmak için aralara ne yapıldığını anlatan çeşitli iletiler ekledim. Udev aygıtları tarayıp /dev dizinini doldurmaya başlıyor, bunun bitmesi beklenirken kilitleniyordu. /etc/udev/udev.conf'ta debug parametresini kullanarak daha ayrıntılı çıktı alabildim. Hangi aygıtın kilitlenmeye sebep olduğunu düşünürken sıkıldım ve başka fikirler denemeye karar verdim.

Önce Pardus'u Ubuntu kerneliyle (2.6.28) açmaya çalışırsam ne olur dedim ve kerneli kopyalayıp grub'a ekleyerek denedim. Tamam açılıyordu ama sürücüler olmadığı için doğal olarak konsolda kalıyordu. Sürücüleri de kopyalamaya üşendiğim için hemen başka bir şey denedim ve hazır Pardus açılmışken pisi'yle depodaki son kerneli kurayım dedim. Bu kez de dbus düzgün çalışmadığı için çomar yapılandırması başarısız oluyordu. Kernele ait çomar betiğini inceleyip çomarın işini (mkinitramfs çalıştırmak ve grub'a eklemek) elle yaparak bunu da atlattıktan sonra yeni Pardus kerneliyle başlattım ve dbusun yine çalışmadığını görünce Pardus kurulumuna biraz ara verip 3G modemle uğraşmaya karar verdim.

/* Asıl konuya dönüyoruz, okumaya devam. */

Ubuntu Jaunty Netbook Remix, 2.6.28 kerneliyle geliyordu ve Mini'deki entegre Hp un2400 Mobile Broadband modem için gerekli olan qcserial modülü 2.6.30 kerneli istiyordu. Aşağıdakileri indirip sudo dpkg -i komutuyla kurduktan sonra artık 2.6.30 kernelim de olmuştu:

linux-headers-2.6.30-020630-generic_2.6.30-020630_i386.deb
linux-headers-2.6.30-020630_2.6.30-020630_all.deb
linux-image-2.6.30-020630-generic_2.6.30-020630_i386.deb

Yeni kernelin en sevdiğim yanı Intel ekran kartını hemen hemen %50 oranında daha performanslı çalıştırıyor olmasıydı. Kötü olan yanı ise Broadcom kablosuz kartın artık çalışmamasıydı. Sahipli sürücüsü olan bu kartın 2.6.30 için sürücüsü yoktu. Durumu kurtarmak için HP'nin sitesinden ilgili Windows XP sürücüsünü indirdim ve Wine'yle çalıştırıp açılmasını sağladıktan sonra ndiswrapper ile bu sürücüyü yükledim. Sürücüyü b43 ve ssb modülleri sahiplendiği için önce rmmod ile bunları kaldırıp modprobe ndiswrapper diyerek kablosuzun çalışmasını sağlayabildim.

Bu kadar uğraştıktan sonra yine sıkılmaya başladım ve müzik dinleyebilmek için ses sorunuyla ilgilenmeye karar verdim. Ubuntu, alsa'nın biraz eski bir sürümünü kullanıyordu ve bu sürüm Mini'deki ses kartının kullandığı yepyeni kodek için destek vermiyordu. Hazır kerneli yenilemişken alsa sürücülerinin de son halini indirip sadece hda-intel sürücüsünü derledim ve kurduğum gibi ses gelmeye başladı.

Müzik de tamam olunca sıra 3G Modeme geldi. Kernel güncel olmasına rağmen lsusb çıktısında modemle ilgili hiçbir şey görünmüyordu. Bu konuda araştırırken bir forumda hp-wmi sürücüsünün adının geçtiğini gördüm. Bu sürücü HP bilgisayarlardaki kısayol düğmelerinin çalışmasını sağlıyordu. Sürücüyü modprobe ile etkinleştirip kablosuz ağ düğmesine iki kez basınca lsusb çıktısında modemi görmek heyecan vericiydi.

Çeşitli kaynaklarda yazdığına göre modem orada göründüğü haliyle bir işe yaramıyordu. Quallcomm'un ürettiği bu modemler gobi_loader denen bir araçla servis sağlayıcısının verdiği firmware'in modeme yüklenmesi ile çalışır hale geliyordu. Sonrasında da qcserial adlı bir modülün yüklenmesi gerekliydi. Hemen bu ikisini indirip derledim. Modemin firmware'ini almak bunlardan uzun sürdü çünkü HP'nin sitesindeki dosya tam 130MB büyüklüğündeydi. İçinde tüm servis sağlayıcılar için birer firmware dosyası bulunuyordu. Bunlar 0'dan 10'a kadar isimlendirilmiş dizinlerin içinde ikişer dosya halinde duruyordu. Bizim Turkcell olsa olsa sonuncu olmuştur diyerek 10 numaralı dizindekilerle şansımı denemeye karar verdim. Bunları /lib/firmware/gobi/ altına kopyaladım ve kablosuz ağ düğmesini tekrar aç-kapa yapıp biraz bekledikten sonra modem çalışmaya başladı.


Modem çalışmasına rağmen yine de bağlanamıyordu. Pardus-kullanıcıları e-posta listesinde Turkcell Vınn Modem ile bağlanabildiğini açıklayan Akın'a bir e-posta atarak fikrini aldım. SIM kartı bir telefona takıp pin kodu korumasını kaldırdım ve Apn yerine mgb yazdım. Sonra bağlan dedim ve çıkan küçük parola pencerelerini hiçbir şey yazmadan Tamam'a tıklayarak kapattım. Son pencereyi de tamam diyerek kapattığım anda bağlantı kurulmuştu.

Sırada Pardus 2009'daki sorunu bulup kurulumu tamamlamak var...

Not: Yazıdaki derleme ve kurulumlarla ilgili bağlantıları ve komutları zaman bulduğumda ekleyeceğim. Şimdilik bu haliyle yayına alıp aynı durumla uğraşan kişilerin zaman kazanmasını ve bunun mümkün olduğunu görmelerini istedim.
18
Haz
Önceki yazımda KDE4'ün web çizgi romanı okuyucusundan ve GPF ile tanışmamdan bahsetmiştim. Bir süre çizgi romanı KDE4'ün plasmoidini kullanarak okuduktan sonra plasmoidin 31 Mart 2000'den sonrasını gösteremediği gerçeğiyle karşılaştım. Çünkü 1 Nisan 2000 tarihinde çizgi romanın kendisi yerine şaka amaçlı bir sayfa konmuştu ve plasmoid resmi indiremediği için ilerleyemiyordu.

Bunun ardından çizgi romanı bir süreliğine sitesinden okumaya devam ettim. Bu kez de sayfanın yenilenmesi uzun sürdüğü için parçalar arasında çok bekliyordum. En sonunda bekleme sorunumu ve belli bir tarihten sonrasını indirememe sorununu çözecek, aynı zamanda sevdiğim bölümleri kaydedebileceğim bir PyQt uygulaması yazmaya karar verdim.


Uygulamayı yazmam yaklaşık 30 dakika sürdü. İki parçadan oluşuyor. İlk parça olan indirici sadece siteye bağlanıp çizgi roman parçalarını kaldığım yerden şu anki tarihe kadar teker teker indirmeye çalışıyor ve bunları belirlediğim bir dizine tarihleriyle kaydediyor. İkinci parça olan okuyucu ise tıpkı KDE4 plasmoidinde olduğu gibi bu dizindeki resimleri sırayla gösteriyor. Artık sadece sırayla değil istediğim numaralı parçaya atlayarak da okuyabiliyor, sevdiğim parçaları ve son okuduğum parçayı kaydedebiliyordum.

Bir süre sonra plasmoidde olup da uygulamamda eksik olan bir özelliği fark ettim. KDE4 plasmoidleri istenilen açıyla çevrilebiliyorlar. Plasmoidi 90 derece çevirdiğim zaman yatarken de boynumu kırmadan okuyabiliyordum. Ekran kartımın sürücüsü desteklemediği için görüntüyü yan çevirmem de mümkün değildi. Bu yüzden uygulamama resmi gösterirken verilen açıyı kullanmasını sağlayan yeni bir özellik ekledim. Başta zor olacağını düşünmüştüm ama Qt sayesinde şu üç satır işimi gördü:
transform = QtGui.QTransform()
transform.rotate(90)
pixmap = pixmap.transformed(transform)
Diğer insanların da faydalanabilmesi için yazdığım uygulamanın kodlarını GPLv3 ile lisanslayıp sudrap SVN deposuna koydum. Bir türlü zaman ayırıp kurulabilecek hatasız bir uygulama haline getiremediğim için pisi paketini yapmaya da uğraşmadım. İlgililer kodları buradan inceleyip indirebilir, hatta değiştirip tekrar dağıtabilirler.

GPF'i sonuna kadar okuduktan sonra kendi çizgi romanımı yapma girişimlerine başladım. Aslında bu ayrı bir blog girdisinin konusu olabilir. Ama hazır başlamışken devam edeyim. Girişimlerim birkaç hafta sürdü. Sonra plasmoide yeni eklenen bir web çizgi romanı daha ilgimi çekti. Adı Geek Hero Comic olan bu çizgi romanın diğerlerinden farkı özgür olmasıydı. Tüm parçalar SVG olarak Inkscape'te çiziliyor ve Creative Commons lisansıyla yayınlanıyor. Bir yazılım şirketinde çalışan özgür yazılımcının yaşadıklarını konu alması ise ilgimi çekmek için yeterliydi.

Geek Hero Comic'in bu parçasında hacker amblemini (tabutun üzerinde) görünce nereden geldiğini merak ettim. Wikipedia'da bunun anlamını öğrendim ve başka bir simgenin varlığından haberdar oldum. Hackerlığın ikinci simgesi olan Dust Puppy, User Friendly isimli başka bir çizgi romanın karakteriydi. Tabi hemen bu çizgi romanı da okumaya başladım. User Friendly, GPF'ten daha eski olduğu için okunacak daha fazla parçası vardı. Hemen daha önce yaptığım uygulama için bir de User Friendly indirme betiği hazırladım. Bununla 1997'den günümüze kadar olan bütün parçaları indirip okumaya başladım. User Friendly'i okudukça GPF'in köklerinin nereden geldiğini anlamaya başladım. Bunda da GPF'te olduğu gibi fantastik yan karakterler vardı. İlk fantastik karakter sunucuda biriken tozlardan meydana gelen Dust Puppy, ikincisiyse bunun yazdığı Erwin adlı yapay zeka olunca okumak için uzun bir çizgi roman daha bulduğum için sevindim...

Geçen zamanda çizgi romanlar dışında pek çok şeyle de uğraştım. Bunları başka bir gün, başka bir blog girdisinde anlatmayı umuyorum. Görüşmek üzere.
11
Oca
Artık alışmak için yaklaşık bir aydır KDE 4.2 Beta kullanıyorum. Geçen gün KDE4'ün çizgi roman programcığı sayesinde Dilbert dışında çizgi romanların da olduğunu keşfettim ve GPF (General Protection Fault) ilgimi çekmeye başladı. Çizgi romanın 1998'den beri var olması bana okuyacak pek çok şey bırakmış... Neyse, ben karakterlerden biraz bahsedeyim belki başkalarının da ilgisini çeker...


Dwayne Duncan


GPF Software'in karizmatik ve başarılı patronudur. Yönetimle ilgilendiği için uzun süre yazılımdan uzak kalır. Bir ara paslanmamak için çalışanlara yardım etmek ister fakat Cobol bilgisiyle Java'cı arkadaşlarına pek yardımcı olamaz. İyi niyetlidir, çalışanlarının sürekli bilgisayar başında durmasından endişelenerek onları rehabilitasyona gönderir.


Jason Barker (AKA "Fooker")


Fooker'ı tanımlamak için nerd'in önde gideni demek az kalır. Yeni çalışanların bilgisayarlarına Doom ve Quake kurarak iş için tüm ihtiyacının bunlar olduğunu söyler. Patronuna bir hafta süreceğini söylediği işi beş dakikada halleder ve geri kalan zamanda bu kurduklarıyla ilgilenir. Bir apartman dairesinde tek başına yaşar ve pasaklılığa yeni sınırlar kazandıracak kadar kirlidir. Evde rahatlamak için çıplak halde program yazar ve "Babewatch" kanalını izler. Ne zaman güzel bir kız görse çıkma teklif edip reddedilene kadar peşinden ayrılmaz. Bir de hiç belli etmediği halde çok iyi sunum yapar.


Fred


Fooker'ın yanda dediği gibi kiranın yarısını ödeyecek kadar gelişmiş bir yaşam biçimidir. Fooker'ın evinde her türlü atıktan yoğun şekilde bulunduğu için bu yaratık hızlıca evrimleşmiştir. Fooker evde yokken online bir üniversitede edebiyat dersleri vererek geçimini sağlar. Kumandayı yutarak televizyonun kontrolünü eline alır ve belgesel izler, izletir... Yılda bir kez mitoz geçirerek çoğalır.


Trudy


Trudy, GPF'in yeni pazarlama müdürüdür. Sürekli sırıtan bu kadın gerçek anlamda şeytana pabucunu ters giydirir. İşe girerken nedense diğer tüm adaylar çekilir. İşe girdikten sonra ise rakip şirketin patronu kafasına düşen bir kasadan dolayı vefat eder. Yaklaşık altı ayda bir kendine bir hedef seçer ve seçtiği kişiye hayatı zehir etmek için elinden geleni ardına koymaz.


Nick



Ana karakterimiz Nick, Fooker kadar olmasa da nerddür. Şirketin isminin bir Windows hatası olan General Protection Fault'un kısaltması olduğu teorisini ortaya atan kişidir. İş dışında rahatlamak için program yazar. Yanda kimse tanıştırmadığı ve bilgisayar başından kalkmadığı için ancak ikinci gün tanışabildiği Ki ile birlikte görülüyor. Ki'dan hoşlanır fakat IRC'deki gizli hayranını da kaybetmek istemez. Bu nedenle ikisine de açılamaz.


Ki


Ki, kolay kolay bilgisayarın başından kalkmaz. Eve gidince sabaha kadar Quake ve Doom oynar. Nick'ten ilk görüşte hoşlanmış fakat bir türlü açılamamıştır. Bu nedenle şirkete erişim kayıtlarından Nick'in evdeki IP'sini, IRC'de kullandığı takma adını bulur ve "pookel" takma adıyla girerek Nick'e gizli hayranı olduğunu söyler.

27
Kas
Uzun bir aradan sonra yeniden merhaba!

Hazır bloguma bir şeyler yazmaya fırsat bulmuşken geçenlerde yazdığım Kamera'yı tanıtayım dedim.

Programın yaptığı iş oldukça basit; Web kamerasıyla fotoğraf çekmek. Son zamanlarda Acer marka dizüstü bilgisayar alanlar bilirler. Birlikte gelen basit bir fotoğraf çekme uygulaması vardır. Fakat bu uygulamayla fotoğrafı nereye kaydedeceğinizi ve fotoğrafın hangi biçimde kaydedileceğini seçemezsiniz. Üstüne üstlük bu uygulamanın Türkçe desteği bile yoktur. Madem Pardus kullanıyoruz, biz daha özgürüz :). Kamera'yla web kameranızdan istediğiniz dizine fotoğraf kaydedebilir ve dilerseniz kayıpsız olan png biçiminde kaydetmeyi de seçebilirsiniz.

Henüz yeterince test edemediğim için Pardus depolarına almadığım bu yazılımı test etmek istiyorsanız 0.2 sürümünün Pardus 2008 için hazırlanmış pisi paketini buradan indirip kurabilirsiniz. Başka bir dağıtım kullanıyorsanız da opencv, python-imaging ve PyQt4 paketlerini dağıtımınızın paket yöneticisiyle kurduktan sonra siteden kamera'nın kaynak paketini indirip şanslıysanız tek komutla (sudo python setup.py install) kurabilirsiniz.

Yorumlarınızı, isteklerinizi buraya veya googlecode'daki hata takip sistemine bildirebilirsiniz. Bir sonraki yazıda görüşmek üzere.
29
May
firefox download day

Mozilla Firefox'un topluluk sitesi olan spreadfirefox, Firefox 3'ün çıktığı gün 24 saat içinde en çok indirilen program olması için bir kampanya başlatmış bulunuyor. Siz de benim gibi kampanyaya katılmak istiyorsanız buraya tıklayarak katılacağınızı belirtin.
30
Kas
Siz de benim gibi ADSL kota durumunuzu öğrenmek için her seferinde Türk Telekom'un malum sitesine girmekten sıkıldınız mı?

Geçtiğimiz ay konqueror'da bu sitenin ne hale geldiğini gördükten sonra dayanamayıp kotacı'yı yapmaya karar verdim. Ufak ama işe yarıyor işte :)

Not: Pardus'un katkıcı deposunu eklediyseniz paket yöneticisiyle kurabilirsiniz.
15
Haz
Bir dönemin daha sonuna geldik. Hemen son yazıdan beri olan gelişmeleri özet geçeyim:

  • Contrib deposunun derlenmesiyle son kullanıcının pisibul'a ihtiyacı en düşük seviyeye indi.

  • pyKafe projesi alfa öncesi durumunda, zaman bulduğum gibi ilk alfayı pisileriyle birlikte yayınlayacağım.

  • Arada İlker'le pysözlük işine el atalım dedik. Şu an 0.1 sürümü çıkmak üzere.

  • oKey geliyor...

  • Pazartesi günü Pardus stajım başlıyor. Staj konum "KDE Eğitim Yazılımlarının Türkiye Adaptasyonu" olacak.


Bu gelişmelere bakarak Python'dan çok hoşlandığımı çıkarabiliriz :)
Bunların dışında bir de özgürlükiçin var, ona da büyükçe bir OpenTTD yazısı hazırlıyorum. Yazının Freemind ile açabileceğiniz zihin haritasına buradan ulaşabilirsiniz.
1
Nis

Uzun süredir inspiron 6000 üzerinde Pardus kullanıp da bunun durumundan bahsetmedim. Bu yazıda Pardus'un bu bilgisayarla birlikte nasıl daha verimli kullanılabileceğini anlatacağım.
Bu dizüstü bilgisayarın özellikleri aşağıdaki gibi:
  • Intel Centrino 1.73GHz işlemci ve 512MB bellek
  • Intel Corporation Mobile 915GM/GMS/910GML Express 128MB Paylaşımlı Ekran Kartı
  • Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Ses Kartı
  • Intel Corporation 82801FBM (ICH6M) SATA Controller
  • Broadcom Corporation BCM4401-B0 100Base-TX Ethernet Kartı
  • Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Kart Okuyucu
  • Intel Corporation PRO/Wireless 2200BG Kablosuz Ağ Kartı

Ekran kartı ve LCD ayarları


Pardus kurulduğu anda ekran kartının 3B özelliği açık bir şekilde ve 1280x800 çözünürlükte açılıyor. xorg.conf'tan renk derinliği 24 bit olarak ayarlanabilir ve aiglx açılabilir durumda.

Ses Kartı

Ses kartı için çok özel bir ayar gerekmemekte, kurulumda tanınıyor ve çalışıyor. Ses kaydı yapabilmek için Tasma>Ses ve Çokluortam>Donanım>İki yönlü'yü seçin, ve tamam'a basın. Midileri dinlemek için ise Tasma>Sistem Seçenekleri>Servis Yöneticisi>Sadece Sunucuları Listele'yi kaldırın ve listeden Timidity'i seçip açılışta çalıştır'a basın.

DVD Yazıcı

DVD yazıcı Pardus 2007 ile sorunsuzca çalışmaktadır.

Ethernet Kartı/Modem/Kablosuz Ağ Kartı

Bunlarda hiçbir sorun yok, tamamen sağlam diyelim.
Eğer kablosuz ağ ışığının (WiFi) yanık durmasını istiyorsanız root olarak şu komutu verin. Işık yanmasa da çalışacaktır.
echo "1" >>/sys/bus/pci/drivers/ipw2200/0000:03:03.0/led

Bu ışığın her açılışta yanması için komutu /etc/conf.d/local.start dosyasına eklemek yeterli.

SD/MMC Kart Okuyucu

Bir kart takın ve sonucunu kendiniz görün :)

Bluetooth

Blutooth ile çalışan bir alet kullanmadığım için test edemedim fakat Tasma>Sistem Seçenekleri>Servis Yöneticisi'nde Bluetooth Araçları'nı başlatıp kdebluetooth'u açınca çalışması gerekir.

Klavyedeki Multimedia Tuşlar

http://www.pardus-wiki.org/index.php/NASIL:Multimedia_tuslari

Güç tüketimi

İşlemci fanının sürekli çalışmasından rahatsız olanlar bunu deneyebilir:
http://dellfand.dinglisch.net/
Program harika çalışıyor. Şu komutu verir vermez rahat bir oh çekebilirsiniz:
sudo ./dellfand 1 2 43 54 60
Bu programı birkaç haftadır kullanıyorum ve ters bir şey yaptığını görmedim. Bu şekilde kullanıldığında işlemci sıcaklığının 65 dereceyi geçmesine izin vermiyor.

Diskin kullanılmadığında devir azaltması ve daha az enerji harcaması için aşağıda verdiğim laptop-mode dosyasını /sbin/laptop-mode adıyla çalıştırılabilir olarak kaydedin. Bundan sonra root olarak
laptop-mode start
komutu verdiğinizde diske yazma işlemleri geciktirilerek yapılacak ve böylece diskin kendini yavaşlatmasına imkan sağlanmış olacak.

Bu arada A09 biosunda yeni bir pil dolum algoritması varmış, bunun için bios güncellemesi yapmayı düşünüyorum: http://tinyurl.com/y7zztf

Son söz olarak bu sayfayı takip etmenizi öneriyorum çünkü zamanla yeni şeyler eklemeye devam edeceğim.

Faydalı Dosyalar

/etc/X11/xorg.conf
/etc/lineakkb.def
~/.lineak/lineakd.conf
/sbin/laptop-mode

Düzenleme: 18/12/2006 - Pardus 2007 ile birlikte DMA ve işlemci sorunu kalmadı, düzeltmek için uğraşmak gerekmiyor.
Düzenleme: 13/02/2007 - Son güncellemelerle birlikte disk kullanarak askıya alma çalışıyor. Artık gelişmeleri Pardus wikiden takip edebilirsiniz.
15
Mar
Artık Pardus'un da contrib deposu ( http://svn.pardus.org.tr/contrib/ ) var. Tıpkı arch linuxta: ( http://aur.archlinux.org/ ) ve ubuntu'da ( ör: http://gauvain.tuxfamily.org/repos/ ) olduğu gibi...

Bu sayede katkıcıların hazırladığı paketler daha çok uzmanın gözünden geçiyor ve daha kaliteli hale geliyor.

Bu arada Pardus kullanıyor ve makinenizin yavaşlığından şikayetçiyseniz xfce ve enlightenment'ı denemelisiniz.
KDE'den daha küçük ve hızlı olan bu masaüstü ortamlarının pisi paketleri contrib deposunda bulunuyor. Kurmak ise Pardus 1.1 kullanıcıları için birkaç komut yazmak kadar kolay:

sudo pisi ar contrib http://svn.pardus.org.tr/contrib/pisi-index.xml.bz2

Bunlardan sonra isterseniz,
sudo pisi em desktop.xfce4
komutuyla xfce, isterseniz
sudo pisi em desktop.enlightenment
komutuyla enlightenment kurabilirsiniz.

Pardus'un açılış ekranında masaüstü seçmek mümkün olmadığından diğer açılış ekranını ayarlamak da gerekiyor, bunun komutu ise şöyle:
sudo sed -i 's/pardus/circles/g' /usr/kde/3.5/share/config/kdm/kdmrc

Bu masaüstlerini paketleyen arkadaşlara (murat->enlightenment, ertugrulerata->xfce) teşekkürlerinizi ve sorunlarınızı iletmek için irc.freenode.org'da #pardus ve #pisidepo ya uğrayabilirsiniz.
31
Eki
Değişen bir durum yok. Pardus'a devam. Forum ve wikiye artık neredeyse her gün bir şeyler ekliyorum.
Yavaş yavaş Java'yı öğreniyoruz, 4. Hafta oldu ve daha yeni HelloWorld yaptık(şimdiye kadar UML ve o-o mantığından - yani kafa karıştırmaktan başka bir şey yoktu). Neyse, Java'ya başladık ya artık yavaş yavaş işin mantığını da anlarız. Bu arada KDevelop'la biraz uğraştım, proje yönetim sistemini anlamaya çalıştım(automake ve arkadaşlarıyla tanıştım). Biraz svn öğrendim. Kutu-dizmece'yi KDevelop'la baştan yazmaya çalıştım(bu sefer SDL+OpenGL olacak vaadiyle:)). Yalnız automake işini iyi anlayamadığımdan olacak, bir sürü dosyaya böldüğüm projeyi bir türlü make yapamadım. Uğraşırsam o da olacak gibi duruyor.
İki gündür de başıma güzel şeyler geliyor. Dün okulda Pardus tanıtım semineri vardı. Vatana millete hayırlı bir seminer oldu, bir çok şey öğrendim. Seminerin sonunda da Ahmet XGL masaüstünü gösterdi, kararlısı çıktığında hemen kuracağım sanırım. Bir de Talat'tan okulun kablosuz ağını linuxta kullanabileceğimi öğrendim ve debianı bunun için nasıl ayarladığını gördüm. Bugün de sabah benim dizüstü ve linuxla ilgili bir arama yaparken yeni bir şeyler öğrendim ve sonucu bu oldu(tıkla). Bunun ve dünkü seminerin sonucu olarak Amarok'la artık iyi geçiniyorum. Ve bunun sonucu olarak da blog'uma son dinlediğim şarkıları eklemek gibi bir olayın mümkün olduğunu öğrenip hemen uyguladım. Aslında bunun da sonucu olarak bu yazıyı yazdım.
Pazartesi günü Veri Yapıları ve Algoritmalar sınavı var, o zamana kadar biraz ağaçlar, huffman, linkli liste, quicksort, radix sort gibi şeylerle alıştırma yapmam gerektiğini hissediyorum. Hadi bana iyi Pardus'lu günler...
Son yazdığımdan beri bazı gelişmeler oldu bunları aktaracağım.

Pardus forumu'na yazı eklemeye devam ettim, bunun sonucu olarak moderatörlük teklifi geldi ve kabul ettim. Hala günde ortalama 3 cevap yazarak devam ediyorum.

Java'yı öğrenmiş kadar oldum. Uygulama yapmam gerekiyor. Lablarda sorulanları yapamasam hiç java bilmiyorum diyeceğim yoksa...

KDevelop'tan uzun süredir uzak kaldım. Başka bir uğraşım var.

XGL masaüstü keyfini Kororaa Live CD ile bir süre yaşadım ve millet sayemde masaüstü gördü. Pardus 1.1 çıkınca hemen birkaç arkadaşla birlikte XGL.pisi'yi oluşturmaya çalışacağız.

Amarok'la hala iyi geçiniyorum...

Veri yapıları ve algoritmalar biraz bekleyecek :S ...

Bir ara GTK öğrenmeye kalkıştım ama şartlar el vermedi. Sonra ruby ve python a da baktım biraz. Başlamak iyidir...

Başka bir uğraşı dedim onu anlatayım. SVN'yi iyice bir öğrendikten sonra irc'den tanıştığım pisi paketi yapmayı bilen bir arkadaşla Pardus'un svn deposu tarzında bir depo oluşturduk. Beraber birkaç paket yaptık ve ardından irc'de tanıştığımız başka paketçiler, bir site tasarımcısı ve bir de web barındırma ihtiyacımızı karşılayak kişi bulduk. Demeyin keyfimize; sınırsız alan, sınırsız geliştirme fırsatı :). sonuç olarak http://pisidepo.dt.gen.tr adlı bir site oluştu. Site sayesinde PHP'yi de iyice öğrenmiş oldum. Ve son olarak Gaplan'ı yeniden diriltmeye başladık...

Bunların dışında söz etmeden geçemeyeceğim bir gelişme de Freemind ile tanışmam oldu. Bu program hakikaten insana çok faydalı beyin fırtınaları yaşatabiliyor. Buyurun siz de tanışın: http://ileriseviye.org/arasayfa.php?inode=freemind.html

Şimdi yakın gelecekte neler olacak bunları sayayım. Pazar günü YTUlinux toplantısı var. Bu yazıyı yazdığım sırada hemen hemen tüm son vizeler bitmiş durumda. Haftaya perşembe cumaya birer basit sınav kaldı.

Baya bir gelişme var yani, görüşürüz günlük...
Önce gelişmelerden bahsedeyim: Java ile bir program (hocanın verdiği java projesi) yaptım. İyi bir deneyimdi, nesne yöneliminin nasıl kolaylık sağladığını görmüş geçirmiş oldum. Ama tasarım kalıpları öğrenmeden bu iş zor gibi görünüyor. Amarok'un yüzünü görmüyorum, müzikten sıkıldım galiba... Java projesini yaparken Eclipse ile iyi ikili olduk :) . Pisidepo sürekli genişliyor ve wikilendi. Bu sayede wiki yönetmeyi de öğrendim. Eh bakalım tatilde ne yapacağız...
Tatil iyi geçiyor.
pisidepo'da güzel şeyler yaptık. Wikisi umduğum kadar büyümedi. Çünkü sunucu neredeyse bir haftalığına kapalı kaldı ve ger döndüğünde üç gün geri alınmış haliyle karşılştık. Aslında üç gün pisi paketleri deposu için çok önemli değil (herkeste bir kopyası var zaten) ama wiki ve flyspray'deki onca ilerleme boşe gitmiş oldu. Bu nedenle pisidepo sunucusuna olan güven sıfırın altına indi. İki haftadır tek başıma commit yapıyorum.

İkinci bir uğraşım da www.ytulinux.org . Linux grubu toplantılarında arkadaşlarla güzel şeyler yapmayı planladık. Toplantı sonuçlarını siteden takip edebilirsiniz. Ben de www.linux.yildiz.edu.tr deki wikinin yönetimini almış bulunuyorum. Yeni başlayanlar için pisi paketi yapım rehberi diye dev bir yazı hazırlamaya çalışıyorum bu günlerde. Bir de sene içinde okulda pisi yapımı semineri verilecek. Tabi ilk seminerim olacağı için şimdiden heyecanlanmış durumdayım.

Pisicik de gelişiyor. Yakında ilk sürümü çıkaracağım sanırım. Pisicik'in en önemli özelliği kaynak depoyu ikili depoya dönüştürebilmesi olacak, fakat bu özellik ilk sürümle gelmeyecek. kodları incelemek için
svn co svn://pisidepo.dt.gen.tr/trunk/ivirzivir/pisicik pisicik
diyebilirsiniz.

Bu arada Temmuz'un başından beri haftaiçi her gün Koçbank'ta stajdayım. Ağustos bitene kadar durum böyle.