Popüler paylaşım sitesi Digg’in kaynak kodlarında bugünlerde ilginç bir ayrıntı var. İlk bakıldığında sitenin hacklenmiş olabileceği soruları kafamızı kurcalarken kaynak koda daha dikkatli baktığımızda ürkütücü bir surat ile sol alt köşede bir web sitesi adresi ile parola görüyoruz.
Bu EA’den çıkacak yeni bir oyunun reklam kampanyası aslında. Digg haricinde beş farklı sitede daha aynı kaynak kod var ancak şifreler farklı. Şifreleri toplayıp siteye girdiğinizde ise bir sürpriz hediye sizi bekliyor olacak.
İşin heyecanını bozmamak için siteleri söylemiyorum ancak sektörün büyük haber, inceleme sitelerinin kaynak kodlarını inceleyin derim.

Tıklım tıklım kalabalık olan halk otobüslerine daha çok yolcu almak için bir çözüm olabilir mi?

Birkaç gündür IDE olarak NetBeans kullanmaya başladım. NetBeans’ı Sun’ın desteklediğini hatırlatıp nerelere gidebileceğini düşünmenizi öneririm.
Şimdiden beni NetBeans’a hayran bırakan birkaç özellik buldum.
Öncelikle JDBC üzerinden veritabanınıza bağlantı kurup, tablolarınıza bakabiliyorsunuz. Aynı şekilde web servislerini de incelemeniz mümkün. Gerek Google gerekse de eBay API’si olsun, en popüler web servisleri de ön tanımlı olarak geliyor.
Bir diğer güzel özellik de her denediğim IDE’de ilk baktığım özellik olan satır kopyalama özelliği. CTRL + Shift + Aşağı Ok her zamanki gibi bulunduğunuz satırı aşağı kopyalıyor. Ancak CTRL + Shift + Yukarı Ok ise aynı satırı yukarı kopyalıyor ki, kodu kopyalamada kaybettiğimiz süreyi kurtarıyor.
En son keşfettiğim özellik ise çok kullandığım bir javascript kütüphanesi olan jQuery’i tamamlaması oldu. Meğer jQuery’nin dokümantasyonu da NetBeans ya da kurduğum javascript plug-inleri ile otomatik geliyormuş. Artık öyle ikide birde http://docs.jquery.com‘un kapısını aşındırmak yok
Bildiğiniz üzere MySQL’de en etkili sayfalama metodlarından biri SQL cümleciği içinde LIMIT kullanmaktadır.
Ancak yine bu limit özelliği nedeniyle tüm kayıtlarla ilgili bilgi gelmediğinden sıkıntı yaşanır:
Ya sayfalama yaparken tüm kayıtları her defasında okumak (1 milyon kayıt olan bir tabloda işlem yaptığınızı, ve SQL sunucunuzun uzak bir lokasyonda olduğunu hayal edin)
Ya da ikinci bir sorgu yapmak gerekli olur.
Oysa MySQL’e ekleyeceğiniz kısa bir fonksiyon ile limit kullanılmadan önceki kayıt sayısını da rahatlıkla alabilir, böylece işlem yapacağınız SQL sayısını bire düşürürken; bütün kayıtları da boşuna getirmemiş olursunuz.
Bu işlemi yapabileceğiniz SQL fonksiyonu SQL_CALC_FOUND_ROWS‘dur.
Aşağıdaki şekilde kullanım yaptığınızda ilk sırada gelecek değerin toplam kayıt sayısı olduğunu görebilirsiniz:
SELECT SQL_CALC_FOUND_ROWS, * FROM tablo WHERE sehir=‘İstanbul’ LIMIT 10
Açıldığı günden beri tasarımını pek değiştirmeyen Yemek Sepeti, eski tasarımında doyuma ulaşmış ve tasarımını yenilemiş.
Bildiğiniz üzere HTML’de font kullanımı kullanıcıların bilgisayarlarında kurulu olan fontlarla sınırlıdır. Bu yüzden web sayfalarındaki fontlar genelde 4-5 farklı aile dışında çıkmazdı.
Son zamanlarda SiFR ve Cufon gibi replacement çözümleri ile bu problemin çözümü nispeten mümkün hale geldi fakat uygulama konusunda halen bir takım sıkıntılar yaşanabiliyor.

