Adobe’den Bir Harika Daha

06 Temmuz 2008

Gerçi benim hiç işime gelmedi ama hayranlığımı belirtmek isterim.

Bir süredir Adobe Stock Photos’tan resimlere bakınıyordum. Hatta birkaçını kullandığımıda itiraf etmeliyim. Tabi resimler ücretli olduğu için ben küçük halleri ile idare ettim. Fakat mükemmel bir veritabı var ve profesyönellerin gerçekten çok işine yarayacak bir hizmet.

Gel gelelim ben kaçak olarak  kullandığım ürünün bu şekilde hata vermesi inanılmaz :)

birkaç arama yaptım fakat sonunda hep aynı resimleri döndürünce dikkat ettim, işte arama sonucu dönen resimler :) ;

stop! Hammertime!

24 Haziran 2008

Alakasız bir şekilde rastladığım firefox eklentisi: “Stop! Hammertime!” .

Dur butonuna bastığınızda taa eski Mc Hammer’ın şarkısı “You Can’t Touch This” in en güzel kısımlarından biri olan “Stop! Hammertime” duyuyorsunuz. Canım sıkıldıkça “esc” tuşuna basıp duruyorum :)

Görünce tanıyacaksınız, işte Mc Hammer:

Şarkıyı bilmeyenler belki şarkının türk coverı Grup Vitaminin Dokundur‘unu hatırlayacaktır.

“.me” uzantılı alan adı geliyor

24 Haziran 2008

Karadağın bağımsızlığından sonra kendilerine ait alan adı uzantılarını alıyorlar.

Karadağ (Montenegro) olarak kısaltmaları olan “mo” uzantısını Çin’e bağlı özerk bölge “macau” kullandığı için Karadağ hükümeti .me uzantısına karar vermişler.  Sanırım bu işe en çok Amerikalılar sevinecektir. Kendilerini ifade edebileceklerini söylüyorlar. Anlamlı birçok kelimeyi özel olarak rezerve etmiş nic yetkili amcalar mesela “show.me”, “fly.me”, “drive.me” gibi domainler uzantının açılmasından sonra açık arttırma usulü ile satışa çıkartılacak.

Landrush satışları başlayan uzantının genişte reklamı yapılıyor. Eğer şimdiden aklınıza gelen domainler varsa geç kalmadan ön talep yapabilirsiniz. Fakat bu biraz tuzluya malolacak. Yıllık 50$ olan Landrush satışı en az iki yıllık kayıt gerektiriyor. Yani düşündüğünüz her domain için 100$’ı bağlayacaksınız. Bağlayacaksınız diyorum çünkü Landrush döneminde tam satın almış olmuyorsunuz. Eğer sizinle aynı alan adını isteyen birisi varsa Landrush dönemi sonunda açık arttırmaya sunuluyor tabi yüksek verende kalıyor domain. Diğerlerinin ise parası geri ödeniyor. Ama bence her şekilde Amerika kazanıyor :)

PHP include ve function olayı

13 Nisan 2008

PHP ile uzun zamandır uğraşıyorum fakat daha önce farketmediğim basit bir hatamı arkadaşım düzeltti. (Lise arkadaşlarım olmasa ne yapardım bilmiyorum. Seni seviyorum Maçka, Teşekkürler :) )

Kısaca durum şu: include ettiğiniz veya require ile çağırdığınız bir “fonsiyon.php” dosyası içerisinde bulunan fonksiyonlar ayrı birer sayfaymış gibi derlenip, değişkenleri oluşturulup çağırdığınız dosyaya öyle geliyormuş. Bu yüzden fonksiyonlar anlamlı değerler alıp geri dönderemiyormuş. (Caner’in yalancısıyım. Biraz bakındım ama google’de pek bişe bilmiyor sanırım.)

Fakat çözümünü verdi arkadaşım sağolsun. Dosyayı “php” uzantılı olarak değilde farklı birşey yap, o zaman istediğin gibi çalışır dedi. Mesela: “fonksiyon.php” yerine “fonksiyon.uzanti” yaptığınızda dosyanın içindeki php kod parçaları sanki çağırdığınız dosyadaymışçasına iş görüyor.

