Tokens — Page 49

Harika bir konuşma

Türkiye ile de şimdilerde çok ilgili bir konuşma. İnternetin en sevdiğim yanlarından biri alanının en iyilerine ulaşabilmek, bazen dünyanın diğer tarafında olsalar bile odandan çıkmadan düşüncelerini dinleyebilmek. Sudan’lı Prof. Abdullahi Ahmed An-Na’im’in ABD’deki en iyi üniversitelerden University of İllinois’daki konuşması:

http://www.cgs.uiuc.edu/resources/webvideo/an_naim.html

Kendi içinde çok tutarlı. Güzel bir konuşma.

Routing Error in Rails

I have been struggling with a Routing Error over the last few hours and I finally got to understand and solve it. Even though it seems that my routing configuration is correct and that the URI I access for testing should be recognized, I get a Routing Error saying that no routes matched. I have an UploadsController and in the routes.rb file I created a named path with something along the lines:

map.request_upload '/indir/:random_id/:filename', :controller => 'uploads', :action => 'request_file'

When I try to visit the URI http://localhost/indir/3454353/.bashrc though, I get a Routing Error. It seemed as though Rails was missing the line, it is as if Rails is not reading it at all. I’ve went through all the information I could find on the Internet, even started re-reading the Routing chapter from Fernandez’ book, but to no avail. Then while trying to solve this problem I requested http://localhost/indir/3454353/bashrc, that is a file without a dot in the name, and bingo, it was recognized.

So what’s the result? I am not sure why or how but when wildcard components (or receptors as sometimes called) include a dot, something goes wrong. I think it is not matched with the receptor and thus the route is not recognized. It is an interesting bug (or a feature?).

Ubuntu 8.04 ile Firefox sorunsalı

Birkaç gün önce Ubuntu’nun 8.04 sürümü çıktı. Zaten beklediğim bir sürüm olduğu için ben de hemen sistemimi yükselttim. Yeni Ubuntu ile gelen tarayıcı Firefox’un 3 beta 5 sürümü. Görünüşe göre Canonical ekibi yeni güvenlik güncellemeleri içermesi sebebiyle Firefox’un bu sürümünü sisteme eklemeye karar vermişler, beta olmasına rağmen. Firefox’un kararlı bir 3.0 sürümünün ise ne zaman çıkacağı belli değil.

Yükseltme ile birlikte Firefox’un 3b5 sürümünü kullanmaya başladım, görünüş olarak iyi ve birkaç güzel özelliği de yok değil ama eklentilerim olmadan yaşayamam diyerek eklentilerimi etkinleştirmeye çalıştım. Ancak pek çok eklenti 3 sürümü ile uyumlu değildi. Sürüm uygunluk kontrolünü Configuration Maniac eklentisini kurcalayarak kapattım ve uyumlu olmadığı söylenen eklentileri de etkinleştirdim. Buna rağmen bazı eklentiler çalışmadı ve ben de gerisin geriye Firefox’un 2 sürümüne geri dönmek için kolları sıvadım. Ubuntu paketleri arasına firefox-2 isimli paket benim gibiler için bırakılmış. Bu paketi kurarak eski sürüme geri döndüm. Ancak eklentiler yine çalışmadı. Nedenini anlayamadım ama sanırım 3 sürümü profilde bazı değişiklikler yaptı ve bunlar 2 sürümünün kafasını karıştırdı. Her şeyi varsayılan profile koymanın zararını böylece görmüş oldum. Varsayılan profili az önce uçurdum (bkz. “rm -rf ”) ve şimdi eklentilerimi yeniden kuracağım. Şimdi bu güncellemeden öğrendiğimiz Firefox dersleri:

Varsayılan Firefox profiline eklenti vs. kurma!
* Her büyük (major, yani ilk sürüm numarası büyüyen) sürüm için ayrı bir profil kullan. Firefox’u profil yöneticisi ile başlatmak için:

