Taşındım

Wordpress'e geri döndüm. Yeni adresim.


13 Ekim 2007, Cumartesi @ 22:58
Kopete Parolaları

Siz de benim gibi sürekli kullandığınız anında mesajlaşma servis hesaplarınızın parolalarını unutuyorsanız ve bu servisler için kopete kullanıyorsanız, buyrun.

13 Mayıs 2007, Pazar @ 16:25
Girl In the Tower

Evanescence'in Fallen albümünden Hello şarkısını dinlerken, müziği bana eski bir oyunu hatırlattı: King's Quest VI.

En sevdiğim oyun türüydü "adventure" oyunları. Oturduğumda başından kalkamazdım. Favori oyun firmam tabi ki Lucas Arts'dı. Tüm "adventure" serisini oynayıp bitirmişimdir. Hatırladığım rekorlarım The Dig ve nispeten klasiklere göre yeni sayılabilecek Grim Fandango oyunlarını aralıksız 2 günde bitirmem.

Sierra'nın oyunlarını Lucas Arts'a tercih etmezdim. Ama King's Quest VI: Heir Today, Gone Tomorrow başka. Özellikle oyun içindeki müzikleri, müziğin yarattığı atmosfer, oyuna bambaşka bir renk katıyordu. Müziklere ulaşabilir miyim diye biraz araştırınca, oyunun orjinal CD'sinde audio track olarak kayıtlı bulunan "Girl In The Tower" şarkısına ulaştım. Bu parça yalnızca bu oyun için özel olarak hazırlanmış. Müzikler oyun ile birleşince çok daha bir güzel oluyordu tabi ki.

Bu adresten bir çok eski Sierra oyununa ait yine nostalji yapılabilecek müzikleri bulabilirsiniz.

20 Mart 2007, Salı @ 11:31
300 Spartalı ve Nano

Bugün 300 Spartalı'ya gittim. Bir beklenti içerisinde değildim. Hafta sonu sineması... Imdb'ye bakarsanız 8'in üstünde puan almış. Ama gerçekten kötüydü. Çok sıkıcı, hiç bir enterasanlığı olmayan, saçma sapan bir filmdi. :)

Bir de IPod Nano aldım. Sabahları ofise giderken genelde dizüstüm açık; müzik eşliğinde, vakit geçirecek bir şeyle uğraşırım ya da kitap okurum. Pili tasarruflu kullanmak için ya da kitap okurken yalnızca müzik dinleyebilmek için dizüstü ile uğraşmayacağım artık.

2 GB beyaz bir Nano aldım. 1 GB ile arasında 40 YTL fark vardı. Zaten 2 GB üstünde bir müzik arşivim de yok ve 4 GB ile fiyat farkı bayağı açılıyor. Bir alternatif, 1 ya da 2 GB Shuffle olabilirdi. Nano'nun renkli ekranını tercih ettim. Bana göre en iyi özelliklerde, ihtiyacımı karşılayan ve en ekonomik IPod kendisi. :)

18 Mart 2007, Pazar @ 00:15
Hoşgeldin Mehmet

Pardus'un en önemli parçalarından biri olan Zemberek'in geliştiricisi Mehmet D.Akın, artık tam zamanlı bir Pardus geliştiricisi. Pardus projesi'nin başlangıcından da önce yaklaşık 8 senelik TÜBİTAK çalışanı olan Mehmet, projeye yarı zamanlı olarak destek verebiliyordu. İşin doğrusu kendi işlerinin yoğunluğundan bu biraz da kağıt üzerinde kalıyordu. Ama artık tüm zamanını Pardus için kullanabilecek.

TÜBİTAK'da çalıştığı yıllarda, bir çok büyük projede de yer alan Mehmet, sağlam bir Java geliştiricisi. Pardus açısından bunun büyük bir artı olduğuna inanıyorum. Java'nın GPL ile lisanslanmasının ardından özgür yazılım camiası için önemi daha bir artmıştı. Java, kurumsal anlamda da zaten çok başarılı bir alternatifti, hatta öncüydü desek daha doğru olacak. Java geliştiricileri'nin ihtiyaçlarından da, en iyi bir Java geliştiricisi anlayacaktır. Pardus'un kısa zamanda bu konudaki eksiklerini kapatarak, iyi bir Java geliştirme ortamı haline geleceğine inanıyorum.

Yeni kurulacak "startup" bir şirketin ve ya küçük/orta ölçekli bir yazılım şirketi'nin Pardus üzerinde Java gibi alanında kabul görmüş ve kendini ispatlamış bir dil ve araçları ile tüm geliştirme ihtiyaçlarını karşılayabiliyor olması büyük bir kazanç olacaktır. Pardus'un bilinirliği ve güvenilirliği ASAL projesi ve ardından takip edecek projelerin başarısı ile daha da artacaktır. Ülkemiz ve özgür yazılım camiamız açısından arzuladığımız gelişmelerin gerçekleşeceğine inanıyorum. Üniversitelerimizde Pardus ile Java dersleri, devlet ve özel sektörde yazılım firmalarının Pardus üzerinde Java ile kurumsal uygulamalar geliştirdiğini görmeyi umuyorum, hayal ediyorum... Neden olmasın?