Fakat bu çözüm biraz riskli çünkü bu şekilde oluşturulan bir dosya tarayıcı tarafından okunabilir hale gelir. Yani www.example.com/fonksiyon.uzanti dersen dosya içeriğini görebilirsin. Caner sağolsun buna da bir çözüm getirmiş, dosya adını tahmin edilemeyecek birşey yapacaksın. Mesela “kimsebilmeznecektigimi.dosyasi” yaparsak (sanırım kimse tahmin edemez :) ) kafadan uydurupta tarayıcıda görüntülenmesi zor olacaktır.

Eminim bu sorunun daha akılcı bir çözümü vardır fakat ben google ile yeteri kadar konuşamadım bu konu üstüne. Fikri olan varsa iletirse sevinirim :)

Kalın sağlıcakla…

Brainiac ile Bilim Öğrenin

09 Nisan 2008

Discovery Channel’da yayınlanan “Brainiac”  programı bilimin temel kuramlarını popüler yöntemlerle anlatıyor.

Tam tercimesi olmamakla beraber “Brainiac” kelimesi, bir konu üzerine çok şey bilen kimse olarak geçiyor. Veya (argo olarak) çok zeki insanlara hitap olarakta kullanılıyor.

Tv programında çok basit temel konuları herkesin anlayabileceği şekilde modelleyerek deney yapıyorlar. Evimde televizyon olmadığı için youtube’dan izlemekle yetinebiliyorum. İnanılmaz ve akla gelmeyecek deneyler yapıyorlar. Aslında deneylerin çoğu izleyiciler tarafından internet üzerinden soruluyor. Bir bakıma Web 2.0 örneği diyebiliriz. Bence çokta güzel olmuş. Deneylerinden birisi gazetede çıkan bir haber ile alakal idi. Bir araştırmacı 30 dakika boyunca kadın göğsüne bakmak, 30 dk egzersiz yapmak ile eşdeğer enerji tüketir demiş. Brainiac ekibide işe koyulmuş. Tabi deneyin bilimsel olması açısından denekler ikiz seçilmiş. Birisi 30 boyunca gözlerini ayırmadan 2 güzel kadının göğüslerine bakarken, ikizi ise şınav çekmek, bisiklet sürmek ile meşgul oluyor. Fakat 30 sonunda göğüslere bakan erginin normalden fazla enerji harcadığı tespit edilse de egzersiz yapan ergin çok daha fazla enerji harcıyor.

Bahsettiğim değil ama :) kesinlikle ilginizi çekecek bir videoyu da paylaşmak istedim…

Brainiac - Lazy Man\’s Guid To Making a Kebab

Google Hack :)

07 Nisan 2008

Bilmedende olsa google hack yapılmış :)

Nasıl mı?
Ben kendini google’da arayan cinslerdenim, fakat şaştığım konu, kendi blogumdan önce Can hocanın blogu listeleniyor google’da:
google:ganim altıok
önbellekten bakınca bile sitede benim adım geçmiyor. Al sana google hack :)

ne olmuş; www.canturna.com ‘a link verenler aynı anda bana da link verdiği için veya benim ismim o sitelerde geçtiği için google akıllılık etmiş benim adımı aratınca Can Turna’nın sitesini gösteriyor.

Şimdi ben bu yazıda da Can hocanın adını defalarca kullandığım içinde acaba Can Turna aratınca benim siteyi mi göstercek :)

Bu google’a akıl sır ermiyor…

Flash’ta Kolay Slide Show Hazırlama

06 Nisan 2008

aşağıdaki kodu flash’a yapıştırın ve belirtilmiş şekilde bir XML dosyası oluşturun başka hiçbirşeye gerek yok…

flashı olmayanlara swf yeterli XML’i de not defteri ile oluşturabilirsiniz ;)