# firefox -ProfileManager

demek gerekiyor.

Bir musibet bin nasihatten iyidir derler ya, bu da bana iyi bir ders oldu sanırım. En iyi uygulamalara (best practices) doğru gidiyorum :)

Rene Magritte

Belçikalı gerçeküstücü ressam. Oldukça popüler, güzel ve farklı resimleri var. Sürrealist olunca farklılık da doğal olarak geliyor.
<div style="text-align: center;">
Işık İmparatorluğu II. 1950.

Işık İmparatorluğu. 1954.

Işık İmparatorluğu karşısındaki şaşkınlığımız ancak ikinci bakışta ortaya çıkar: Lambayla aydınlatılmış evi saran gece atmosferinin üzerinde pırıl pırıl güneşli bir gökyüzü vardır. Gece ve gündüz birbiriyle o kadar ustaca birleştirilmiştir ki, uzlaşmaz çelişkinin yerini bir gerçeklik duygusu alır. Resim garip bir iddiada bulunurken izleyiciye de neden gerçeğin o bildik gerçek olduğu ve başka türlü olmadığı sorusunu sordurtur.”
Rönesanstan Günümüze Resim Sanatının Öyküsü. Anna-Carola Krausse. Literatür, 2005.

Ve biraz da popüler resimleri.

Görüntülerin hainliği. 1929. “Bu bir pipo değildir”. Nedir peki? Bir resim.

İnsanın oğlu. 1964.

Galconda. 1953.

Oldukça ünlü “Aşıklar” isimli resminin ilki. 1928.

Ve daha az bilinen ikincisi. 1928.
</div>

Dosyadan takas alanı oluşturma

Takas alanı linux’larda sanal bellek alanı olarak kullanılır (scratch veya swap alanı denilir bu alana). Farzedelim ki takas alanınızı büyütmek istiyorsunuz, ki bunun çeşitli nedenleri olabilir. Daha fazla RAM gerektiren uygulamalar kullanıyor olabilirsiniz veya bilgisayarın uyku durumuna geçmesi için daha fazla takas alanı gerekiyor olabilir (benim nedenim bu). Uyku durumunda bellekteki her şey takas alanına yazıldığı için büyüklüğünün yeterli olması gerekiyor.

Şimdi takas alanını hard disk bölümlerini kurcalayarak değiştirebilirsiniz ve önerilen yöntem de bu. Ama bunu yapmak istemiyorsanız hızlı ve kirli (quick and dirty :)) bir çözüm var. Bir dosyayı takas alanı olarak kullanabilirsiniz. Önce bir dosya yaratıyoruz:

# dd if=/dev/zero of=swapfile bs=1024 count=614400

Bu komut sonlandığında bulunduğunuz dizinde swapfile isimli bir dosya oluşmuş olacak. Dosya büyüklüğü benim durumumda 600 MB. Komutta yazan 614400 rakamı KB cinsinden ne kadar istediğimi söylüyor. Kaç MB’lık takas alanı istiyorsanız 1024 ile çarpıp “count” kısmına yazın. Takas alanını yaratacağınız dizin nispeten az kullanılan bir diskte olursa daha iyi olur.

Bundan sonra dosyayı takas yapıyoruz:

# mkswap swapfile

Ve etkinleştiriyoruz:

# swapon swapfile

Bundan sonra takas alanını kullanmaya başladınız. “free -m” komutu ile veya “cat /proc/swaps” ile yerinizin büyüdüğünü görebilirsiniz. Bu değişikliği her açılışta etkin hale getirmek için /etc/fstab dosyasını değiştirmemiz gerekecek. Dosyaya şöyle bir satır ekleyin:

/media/sdb1/swapfile swap swap defaults 0 0

/media/sdb1/swapfile yerine kendi dosyanızın bulunduğu yer yazılmalı.

Umarım yardımcı olmuşumdur. İyi günler.