20 Şubat 2007, Salı @ 14:11
Çekirdek Notları

Çekirdek Notları isminde bir günlük açtım. İsminden de anlaşıldığı gibi günlüğün konusu yalnızca çekirdek olacak. Genelde donanım ağırlıklı ve düşük seviyeli bir içeriğe sahip olacak. Çekirdek ile alakalı her konuda almak istediğim notları burada tutacağım. Bu notlar bazen çekirdek içerisinde rasladığım ufak bir ayrıntıyı, bazen mimari ile alakalı çekirdekte kullanılan bir mekanizmayı, bazen sık kullanılan bir takım yapıları, bazen de çekirdeğe yeni giren bir özelliğin lwn makaleleri tarzında incelemelerini içerecek.

Kendi günlüğümden ayrı tutmamın sebebi ise bu konuda çok yazmak istemem ama yazacaklarımın da gezegenleri kirletecek nitelikte olması. Birikmiş notlarım da olduğu için yoğun bir şekilde güncelleneceğini söyleyebilirim. İlgilenenlere duyurmak istedim.

14 Şubat 2007, Çarşamba @ 16:25
Delta paketler ve Python Listeleri

PiSi delta paketleri üzerinde çalışırken, bir problem ile karşılaştım. Python ile çıkan çözüm de hoşuma gitti.

Delta paketlerin ne olduğunu da kısaca özetleyecek olursam problem daha rahat anlaşılacaktır. Paketlerimizin boyutları lzma sağolsun oldukça ufaldı. Ancak şöyle bir problemimiz var: Bazen paketlerin yeni sürümleri için yapılan güncellemelerde paket içerisinde yalnızca bir-iki dosya'nın değiştiği durumlar olabiliyor. (İsmail kızmasın diye openoffice'i örnek olarak vermeyeceğim :) ) Düşünün 99 MB'lık bir paketiniz var (openoffice değil ama), yeni versiyonundaki değişikliğe baktığınızda ise, içerisinde sadece 100 KB'lık çalıştırılabilir bir dosya'nın değiştiğini görüyorsunuz. Bunun dışında 1-2 KB da örnek yeni config dosyası filan eklenmiş diye düşünün. Şu anki durumda, kullanıcı yalnızca bu 100 KB'lık değişiklik için yeniden 99 MB çekmek durumunda kalıyor. Değişikliğin çok daha ufak olduğu durumlarda ise gerçekten can sıkıcı bir durum ortaya çıkıyor. PiSi delta paketleri ile sürümler arasında yalnızca bu farkları barındıracak olan paketler hazırlamayı planlıyoruz. Bunun için de alt yapı çalışmaları yapıyoruz. Kullanıcı güncellemek istediğinde, eğer delta paketler mevcut ise otomatik olarak güncelleme bu paketler ile yapılacak. xdelta'nın ilerde düzelecek, lzma sorunlarını geçin (iyi ki varlar :) ), gereksiz yere de ek bir araç kullanıp bağımlı olacağımıza, bu şekilde çok sade ve temiz bir çözüm düşündük. Delta paketler yalnızca fark dosyalarını içerecek.

Şimdiki planımız her zaman Pardus 2007 sürümü ile son güncel paketler arasında delta paketleri oluşturulmak. Ki bu sayede yeni Pardus 2007 kurulumu yapılmış olan bir makinede güncelleme boyutu yeterince az olabilsin. Bunun dışında aynı paketin son iki sürümü arasındaki delta paketleri de her zaman bulunabilecek.

Konuya gelecek olursak problem şu şekilde: Elinizde eski ve yeni paketlerde bulunan dosya bilgileri bulunuyor. İki adet liste. Liste elemanları ise her bir dosyanın ayrıntılı bilgisini barındıran nesneler. Nesne elemanları da dosya'nın yol, hash, tip, boyut, vs. gibi bilgilerden oluşuyor. Yapmam gereken ise bu iki liste içerisindeki nesnelerin arasından aynı dosyayı bulmak, bunların hashlerini karşılaştırmak ve eğer hash değişmiş ise dosya'nın da değişmiş olduğunu kabul ederek delta paketi içerisine eklemek. Bunun dışında ayrıca yeni pakette bulunan ama eski pakette olmayan dosyaları da tabi ki bu listeler arasından tespit edip yine delta paketine eklemem gerekiyor.

Akla ilk gelen O(n²) karmaşıklığındaki çözümü kodlamayı hiç istemedim. Dün nasıl yapılabilir diye bayağı düşündüm, liste karşılaştırmaları üzerine yapmak istediğime yakın örnek kod araştırdım fakat bir şey çıkaramadım. Ama bugün hoş bir çözüm buldum:


    files_all = set(map(lambda x:(x.path, x.hash), files.list))

    files_old = set(map(lambda x:(x.path, x.hash), oldfiles.list))

    files_delta = files_all - files_old