/*
Flash‘ta resim gosterisi yapmak her zaman canımı sıkmıştır. Flash CS3′te bu ugras ıcın “Slideshow Template” yapmışlar ama o da çok farklı değılö yine sıkıcı bir sürü fare tıklaması.
Bu iş için daha basit daha hızlı bir çözüm yaratmak lazım diye düşündüm. Şu an yeni taşındığım evimde internet olmadığı için tek kaynağım da Flash‘ın yardım dökümanı.
Aklımdakini anlatayim:
-Resimleri teker teker sahneye aktarıp birebir boyutlandırmak istemiyorum.
-Her resim için ayrı ayrı tween ile uğraşmakta istemiyorum.
-Resimlerle ilgili başlık vs. resimle beraber görünsün istiyorum.

Sonuç olarak tüm resimleri tek klasörde saklarım, resim listesini ve bilgileride bir xml dosyasında saklarım diye bir çözüm düşündüm.
Ve o şekilde yaptım, kodlar biraz karışıktı düzenledim ve ne işe yaradığını anlattım.
İyi seyirler.

Sahneye hiçbirşey eklemeniz gerekmiyor. Nesneleri script ile yarattım.
Örnek olsun diye birkaç resim ve aşşağıdaki formatta bır xml dosyası gerekiyor.

<liste>
<bekleme>6</bekleme>
<resim baslik=”Dere”>1.jpg</resim>
<resim baslik=”Gol”>2.jpg</resim>
<resim baslik=”Orman”> 3.jpg</resim>
<resim baslik=”Cicekler”>4.jpg</resim>
</liste>

*/

//Gerekli kütüphaneler
import flash.display.*;
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.events.Event;
import flash.display.Sprite;
import flash.events.TimerEvent;
import flash.utils.Timer;
import flash.text.TextField;
import fl.transitions.*;
import fl.transitions.easing.*;

//Dışardan bilgileri alacağımız xml dosyasına bağlanıyoruz.
var disXML:XML;
var XMLYuk:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest(”liste.xml“);
XMLYuk.load(request);
XMLYuk.addEventListener(Event.COMPLETE, Tamamlanan);

//XML nesnesi yüklemesi tamamlandığında aşağıdaki fonksiyon çalışıyor.
function Tamamlanan(event:Event):void
{
var XMLYuk:URLLoader = event.target as URLLoader;

//değişkene xml verisini yükledik.
disXML = new XML(XMLYuk.data);

//resimler arası bekleme süresini de xml den okutuyorum.
var bekleme=disXML.bekleme;

//xml dosyasından kaç resim olduğunu okuyorum.
var resAdet=0;
for each (var resimAdi in disXML.resim)
{
resAdet+=1;
}

//ilk resmi direk gösteriyorum çünkü zaman ölçmeye başladığımda bekleme süresi kadar boş kalıyor.
resimGoster(0, disXML.resim [0].@baslik);

//Zaman değişkeni bekleme süresini resim sayısı kadar tekrarlayacak.
var Zaman:Timer = new Timer(bekleme*1000, resAdet-1);
Zaman.addEventListener(TimerEvent.TIMER, Degis);
Zaman.start();

//Zaman değişkeni her tetiklendiğinde çalışacak fonksiyon
function Degis(event:TimerEvent):void
{
//resim gösterme fonksiyonunu çağırırken xml veri indeksini zaman nesnesinin tetiklenme sayısı ile çağırtıyorum.
//resim başlıklarını da kullanımını görmek açısından farklı bir şekilde çağırttım.
resimGoster(event.target.currentCount, disXML.resim[event.target.currentCount].@baslik);
}

}