Aslında CSS 2 ile gelen fakat daha sonra CSS 2.1 ile kaldırılan @font-face özelliği ile dışarıdan font yükleyerek bunu web sayfasında kullanabilmek mümkün. Özelliğin CSS 2.1′de kaldırılmasından dolayı modern tarayıcılar olarak nitelendireceğimiz Firefox, Safari, Opera ve Chrome dörtlüsünde css içinde @font-face kullanabilmek için son sürümlerin yüklü olması gerekiyor. Bu dörtlü CSS3 sayesinde TTF uzantılı fontları destekliyor.
Internet Explorer farklı bir dosya formatı kullanmak (.eot) kaydıyla v4 üstü tüm sürümlerde bu özelliği destekliyor.
@font-face ile ilgili daha fazla bilgiyi Fatih Hayrioğlu’nun Not Defteri‘nde bulabilirsiniz.
Özellikle Windows ortamında oluşturulan dosyalar genellikle Windows Türkçe ya da ISO-8859-9 formatında kodlanmış oluyorlar. Ancak çoklu dil aileleriyle çalışmaya başladığınızda bunun bir kabusa dönüştüğünü farketmek zor değil. Linux’da kısa yoldan bir dosyanın encode’unu değiştirmek için;
tcs -f 8859-9 -t utf dosyaadi.php > yenidosyaadi.php
komutu yeterli oluyor. Tcs direkt olarak çeviri yaptığı için içeriğini yeni bir dosya olarak kaydedebiliyoruz.
Bu işlemi otomatikleştirmek için şöyle bir script yazdık. Bu script sayesinde bir klasör içindeki bütün önemli uzantılara sahip dosyaların encodingini utf-8′e çevirebilirsiniz.
#!/bin/sh
CMDLN_ARGS=”$@” # Command line arguments for this script
export CMDLN_ARGS
# Run this script as root if not already.
chk_root () {
if [ ! $( id -u ) -eq 0 ]; then
echo “Please enter your password.”
exec sudo su -c “${0} ${CMDLN_ARGS}” # Call this prog as root
exit ${?} # sice we’re ‘execing’ above, we wont reach this exit
# unless something goes wrong.
fi
}
chk_root
files=`find $1 -regex “.*\(php\|html\|tpl\|js\|css\|htm\)$”`
suffix=`eval date +%s`
tar -zcvf backup-$suffix.tar.gz –exclude=’*.tar.gz’ $1
for xx in $files
do
mv $xx $xx.bak
echo backup to: $xx.bak
tcs -f 8859-9 -t utf $xx.bak > $xx
rm $xx.bak
echo $xx converted
done
Windows kullanırken DNS Cache’imizi ipconfig /flushdns komutu ile kimi zaman problemli olsa da temizleyebiliyorduk.
Peki ya Ubuntu’ya geçiş yaptık ve dns cache’imizi temizlememiz gerekirse?
Bu iş için Ubuntu’nun standart kurulumunda var olmayan bir paketi kurmamız gerekiyor:
sudo aptitude install nscd
Bu paketten sonra nscd deamon’ı kurulmuş oluyor. Diğer deamonları yeniden başlatır gibi başlatıyoruz:
sudo /etc/init.d/nscd restart
Bu noktada dns cache’i temizlenmiş ve yeni ip adreslerine ulaşabiliyor olmanız gerekmektedir.
Facebook’un internet dünyasına getirdiği yeniliklerin yanı sıra, ekonomik ve hukuk bakımından da yeni bir iş modele örnek oldu!
Facebook üzerinden spam gönderim yapan spamcılara karşı açtığı davada 711 milyon dolar kazandı. Facebook, daha önce de benzer bir davada da 873 milyon dolar kazanmıştı.
2Future olarak Gazeteport Çözüm Ortağı olmamız nedeniyle Gazeteport’un Mecidiyeköy’deki ofisinin en üst katına taşındık.
Şimdilik detaylarına girmeyim ve herkesi merak içinde bırakalım. Tüm dostlarımızı Gazeteport’un Mecidiyeköy’deki merkezine bekliyoruz.