files.list yeni paketteki dosya nesnelerini içeren, oldfiles.list ise eski paketteki dosya nesnelerini içeren listelerimiz. Satır sayısından çok sadelik ve okunabilirliğe önem versem de, 3 satırda bu kadar işi halledebilmek gerçekten hoş oldu. Böylece files_delta içerisinde bulunan dosya'nın yollarına bakarak da tek tek delta paketi içerisine ekleyebiliyorum.

26 Ocak 2007, Cuma @ 12:15
Elalemi anlamak

Ya bu işte bir terslik olmalı. Nasıl olur ki, bi kere? Şüphelenmiyor değilim hani. Baktığımda bir yerde isim misim de göremedim çünkü. Hani yazması kolay bunları. Ama tabi, isim filan bulamayınca insan... neyse... Şöyle bi şeylere rastladım da, ondan bahsediyorum. Hatta dahası da varmış, ilginç valla.

Harbi ilginç ama. Adam üşenmemiş, kurmuş yaw. Niye uğraşmış acaba? Heh, bu işlerden anlamadığı buradan belli zaten. Ne önemi var ki şimdi bunun bi kere. Pardusmuş. Öö. Ben biliyorum bunu kimlerin yaptığını. Bi şey çıkmaz ordan. Sıradan bir kullanıcı işte canım. Yazmış da ne olmuş. Aman da ne büyük olay.

Ama teknik bi şeyler de biliyor sanırım. Ciddi ciddi yorum filan yazıp, kendince tavsiyede de bulunmuş sanki. Hani anlamadığım, Pardus'un a harfi, u harfi gibi ciddi meseleleri konuşup tartışmak, üzerinde uzuuun uzun fikir alışverişlerinde bulunmak varken, sistemi kuracan, daha önce eleştirdiğin şeyleri, bu sefer anlamak için vaktini harcayacan, neyi eleştirdiğini anlayacan, sonra da oturup heh bunlar bunlar kötü, burası şundan dolayı olmamış, böyle olmalıydı, düzeltin diye yazı yazacan. Zor şu elalemi anlamak...

25 Ocak 2007, Perşembe @ 00:04
Cedega

Transgaming destek hattından 2 gün içinde 3 e-postama cevap gelmeyince bayağı bir canım sıkılmıştı. Öylesine bakınırken freenode sunucusunda #cedega kanalı olduğunu gördüm. Bir girip sorayım bakayım dedim. Derdimi anlattım, kanalda adminler de varmış. :) 2 dakkada şip şak halletiler sorunumu. Boşuna beklemişim o kadar. :) Bayağı bir sevindim tabi hallolunca.

GuildWars'u Çağlar'ın orjinal oyun kutusundan çıkan Trial key'i ile deniyorum. Bir satın alırsam, hastalık yapacağı kesin. Burada da yurt dışına göre biraz daha pahalıymış. Sanırım biraz bekliyeceğim bunun için. Ama almayı düşünüyorum.

Tabi Cedega'yı aldık. Oyunsuz olmaz. Bahadır ve Gürer'in övgüleri ile gidip bir StarCraft satın aldım. Çok uzun zamandır oyun oynayan biri değilim. Kuracağımdan değil de, oyunları yazıldığı platformda oynamaktansa Cedega ve Pardus üzerinde oynaması daha da bir çekici geliyor bana nedense... :) Neyse Guildwars arkada çalışıyor şu an, 14 saati doldurmadan kurcalayım şunu biraz daha. :)

18 Ocak 2007, Perşembe @ 21:17
Cedega Hayalleri Suya Düştü

Çağlar'ın GuildWars oyunu hoşuma gitti. Bayağı da övdü zaten. Bir hevesle geldim eve Cedega satın alacağım diye. Hem GuildWars'u alıp, ben de şu MMORPG dünyasına bir gireyim, hem de orada burada en sık sorulan sorulardan birine cevap olarak, başka bir işletim sistemine yazılmış bu oyunların bir çoğunun gayet de güzel çalıştırılabildiğini gösteririm dedim.

Transgaming'in sitesine girdim. Tüm kayıt adımlarını bitirdim, kredi kartı bilgilerimi de verdim. Bir süre sonra kartımın onaylandığı, hesabımdan para çekimi yapıldığı ve artık giriş yapabileceğim mesajını gördüm. Buraya kadar herşey güzel. :) Giriş yapacağım da, sadece kullanıcı adım var. Formları doldururken bir yerde parola sormadı ki. Geçici parola ver o zaman dedim. Yok... Gelmiyor e-posta filan. Hesaptan para çekildi ama ne ortada bir hoşgeldin e-postası var, ne de kayıtlı kullanıcı giriş bilgilerim. 5-10 defa geçici parola istedikten sonra Firefox ile kayıt sayfasını yeniden açtım ve aklımı seveyim, e-posta adresimi org.tr vereceğime com.tr verdiğimi gördüm. :( Destek adreslerine bir e-posta gönderdim de, kim bilir ne zaman dönerler. Off...

17 Ocak 2007, Çarşamba @ 00:09