//her zaman tetığinde gösterilecek resim aşağıdaki fonksiyon ile çağırılıyor
function resimGoster(no, yazi)
{
//her resim için yeni movieclip nesnesi oluşturuyoruz.
var resim:MovieClip = new MovieClip();
//resmi sahneye ekliyoruz
addChild(resim);
var resYuk:Loader = new Loader();
//fonksiyona dışarıdan gelen resim indexi ile xml dosyamızdan resmin yolunu alıyoruz
var resUrl:String = disXML.resim[no];
//resim yolunu url isteğine tanıtıyoruz
var resUrlIst:URLRequest = new URLRequest(resUrl);
//ve resimi nesneye yüklüyoruz
resYuk.load(resUrlIst);
//resim yükleyicisi nesnemize yeni olay dinleme nesnesi oluşturuyoruz
resYuk.contentLoaderInfo.addEventListener(Event.COMPLETE, resimYukle);
//ve yukarıda belirttiğimiz resimYukle fonsiyonunun içeriği
function resimYukle(event:Event):void
{
//sahneye eklediğimiz resim nesnesine resimyükleyici nesnesinin içeriğini atıyoruz.
//bu adımda resim sahnede görünecektir, fakat öncesinde hemen altındaki özellikleri kazanarak görüntülenecek
resim.addChild(resYuk.content);
//aşağıdaki iki satır resmi sahne genişliği ve yüksekliğine eşitliyor.
//aslında bu yöntem resimlerde bozulmalara yol açacaktır, bunu önlemek için kullanacağınız resimleri bir resim işleme programı ile sahne boyutuna getirebilirsiniz.
resim.width=stage.stageWidth;
resim.height=stage.stageHeight ;
//resimlerin sahneye geçişli bir şekilde gelmesini sağlayan satır.(tabi yukarıda eklediğimiz kütüphaneler sayesinde)
TransitionManager.start(resim, {type:Fade, direction:Transition.IN, duration:9, easing:Strong.easeOut });
}
//resim başlıkları için yeni yazı alanı oluşturuyoruz
var Baslik:TextField = new TextField();
Baslik.text = yazi;
//yazı alanı özellikleri
Baslik.autoSize=”center”;
Baslik.background=true ;
Baslik.backgroundColor=0xFFFFFF;
//sahnede yaklaşık olarak nesnemizi ortalıyoruz
Baslik.x=(stage.stageWidth/2)-50;
Baslik.y=stage.stageHeight-30;
//ve gösterime hazır nesnemizi sahneye ekliyoruz
addChild(Baslik);
}

Tikirti icin daha bilgi

17 Şubat 2008

capture.JPGNBA All Star yarismalarini izlerken uyuya kalmisim. Bilgisayarimda beni beklemis tum gece. En son nba.com acik kalmis ekranda ama gece 3 te basladigi icin yarismalar tam uyanik sayilmazdim. Uyaninca farkettim :) SEYRETMEK RADYO YAYINI
TIKIRTI ICIN DAHA BILGI

HP recovery laneti

31 Ocak 2008

hp-logo.jpgLaptopum çok yavaşladı, ayrıca bir sürü önüme çıkan programı kurmuştum nasıl olsa formatlarım diye. Klasik Türk mantığı, hiçbirşeyi yeni ve orjinal hali ile kullanmayız illa bozacağız orjinalliğini.
Yeni Vista kuracaksam bari bir esprisi olsun işlemci 64 bit, işletim sistemi de 64 bit olsun istedim. Okulumuz sağolsun bize sağladığı MSDN Alliance sayesinde 64 bit Business Edition kurdum fakat 64 bit olması hiçbirşeyi değiştirmediği gibi Home Premium’da bulunan Media Center gibi güzel yan araçlar yok, onun yerine hardware protection gibi korumalar konmuş.
Sonuç olarak benim işime yarmadığı kesin. O zaman HP’nin bizim için DVD olarak vermek yerine HDD üzerine ayırdığı “Recovery” bölümünden paşa paşa Home Premium kurayim dedim fakat o da ne!!

HP laptoplara farklı bir windows (kendi recovery kısmı dışından) kurarsanız recovery kısmı iptal oluyor. Bilgisayar açılırken kolayca recovery yapabildiğinz F11 tuşu iptal oluyor. Eğer Recovery kısmını DVD’ye yazmadıysanız (benim gibi) işiniz zor! Üç seçeneğiniz var.

1-HP teknik servise 95 ytl bayılacaksınız ve size bir DVD verecekler
2- Aynı model bir HP laptop bulacak ve onun recovery DVD si ile kurulumu yapacaksınız ki nasıl bulacaksınız bilmiyorum. Şanslı olmanız lazım.
3-Benim yaptığım gibi, kend windows’unuzu kuracak ve HP’nin lanet sitesinden lanet driverları indireceksiniz.

Yalnız hiçbirşey eskisi gibi güzel olmayacak haberiniz olsun. O yüzden Recovery kısmını mutlaka DVD’ye yazın havasız ortamda poşetleyin, kuru, serin ve güneş almayan bir yerde saklayın.

MS Word’e devam

13 Ocak 2008

Yeni dosya menüsünde maceralarım devam ederken dosya şablonlarını incelemeye başladım ve sonra “Uçanlar” kategorisi ile karşılaştım. Bazen anlam vermeden okur ve devam edersin ya, bu sefer öyle olmadı “Uçanlar” menüsünü gördükten sonra birdaha birdaha okudum ve küçük bir gülümseme ile İngilizceye çevirdim “Flyers” :) inanılmaz. Çevirenler ya Türkçe bilmiyor ya da İngilizce bilmiyorlar veya daha büyük bir sorun var, bilemiyorum.
ucanlar.JPG

MS Word 2007 ile ilk iletim

13 Ocak 2008

MS Word 2007 ile “Yeni” seçeneğini açtığınızda karşınıza Boş Belge veya Boş Web Günlüğü seçenekleri çıkıyor. Bende merakımı gidermek ve nasıl çalıştığını görmek adına yeni bil Web Günlüğü iletisi hazırlama kararı aldım. Blogger, Wordpress ve Live Space gibi popüler birkaç Blog sağlayıcısını destekliyor. Tabi gerekli kullanıcı adları ve şifreleri vermeniz gerekiyor. Tüm bilgileri verip onayladıktan sonra biraz ürkütücü bir uyarı ile sonlandırıyor. “Gönderdiğiniz bilgiler başkaları tarafından görüntülenebilir. Kullanıcı adınız ve parolanızda bu bilgilere dahildir.” gibi bir soru. Sonuçta Microsoft kendini korumak isteyecektir diye düşündüm.

Crysis: oyunun ötesinde

07 Ocak 2008

2 haftadır Crysis oynuyorum oyundan her çıktığımda “Güzel oyun” diyorum :)
Ülkemizde bu kadar popüler olması yapımcılarının Türk olmasından kaynaklanıyor. 3 Türk kardeş kurdukları Crytek firması ile “cry”lı oyunlar üretiyorlar. Gerçi oynamadım ama bir önceki oyunları Farcry içinde çok güzel övgüler vardı. Hatta Farcry’ın çıkışı Half Life 2′nin çıkışını ertelemiş diye duydum.

Sonuç olarak oyun güzel ama yapımcılarının Türk olmasının bize ne faydası var?

1.Oyun türkçe ve türkçe seslendirme için 75.000€ harcamışlar, her ne kadar Türkiye’den bekledikleri gelir bu kadar olmasa bile. Ayrıca oyunun dağıtımcısı EA karşı bile çıkmış oyunun türkçe versiyonun çıkarılmasına fakat biz türküz ;)

2.Türklerinde güzel şeyler yapabildiğini, isminin tüm dünya tarafından konuşulabileceğini gördük.

3. Bu sayede “Bilişimle Kalkınan Türkiye”de belki oyun piyasası gelişir biraz olsun.

Peki biz ne yapıyoruz? Bilmiyorum. Ama bugün gördüğüm video bizim ancak bu oyunu oynayabileceğimizi söylüyor.

Bu videoyu bir Crysis oyuncusu Crysis’in oyunla beraber gelen map editörü ile yapmış.

[kml_flashembed movie="http://www.youtube.com/v/VaHS-y_mapQ" width="425" height="350" wmode="transparent" /]
http://www.youtube.com/watch?v=VaHS-y_mapQ

Videodaki kullanıcının açıklamasını mutlaka okuyun.

php Türkçe Karakter Dönüştürme

06 Ocak 2008

php.JPGTürkçe karakterli bir kelimeden link yapmaya çalıştığınızda (genellikle .htaccess dosyası ile link formatlama yaparken ihtiyaç duyuluyor) türkçe karakterleri ve gereksiz imlaları değiştirmeniz gerekebilir. Bunun için php’nin strtr() veya str_replace() fonksiyonlarını kullanabilirsiniz.

Fakat veritabanına (benimkisi MySql) kaydederken veya çekerken php bazı türkçe karakterleri algılamıyor bu yüzden karakterleri değiştiremiyor. Benim gibi defalarca yazdığınız kodu inceliyorsunuz ve hiçbir hata olmamasına rağmen Ç harfini C’ye dönüştürüyor ama Ğ’yi G yapmıyor mesela :)

Uzun denemeler sonucunda şöyle bir sonuç buldum:

Veritabanına kaydettikten sonra Mysql ile görüntülediğimde “ÐUÞÝ” gibi karakterler gösteriyordu, bende fonksiyonumda bu karakterleri kullanmaya karar verdim ve işe de yaradı.

İşte gerekli işlemi yapan fonksiyon:

function replace_tr($text) {

    $noktalama = array(",", ".", ";", ":", "!", "\\",

"'", "&", "%", "@", "\"", "/", "*", "(", ")");

    $text=str_replace($noktalama, "", $text);//ÐUÞÝOC - ðuþýoc

    $trler = array("Ð", "Ü", "Þ", "Ý", "Ö", "Ç", "ð", "ü", "þ",

"ý", "ö", "ç", " ");

    $engler = array("G", "U", "S", "I", "O", "C", "g", "u", "s",

"i", "o", "c", "-");

    $text=str_replace($trler, $engler, $text);return $text;

}

echo replace_tr("Ganim'in Türkçe karakter çözümü!");

>>Ganimin-Turkce-karakter-cozumu

Noktalamaları kaldırır ve Türkçe karakterleri inglizce alfabesindeki karşılığına dönüştürür.

Uyku & Zaman ? Web 3.0

05 Ocak 2008

uykucu.jpg

Bir süredir Web 3.0 ne olacak, kim ne diyor, hazır olmak için ne yapmamız gerekir diye araştırırken esas noktayı kaçırdığımı farkettim. Nasıl Web 2.0′ı kullanıcılar yarattıysa 3.0 için de aynı şey geçerli olacak ve buna bizim şimdiden 3.0 dememiz hiçbirşeyi değiştirmez.

O zaman ne yapmak lazım, kullanıcı haraketlerini gözlemlemek ve eğilimlerinin nasıl olduğunu anlamak yeterli olacaktır. Fakat tabi bu işi benim gibi geliştiricilerden daha iyi yapabilecek kişiler varsa onlarda sosyologlar olacaktır. Ve ülkemizde bu konu hakkında fikir sahibi olan kaç sosyolog bulabilirim acaba? Yabancı bir magazinde bu konu ile ilgili bir yazı okurken ropörtaj yapılan insanlardan birinin bir felsefeci olduğunu gördüğümde çok imrenmiştim. Çünkü web geliştiricilerinin iyi bir inovasyon yaratabilmesi, kullanıcı psikolojisini ne kadar iyi anladığı ile alakalıdır.

Bu arada uyku problemi çektiğimi söyledim mi? Her gün sabah 5′ten erken yatamıyor ve 10′da uyanıveriyorum. Bu daha ne kadar böyle gidecek bilemiyorum. Sabahları okula giderken bir enerji içeceği içmessem derste bayılacağımı düşünüyorum. Kendimi her an çok güçsüz fakat bir o kadar da aktif hissediyorum. “Bu kadar saat ne yapıyorsun be adam?” derseniz, “Projeler” diyeceğim. Sürekli araştırma ve üretim. Tabi araştırma daha çok zaman alıyor.

Bu kadar konuşmanın sonunda acaba Web 3.0 geliştiriciler için daha az uyku mu demek oluyor?

(Bir ara da Web 3.0′a dair kendi kehanetlerimi yazayim.)

Hello World

01 Ocak 2008

Yeni yılda artık blog yazacağım. 2008 yılı bir farklı geçecek eminim :)

//yalan, hiç sanmıyorum ama her zamanki gibi bir umut bendeki…