Tuesday, October 30, 2007

Hürriyet Bumerang Atıyor

Bende bumeranga üye oldum bu bi nevi hürriyetin halkın gazetesi hakkın gazetesi yolunda attığı bir adım sanırım bakalım ne kadar kişi gelcek o taraftan heyecan ile izliyor olacağım bu arada sizde üye olun zıplarsa banada söyleyin :)

http://bumerang.hurriyet.com.tr

Monday, October 29, 2007

Yahoo Buzz

Google Trends diye bir araç var insanların neler aradığını hangi ülkeden aramalar geldiğini gösteriyor. süperde bi araç bir keyowrdün tahmini hacmini görmenize yarıyor. bende bunun acaba rakamlarını nerden öğreniriz diye mıncıklıyordum. bi mailde yahoo buzz da rakamlarda veriliyor gibi bişey okudum ona bakmaya başladım velhasılı bulamadım. ama hazır yahoodayken bi arama yapim dedim.

aradığım şey "google trends in yahoo" oldu ve arama sonucu en üst sırada gördüğüm şeye koptum :) sanırsam yahoocular içerden bu tip kombinasyonlara özel sonuçlar giriyorlar.

ilk sırada gelen şey. yahoo keywordü sex den daha çok aranıomuş onu görmeme sebep oldu :D garip insanlar...

E Ticaret Kargo

E - Ticaret de en mühim ayaklardan birisi olan kargo yani taşıma sistemi nasıl daha iyi yapılabilir. öyle okurken gezinirken bir siteye rastladım. sistemin amacı taşıma sistemine tek arayüzde çözüm getirmek.

http://www.usps.com/webtools/

içinde adres doğrumu kontrol apisi. fiyat hesap apisi. tahmini ulaşım süresi apisi. sayesinde neredeyse pakedi yollamadan gereken bütün argümanları çözmüş oluyorsunuz. birde üstüne sisteme gereken kaydınız varsa tahminim gönder alda verir. işte o andan itibaren bütün gönderim alım işlemleri için gereken alt yapı kurulmuş oluyor. tek yapmanız gereken sipariş almak.

acaba türkiyede bu hizmeti veren bir kargo kuruluşu varmı diye bakındım. bitek DHL nin bu sayfasını bulabildim. her tarafda arayüzlerde az evel saydığım hesap kitap yapılıyor ama webservisleri varmı belli değil. bundan yapsak tam süper olur :)

Tomcat Php Problemleri

Aslında normal bir server da böyle bir problem söz konusu değildir fakat. diyelimki ortamınız shared hosting o zaman aklınıza gelemeyecek milyon tane nane çıkabiliyor. bir süredir benim hostingde .htaccess de url rewrite yapıyorum fakat uzantısız url ler 404 veriyordu. bende uzantısını .html yapcak şekilde linklerimi yine seo friendly ediyordum.

bu gece canıma tak eden bu sorun bu linkle birlikte çözüldü umarım. anlatılana göre uzantısız istekler önce tomcat e gittiği için sonuç 404 oluyor.

henüz bende işlemin bitmesini bekliyorum hostingden java jsp nanelerini söktüm zatende java aletlerini çalıştırması vede kurması bambaşka bir bela olduğu için şimdiye kadar ciddi bişey yazmamıştım. hadi bakam hayırlısı

Friday, October 26, 2007

ASP.NET Performans

bir sürü adımdan bahseden bir sürü döküman var sessionu kapat viewstate i ziple gibi cümleler le kaynıyor net velhasıl ziplersem gerçekten faydası olacağını test ettim gördüm. burda ziplenen gönderilen html oluyor bundan 2 sene öncede bu gibi bişey kullanmışdım direk çalışmışdı fakat bu sefer AjaxControlToolkit var :) onunda ayrı gayrı kimseden habersiz ajax istekleri var scriptresource.axd ve webresource.axd ye yapılan bu istekler bazen bozulabiliyor misal urlrewriting yaparken.

şimdiki durumda evvelden kullandığım bileşenin ziplerken o istekleride bızdıklayıp browseri şaşırtmasından kaynaklandı.

httpcompression modulü burdan almışdım koydum yerine amanda ne güzel hızlandı sitem derken pat diye basit ajaxsal naneler çalışmaz oldu. onuda excludepaths xml config inde hallederim dedim amma yemedi. meğersem değiştirilmesi gereken küçük bi yer varmış. bu yazıda anlatıldığı üzere HttpCompress.cs dosyası arayıp 85. satırını bulmaya çalıştım amma öle bi dosya yok. aslında dosyamız HttpModule.cs ve satır 85 :) neyseki yazıda belirtilen
From:

string realPath = app.Request.Path.Remove(0, app.Request.ApplicationPath.Length+1);


To:

string realPath = Path.GetFileName(app.Request.Path);

değişikliği yapınca ajaxlı zipleme modülümzde güzel güzel çalışır oldu :)

bu arada yaptığım testlerde tomcat bir sistemi geçemedim alet 0.45 ile 0.55 arası oynarken IIS6 asp.net2 bir sistem 0.65 ile 0.90 milisaniye arası değişen tepkiler verdi. okunabilecek ve denenebilecek bütün yöntemlerede başvurmama rağmen var olan kod ile tomcate yetişemedim. sanırım kodu başdan bi elden geçirmem gerekecek. fırsatı bulurda revize edersem bu tomcat vs iis yazısına devam edecem :)

Thursday, October 25, 2007

Gphone VS IPhone

yakında böyle yazılar görmeye başlarsınız başdan anlatayim dedim :) geçtiğimiz sene bütün internetde iphone şöyle güzel böyle süper derken bu sıralar iphone'unuzu nasıl hacklersiniz bilmemne yüklersiniz diye yazılar çıkmaya başladı. bu bir reklam furyasıydı aldı gazını devam ediyor bundan youtube de etkilendi en son player ı süper olmuş. ve aynı iphone arayüzünde :)

gelelim gphone'a bu google phone da denebilecek google ın şimdiye kadar kabul etmediği ama uğuruna belli bandları satın aldığı(4,6 milyar dolara detay) tahminlere göre yeni jscript motoru ve x86 modele sahip bir telefon. tahminimde önümüzdeki sene google telefonu patlatıp iphone u tokatlar.

tabii bu arada bunların hepsi birer varsayım yazılanlara göre google henüz bu konu hakkında hiç kimseye bişey dememiş maillerede cevap dönmüyormuş. google işletim sistemi gibi kaybolup gidedebilir :) o güzel bombaydı ben isterdim şahsen denemeyi.

Wednesday, October 24, 2007

SEO Trick

PR yani pagerank muhabbetinde sub domain ana domain ve hatta sayfalar farklı pr alabilirler. link aldıkları site ve sayfaların pr ına göre hesaplanır o. neyse gel gelelim bi domainniz var. örnek:
abc.com

bu ana domain oluyor. ve siz içeriğinizi aslında www.abc.com da yayınlıyorsunuz. fekat siteye gelen linkler href="abc.com" şeklinde verilmiş. e diceniz ulan aynı bok. hayır değil neden. kaçtı prlı linkler. pr lı linkler abc.com u gösterio siz www.abc.com da içeriğinizi yayınlıyorsunuz. ve giren kişilerde www.abc.com deyip de buluyorlarsa sizi o sayfadaki prsız olduğu için adsense değeriniz düşüo. neyse abi sözü dinleyin farklı işte :)

bu aksiyom(kesin kabul edilen olgu ör:din) dan yola çıkarsak bunu nasıl çözebiliriz. deli gibi ASP.NET ci olmama rağmen orda nasıl çözülür bende bilmiom henüz. ama php dünyasında çok basit. .htaccess dosyası sağolsun.
rewritecond %{http_host} ^tatliseyler.com [nc]
rewriterule ^(.*)$ http://www.tatliseyler.com/$1 [r=301,nc]


bu 301 redirect işlemini yapar yani bu sayfa www ye taşınmıştır der. browser açısından bi anlamı yoktur ama googlebot haa der demekki bunun pr ı bunn gittiği yer www. ya o zaman :) örnek tatlı şeyler e tıkladığınızda direk www. lıya gönderecektir sizi.

Google Bugs

o neki şimdi google da bug mı var diyenlere matt cutts die bi adamın blogundan bahsetcem. bu adam google da arama konusundan sorumlu ünlü mühendislerden birisi adını google a yazın dünya kadar video resim yazı çıkacaktır.

ee buglar nerde diyorsanız buyrun. adam bi sorim dedi bug varmı google da nedir durum banada söyleyin yarın toplantıda dillendireyim. sonuçda beleşe çalışan tester tayfa bende dahil olmak üzere yığıldı buglar.

Gmail 4gb ı geçti

evet başlıkdanda anlaşıldığı üzere şaşdım kaldım 4 gb mail box ım var. bu böyle sonsuza giderken insan düşünüyor nereye kadar diye :)

You are currently using 753 MB (17%) of your 4333 MB.


753 mb da nerde doldurdum onu bile bilmiom altı üstü 20 30k lık maillerle 750 mb çüş derler adama :)

Saturday, October 20, 2007

The International Obfuscated C Code Contest

The International Obfuscated C Code Contest

obfuscation böle çorba gibi yapmak anlamına gelio karıştırmak yani. genelde C# ve Java dillerinin çıktılarında önem taşıyan bu terim C dünyasındada artık bu "C ile çok güzel kodlar yazıoz amanda ne harika oldu bu" diyenlerin sıkılıp "ziterim ulan al bunu okuda görek". şeklinde açtığı takıldığı eski bi yarışma.

geçen senelerde kazanan kodlar kodlar iç açıcı :D

Mp3 Sitesi

En sonunda benimde bir mp3 sitem oldu :) ringofon firmasının verdiği gelir ortaklığı sisteminden ve kodundan açıverdimdi. önce seo sal problemler yaşadım(godaddy nin serverları alem yemin ediom nasıl çalışıo kod hayretler içindeyim :O) şimdi düzelttim. cirlop gibide çalışıyor. verilen kod atla deve değil gayet rahat içinde top oynanıyor. bende biraz işlevsel koyim dedim.

küçük küçük dinleme imkanları çok hoşuma gitti. download sayfasındaki tabii bunu hemen ana sayfadaki listelere eklemeliyim diye düşündüm. alet gidip ringonun serverlardan veriyi aldığı için benim siteye yapılan bir istek aslında arkada 10 larca istek olabiliyordu. uleyn şimdi lokalde mesele değilde server zaten amerikada git onu al bunu kes ötekine ekle uzun sürüyor acilen caching eklemem lazım dedim ve bu yazının ana konusu ordan çıktı. kral php ci değilim ama çözerim.

<?php
$cachefile = 'cache/index-cached.html';
$cachetime = 5 * 60;
// Serve from the cache if it is younger than $cachetime
if (file_exists($cachefile) && time() - $cachetime < filemtime($cachefile)) {
include($cachefile);
echo "<!-- Cached copy, generated ".date('H:i', filemtime($cachefile))." -->\n";
exit;
}
ob_start(); // Start the output buffer

/* The code to dynamically generate the page goes here */

// Cache the output to a file
$fp = fopen($cachefile, 'w');
fwrite($fp, ob_get_contents());
fclose($fp);
ob_end_flush(); // Send the output to the browser
?>


anladığım kadarıynan 5dk da bir yenilenecek bir cache koyuyor ki bu gayet yeterli. "/* The code to dynamically generate the page goes here */" bölgesine istediğinizi koyun cache folderi açıp onada 777(chmod) verin gitsin mis mis :) php nin en güzel yanıda bu nazlanmadan çalışması. ama kod yazarken yine epey bi can sıkıntısı. => atama operatörü klavyenin bir ucundan bir ucuna $ işareti her değişkenin başında. sanki dil ingilizce klavyeye özel yazılmışda bizim klavyede yazması iki kere zormuş hissine kapılıom her seferinde bide adam gibi bi idesi olmaması sebebiyle ne bir code indention ne bi düzen zaten alışığım öle atomic kodlar yazmaya bi daha okursam çözmesi 2dk daha fazla zaman alıo ama napam onlamı oynicam :)

Friday, October 19, 2007

Msn Hack

Akşam oturmuş sakin sakin surf ediyorum. bi anda arkadaşımın arkadaşı gel skype dedi muhim konu aha dedim olaya bak bu esnadada ilknur msnden selam demişti. açtım skypeyi başladım selam naber allahım kıyamet kopuo öteki tarafda birbirine bağırıo ilknur kardeşiyle atışmakta. ben bişey anlamadım o konudan bu esnada ilknur msn den diyorki internet bankacılığı kullanıyormusun. bi dk ben msn loglarını çakim araya yazim yahu ne uraşıom :)

Ĩℓкηυя ordamısın
mascix he açıom skype yi
*** bu esnada ben asıl ilknur ile konuştuğumu sanıyorum. ve skype açmaya uraşıom.
Ĩℓкηυя benımkı girmıyor
Ĩℓкηυя İnternet bankacılıgın varmı ?
mascix var
Ĩℓкηυя varmı
mascix var
Ĩℓкηυя hangi banka
Ĩℓкηυя mascix
mascix garanti
Ĩℓкηυя bana para gelecek senin hesaba gelse sendende kendıme cepbankla yollasam olurmu ?
mascix olur tabii
mascix verimmi
Ĩℓкηυя tamam
Ĩℓкηυя müşteri numaranı yaz
mascix *******
Ĩℓкηυя parola
mascix hö
*** bu esnada kıllanmaya başladım.
mascix vermem parolamıki
Ĩℓкηυя İnternet sube parolası
Ĩℓкηυя internet subesıne gircem
mascix girme
*** bu esnada baya bi rahatsızım artık noluyor uleyn şeklinde :)
Ĩℓкηυя sorun olmaz özkan
mascix fark etmez
Ĩℓкηυя tamam saol
Ĩℓкηυя iyi akşamlar
mascix benim hesabım benden başkası giremez
*** kız tribi yapıo bana allaaahh
Ĩℓкηυя ya tamam saol
Ĩℓкηυя ben çıkıyorum
Ĩℓкηυя iyi geceler

*** bu esnada bende kapamışım msn penceresini skypeden ilknuru anlamaya çalışıyorum. yani aslında ortada iki ilknur var biri msn biri skype. skype deki aman bişe verme sus emine gibi şeyler derken ötekide benim banka bilgilerini almaya çalışıyor. sonra jeton düştü benim uleyn hacker gelmiş kaçırmışım die :D ve tabii heves ile msndeki ilknurla konuşmaya başlıyorum.

mascix bu arada ilknur yaptığın yanlış bilion dimi
Ĩℓкηυя ne yaptıgım ?
mascix milletin msnini hackliyip kandırman
mascix bende yapsam harika olurduda
mascix tebrik ederim :D

tebrikden sonra beni blockladı korktu yada bişe çıkmiyacağını anlayıp kapadı. halbuki bende kardeş kardeş yöntem öğrenecektim içimde kaldı :)

bu arada sonradan öğrendiğime göre ilknurun başka bir arkadaşı bu banka hesabı numarasını yemiş. ve aynen vermiş. ortam sanal insanoğlu kendine gel. bence banka hesabının şifresini veren hacker dan daha suçlu çekmesi lazım öğrensin. detayları öğrenemedim böyle kaldı konu akşam akşamda bana eğlence olmuş oldu :)

Google Webmaster Tool Verify Site

Bu Google Webmaster Tools(GWT) çok iyi bir nanedir diyemicem ama sitelerin indexlenmesini hızlandırdığı için ve azcıkında aramalar ve linklenmelerle ilgili bilgi verdiği için kullanmak bi nevi vacip. google farzı :) neyse dini karıştırmayalım. bu dalgaya sitemap verilebileceğini zaten biliyorduk. bide üstüne istatistik gösterdiğinide benden duymuş oldunuz.

konu "Verify a site" adlı araçta. ne zamanki yeni domain eklerseniz sizden bunu yapmanızı ister google ve derki birkaç yolun var bu işlemi yapabilmek için seç birini. bu seç birini ilerde gelişir bu yazı şimdi için geçerli olacak.

* Add a meta tag
* Upload an html file

bu meta tagı seçende size özel bir kod verir bunu gidip html de head tagları arasına yerleştirmeniz gerekir bu işlemi yapıncada verify tuşuna basınca zınk diye aferim oldu der. örnek yerleşim:

<head>
......................
<title>Süper</title>
<meta name="verify-v1" content="LI7PGnlT3D9mSEdUQ8XrzWV2rnhyMRfi7w+1vJWJCKc=" />
......................
</head>


işin o kısmı cirlop gibi çalışırken aylardır denememe rağmen upload html file çalışmıo deli olcam. burdan yetkililere seslenmek istiyorum nedir bu çektiğimiz html e incik boncuk soktuğumuz yahu upload file özelliğini çalışır kılında rahat rahat halledelim şu işi.

bu arada bu opsiyon seçildiğinde sistem geçici olarak bir problem yaşadı(Our system has experienced a temporary problem.) der durur. aylardır. ahada google'da bug buldum işte :D

Robots.txt ve Sitemap

Sitemap sitenizdeki sayfaları arama motorlarına söylemenin bir yoludur basit bir xml formattan oluşuyor. ilk google webmaster tools ile tanımıştım. çok faydalı yada faydasız diyemem çünkü zamanla siteler nasılsa tarandıkça indexleniyorlar. bu yöntem biraz daha erken biraz daha teferruatlı indexlenmesini sağlamak amaçlı yaptığım bişey.

fakat bu sitemapler google dan başka arama motorlarına nasıl veriliyor diye aranırken öğrendimki eski robots.txt bu konuda yeni bir başlığa sahip ve denedim gerçektende işe yarıyor. özellikle live(msn) search konusunda. burasının sitemap submit edebileceğimiz yeri yoktu diye bende kahillenirdim sonuçta diğer iki büyük(yahoo ve google) da bunlar için arayüzler var.

ama artık yapmanız gereken robots.txt ye sitemap eklemek. örnek:
Sitemap: http://www.mpazari.com/ilansitemap.aspx

sonra bu sitemaplerdeki 50 bin limitine takıldım 50 binden fazla link veremiyorsunuz. acaba dedim büyükler nasıl yapıyor bu işi derken sahibinden.com a baktım adamlar bölmüş parçalamış koymuş
http://sahibinden.com/robots.txt
User-Agent: *
Disallow: /haft/
Sitemap: http://www.sahibinden.com/sitemap.xml
Sitemap: http://www.sahibinden.com/sitemap1.xml
Sitemap: http://www.sahibinden.com/sitemap2.xml
Sitemap: http://www.sahibinden.com/sitemap3.xml
Sitemap: http://www.sahibinden.com/sitemap4.xml
Sitemap: http://www.sahibinden.com/sitemap5.xml
Sitemap: http://www.sahibinden.com/sitemap6.xml
Sitemap: http://www.sahibinden.com/sitemap7.xml


seo meraklılarının işine yarayacak güzel bir taktik. bu arada sahibinden deki sitemapleri firefox ile açmayın yamuluyor sanırım 50 binlik dosyalar download edip açmak lazımda denemedim :)

Open Source URL Rewriter for .NET / IIS / ASP.NET » Help

Open Source URL Rewriter for .NET / IIS / ASP.NET » Help

asp.net de sağlam urlrewriting isteyenler için uygun bir çözüm.

Sqlitesqlite Asp.net Providers 2

bir ay kadar önce yazdığım bu yazıda verilen providerları en sonunda godaddy de deneme şansım oldu sonuç negatif izin problemlerinden dolayı bizim sqlite dll'i hostingde çalışmadı.

bide php ile sqlite kullanan bişeyler yazarken fark ettim dosya lock olup kopyalanmaz üstüne yazılmaz olabiliyor. sonuçda bikere yayınla çık bi daha database i değiştirme işleri için uygun sanırım yada ftp den daha başka bir yolla database update etme işlemi keşfetmek lazım.

Wednesday, October 17, 2007

?? C#

bu nedir şimdi diyorum kodu okurken aynen şöyle bir satır.
return ViewState["SortExpression"] as string ?? string.Empty;

bi an durakladım bu neki şimdi 3 senedir C# yazarım bu ne lan :D meğersem gayet güzel bir operatörmüş ()?: bu yapıyı andırıo ama bunda(??) koşul null olması.

şöyleki ?? işaretinin solundaki return ediliyor eğer null değilse. eğer işaretin solundaki null ise sağdaki return ediliyor nerde çağırıldıysa.

hazır başlamışken ()?: bunuda anlatim. bu çok eski bir yapıdır taa C de vardı :) ondan sonra hangi dil çıktıysa taşıdı desem yeridir. böle azcık satırlarımız olsun istediğimizde kullanırız parantezin içinedeki koşul true ise soru işaretinin sağındaki değilse iki nokta üst üstenin sağındaki return edilir. örnek:

string samsalak="1";
string dumbelek=(samsalak=="1")?"dertsiz":"tasasız";

bu durumda dumbelek dertsiz olacaktır ama samsalak ="1" demeseydik tasasız olcaktı :) demekki samsalaklar ne olursa olsun dumbelekler hep mutlu :D

Tuesday, October 16, 2007

Linux

nedirki yenirmi diyenlere birkez daha anlatalım kendisi işletim sistemidir open source dalgasında muhim payı olan bir yazılımdır. konumza gelelim. hmm konuya gelmeden evvel linuxun aslında bir işletim sistemi kerneli olduğunuda söyleyelim. yani aslında linux monitörden görünmez o taa en aşşada diske bişeyler yazar verileri taşır hede hödösel işlerdedir. görünen kısımlar değişik yazılımlardır misal bash konsolu veya KDE X in üstünde çalışan desktop manageridir. linux değildir. neyse teferruata girmeye gerek yok.

kerneli kim geliştirir linus torvalds. bu kadarmı :) tek başına her boku omu yazar hayıır :) e peki kim yazar? dünyanın her köşesinden sıyırık tipler derdi olanlar, olmayanlar, herkez yazar sonunda linusda onaylarsa koda girer yazdıkları. bu dünyanın dört bir yanı kümesine şirketlerde dahildir özellikle linuxden ekmek çıkaranlar misal Redhat misal IBM. bugün kerneltrapde okurken gördüm bu yüzdeleri. gariptir içerde hiç türk yok :) neyse buyrun kim ne yemiş

2.6.23 kernel
Red Hat 827 adet (11.7%),
IBM 557 adet (7.9%),
"the Linux Foundation" 528 adet (7.5%),
Novell 449 adet (6.3%),
Intel 242 adet (3.4%),
Oracle 158 adet (2.2%),
MIPS Technologies 143 adet (2%),
Nokia 133 adet (1.9%),
NetApp 119 adet (1.7%).
Greg dioki 7,075 adet 992 developers tarafından 126 değişik çalışan. 843 tanesi (11.9%) sponsorsuz kişilerce.

gereksiz milliyetçilik olcak belki ama bir türk firması yok çok can sıkıcı. ama sonuçda linux türkler olmadanda gelişiyor ne mutlu open source sevene. tabii bu liste sadece 2.6.23 versiyonu için. bunun bide 2.4 ü var yok mm patch i var bilmemne kadar kanalı var. onlar başka alem.

Kaynak 1
Kaynak 2

Sabah Sabah Facebook

oturmuş kurcalanıyorum bi anda dilime takıldı "kahverengi gözlerin" neydi bu neydi bu aradım dinledim bi hoşuma gitti garip sanırım yaşlandım :)




sonra türk sanat müziği sevmezdim ben ama bide benzemez kimse sana dinliyim dedim baktım funda arar ın söylediği bir klip. sesi çok güzel olmasına rağmen yorumu bana bir garip geldi sanırım sebep 100 senedir bunu Müzeyyen Senar dan dinlio olmam :)


play3w hack 2

bundan bir zaman önce play3w nin ne olduğunu nasıl kırılacağını anlatan bir yazı yazmıştım hemen üstünede ufak bir proje yapıp perl ile uğraşmak istemeyenler için c++ ilen konuyu çözmüştüm. fekat burda yayınlamadığımı fark ettim.

program gayet basit bir input dosya veriyorsunuz birde output ismini yazıyorsunuz. oda play3w nin gereksiz kısımlarını silip size yalın bir avi veriyor. yazalıda epey oldu hala çalışıyormu emin değilim bir arıza çıkarsa diye kodu da sayfada mevcut.

Monday, October 15, 2007

RegEx

Regular Expression olarak bilinir. özünde textlerin sql i gibi bir tanımlama yapılabilir. daha anlamlı uzun açıklamak için misal elimizde bir text var ve içinde 90-555-5555555 gibi geçen bir stringi aramak istiyoruz. nasıl yapabiliriz dediğimizde.

Binary search ot search bok search diyenler çıkacaktır hatta dictionary yapar ordan en hızlı bulurum diyen çıkacaktır. eminimde yapılır :) peki bunu implement etmek ne kadar zaman alacaktır tahminen 2 gün. hadi iyi coder olsun sağlam çalışan bir kod koyması 5 saat. bu arada string bu "90-555-5555555" değilde "90-999-5555555" olursa nolucak algoritmamı değişcek yok iyi coderim ben harika yazdım onu parametrik çalışıo peki evladım aranacak stringi "амина çаким <клавые> русçа олду" yaptım şimdi nolucak yamulcak şimdi olmasa illa biyerde çatlar. o sebep regex tavsiye ediyoruz.

az evelki örneği çözen regex patterni:"[+]\d+[-]\d+[-]\d+" istediğin kadar değiştir kaçırmaz. regex libleri her dil ortamında bulunun string arama işlemlerinde en uygun oturmuş algoritmaları barındıran liblerdir. bir regex libinde annesini bile bulabileceğini söyleyen bir deyim duymuşdum. yani içinde ne var hiç sormayın ama güzel çalışıo :) kullanalım kullandıralım.

Sunday, October 14, 2007

.net 1.1 den kalma bir kod

codeprojectde geziniyorsunuz merak ettiğiniz bir konuda bir makale mevcut ama fii tarihinden kalmış kodu vs.net 2005(fii diom ama bende 2005 kullanıom 8 orca değil :)) ile açınca bi convert işlemi yapıyor ve bu yazının amacı olan konu geliyor. çalıştırınca bide bakıonuzki aşağıdaki gibi bir exception yemişiniz
Cross-thread operation not valid: Control 'objenin adı' accessed from a thread other than the thread it was created on.

bu threadlerin gui bileşenlerine ulaşım mantığı .net 2 de değiştiğinden kaynaklanıyor. aslında delegate melegate bi sürü bişeyler tanımlayıp en sonundada o bileşene istediğinizi koyabilirsiniz ama kolay denenebilecek bir yolu gösterim boşa uraşmayın :)
Control.CheckForIllegalCrossThreadCalls = false;
bunu main'e veya form load eventine yerleştirip bi start verin yerse devam yemezse zaten kaçarı yok girceniz o delegate lere :D eski kodlar elimde olsa delegatelerle ilgili hislerimi anlatıor ama şükürki yok. ban yeriz walla

Jerry Seinfeld

eskiden çok izlediğim bir komediydi bunu yazanda yönetende jerry di die aklımda kalmış nette gezinirken bu yazıyı gördüm paylaşam dedim.

adamın sırrı kocaman bir takvimde hergün bi konuyla ilgili bişeler yapıp X ler koyması ve buna zincir demesi, özünde "zinciri kırma başarıya ulaş" gibi bir fikri varmış yazı ondan bahsedio.

bide zincir kuralı vardı integralde güzel işti U U' üssülerle. bi zaman kafadan yapardım şimdi tek katmanlı integrali alamaz oldum :) demekki universite boş işmiş :D

Saturday, October 13, 2007

Mail Subscription

yani

mail aboneliği

konusu. rss imizi yazdık ama bide bu rss de geçen verinin milletin mailine gitmesini istiyoruz. olmaz ya hani bir nevi haber bülteni hesabı.her sitede olan gayet standart bi konu.

bunun için kod yazmamıza gerek yok thanks to web 2.0 feedburner bu hizmeti veriyor. rss ini feedburne veriyor ve diyorsunuzki bunu maille yayınla. bu kadar basit.
bende arayüz ingilizce nerden türkçe yapılır bilmiom bide soktumun ekran kartı sebebiyle screen shot alamıom ama yol göstermesi açısından adımları anlatacağım.

1. adım feedburner.com a gidip yukardaki "My Feeds" linkine tıklayın. o size feedburner a verdiğiniz rss leri listeleyecektir.

2. hangi rss e mail olayı vercekseniz seçin orda tablarla stat ları açacaktır. o tablardan "Publicize" tabına geçin

3. soldaki linklerden "Email Subscriptions" ı seçip activate diyin sayfanın aşşasından

4. "Subscription Link Code" başlığının altındaki kutuda geçen link kodunu alıp kendi sayfanıza yerleştirin.

oraya tıklayan kullanıcılar bi bot kontrolünden geçip kayıt olcaklar rss inize sonuç yeni yayınlar girdikçe rss e abonelerin mailine mail olarak gidecek. bi önceki blog da verdiğim motor rss linkinde bir sürü motor vardı ulan millete habire böle çoklu çoklu mail gitmesin diye korkuodum ama test ettim feedburner işini bilio abone abone olduğu tarihden sonra yayınlanan rss haberlerini mail olarak alıyor. sonuç:

feedburner rocks

Friday, October 12, 2007

RSS ve image ve img gösterememek

RSS lerde imaj olabilmesi durumu uzun süredir var bugün bi şekilde rss generate edicem ve imaj sokmam bu sefer kesin şart. önceki denemem la-lu daydı olmadı olmadı sikerim diyip vazgeçmiştim :) neyse velhasılı açtım yine aynı kodu gereken db bağlantıları bilmemne ekledim ama bir türlü rss itemlarında img gösteremiyorum. normal html giriom olmuo normal olmayan şeyler giriom olmuo meğersem hala ne boka yaradığını bilmediğim bi şekilde sokuluyormuş.

CDATA tagıyla sokuyorsunuz. bu ne iştir hala bilmem böle [[]] garip bi şemali vardır ! taşır falan neyse rss ine resim sokmak isteyene temiz bir örnek yazayim bir daha uraştırmasın.

<item>
<title>Canavar VN800</title>
<category><![CDATA[Cruiser-Chooper]]></category>
<category><![CDATA[Kawasaki]]></category>
<category>Istanbul</category>
<link>http://www.motosikletpazari.com/motor/ilangoster/11.aspx</link>
<description>
<![CDATA[ <a href='http://www.motosikletpazari.com/motor/ilangoster/11.aspx'><img src='http://www.motosikletpazari.com/ilanresimleri/11/1.jpg' alt='Canavar VN800 Cruiser-Chooper Kawasaki Istanbul' width='200' height='150' border='0' /></a><br/> ]]>FULL

Moto City Kiziltoprak BP yani
</description>
<pubDate>Tue, 09 Oct 2007 15:43:11 GMT</pubDate>
<guid>http://www.motosikletpazari.com/motor/ilangoster/11.aspx#TOP</guid>
</item>


örnek gayet açıklayıcı bide şunu ekleyem bu cdata tagı arasına direk html girebiliyoruz. mis gibide gösterio FF de ie7 de.

motor rss
dahada detaylı bir rss istiosanız www.celebslam.com un rss ine bakın WP güzel teknoloji tabii cokur cokur çıkartıo böle şeyleri :)

Thursday, October 11, 2007

Microsoft dan bir ilk daha

msdn zart zurt kurcalanırken habire msn adresimle veya bişeylerle üye olmuşumdur e bültene ve bugün microsoft ramazan bayramımı kutladı iletisim@microsoft.com adresinden gelen maile bi şaşdım :) türkiye de türkiye microsoft pazarlama dışında halka ilişkiye geçiyor amanııın derler :D

Ramazan Bayramını sevdiklerinizle beraber sağlık, mutluluk ve huzur içinde geçirmenizi dileriz.

Microsoft Türkiye

Wednesday, October 10, 2007

Godaddy Mail Server

Uzun süredir mutlu mesut kullandığım godaddy de mühim problemi bu gece çözdüm. durum sadece hosting için para ödüyor olmam :) her nanesine ayrı ayrı yetişilmez zaten. problem bu hostingde mail hesabı açamamam aslında hosting accountunda mail falan olmasıda garip olur. öte yandan godaddy diyorki domaini benden al 10 tanede bundan 20 tanede free mail. ama domaini ondan almadıysak nolucak.

godaddy de benim accountumda her domaini host edebiliyorum ama o kadar. peki diyelimki turkticaret.net den bir domain almış bir arkadaşım var ve bu aldığı domaini kendi hostingimde yapıosam. o zaman bu işin olur yolu arancak.

adım 1 google small bussiness adı altına bişeyler veriyordu lan o neydiki diyip arama yapılır. sonuçta bulunur :) hakaten adıda small business olan bölüme girilir. ordan get started ve wala hakaten olay free dir kuşku ve korkuyla ilerlenip gereken hesap açılır.

adım 2 içerdeyiz domain adımıza uygun google apps açtık ama bu godaddy ile ilgili ayarların yapılması lazım. aha "Domain Settings" yazıo ne olaki diyip girip ordan gereken ayarlar bulunur burdaki adımlar izlenir ve mutlu son.

domainimizi uygun biçimde google a yönlendirdik sadece mailler için, artık hostingi godaddy den maili de gmailden yönetcez.

allah derim ulan daha nolsun :)

Tuesday, October 09, 2007

Asp.Net DefaultButton DefaultFocus

bunlar çoğu zaman gereken hareketlerdir. bir site yüklendiğinde hemen bişeyler yazıp aramaya izin vermesi isteniyorsa. ilk adım yazı yazılacak textbox ın focus edilmesi gerekir. ikinci adımda burdan entera basınca form'un submit olması istenir. veya o sayfada herhangi bir buttona basılmış olması istenir. bu gibi hallerde yazılabilecek güzel bir kod parçacığı verelim:
Page.Form.DefaultFocus = txtSearchTerm.ClientID;
Page.Form.DefaultButton = LinkButton1.UniqueID;


ee hajı mascix biz bunu biliyorduk ne zikime yazıon bunu diyenler yazının devamını okusun.

konusu geçen propertyler masterpage ve usercontrollerden oluşan komplex bir sitede geçiyor. bu propertylerden önce masterpage e direk defaultfocus vermeyi denedim ama arkadaş onu yemedi sanırım bu usercontroldeki textbox ın idsini yakalayamadığı içindir. sonra bir ara enter tuşuyla default basılması istenen button kodunu bulmuşdum.
txtSearchTerm.Attributes.Add("onKeyPress", "javascript:if (event.keyCode == 13) __doPostBack('" + LinkButton1.UniqueID + "','')");

ve denemişdim güzel çalışıyordu fakat sonradan en yukardaki iki satırı bulunca ulan dedim bu javascriptli kod boka benzio öteki pek bi temiz bunu silemde kullanmayam dedim ve sildim sonra IE de mis gibi çalışan bu DefaultButton özelliğinin firefox da iplenmediğini fark ettim :) evet görüldüğü üzere .net de herşeyi bilmek yetmiomuş bazen okumaya devam etmek gerekiomuş. bende kodumu şu şekilde değiştirdim.
txtSearchTerm.Attributes.Add("onKeyPress", "javascript:if (event.keyCode == 13) __doPostBack('" + LinkButton1.UniqueID + "','')");
Page.Form.DefaultFocus = txtSearchTerm.ClientID;
//note:bu yöntem firefox da çalışmadı :)
//Page.Form.DefaultButton = LinkButton1.UniqueID;

Monday, October 08, 2007

Godaddy Mysql Asp.Net SqlDataSource

lokalde geliştiripde server a atınca çalışan teknoloji istiyorum. ne dil kullanırsanız ne ortam olursa olsun ya versiyonu tutmaz ordan yatar ya konfigurasyonu farklıdır yada manyakdır çalışmaz :) misal godaddy de bazı yerlerde mod_rewrite çalışır aynı makinede bazı yerlerde çalışmaz.

neyse mysql kullanıyorum bir uygulamada lokalde gridview ve sqldatasourcu çalışır duruma getirmişim update delete falan mis gibi çalışıyor attım hosta hata aynen:
Unable to find the requested .Net Framework Data Provider. It may not be installed.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.ArgumentException: Unable to find the requested .Net Framework Data Provider. It may not be installed.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

sebep machine.config de tanımlı olmayan mysql.data.dll imizin trust meseleleri çekip çalışamaması. bide dbfactory ile ilgili konuları var ama o konuları anlamadım. neyse bu gibi bir durum nasıl çözülür.

web.config'e gereken satırlar eklenir:
<system.data>
<DbProviderFactories>
<add name="MySQL Data Provider"
invariant="MySql.Data.MySqlClient"
description=".Net Framework Data Provider for MySQL"
type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=5.1.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
version numarasından çatlıyabillir kullandığınız dll in versiyonu ile değiştirin. ve bir mutlu son daha sqldatasource gridview ve mysql tatlı tatlı çalışmaya başlar o hatada kaybolur. efendim gökden 3 elma düşmüş ................

html hand

html de bişeylerin üstüne mouse ile geldiğinizde el çıkmasını istiyoruz. aklımızda ne var mouse hand ve cursor. sonra istediğimiz şeyin style tagına cursor:hand; yazıyoruz güzel güzel takılırken bide ne görelim firefox da çalışmıyor bu basit css kodu.

ama hand yani el yani böle link havası olcak ya düşünce aklımızdan geçen hep buyken ne görelim meğeresem standardlarda el için gereken değer pointer. mantıksız değil böle parmakla gösterme evladım derler ya oda pointer diye düşünülebilir.

burdan yine internet explorerın kafasına estiği gibi standardları uygulamayıp bizi kandırdığını anladım. tabii bu arada ben yine el görüyordum orda sonuçda düşündüğüm gibiydi. hand diye bir tanımın w3c standardlarında olmamasıda bir garip. :)

w3c nin konuyla ilgili linki

Sunday, October 07, 2007

Aşık Memo

msn de geyiq eylerken çıkdı bi anda bi l manyak muhabbeti ve mastder hikayes. ulen dedim orda bi eleman vardı kopardım okurken. aradım taradım buldum. her vakit taskip edilmeli walla gülmekden yüzüm ağrımayalı çok olmuşdu :)

Aşık Memo Bloğu

konuyla ilgili sözlük sayfası

bağlamayla seslendirilmiş bir aşık memo şiiri

Saturday, October 06, 2007

UrlRewriting

it can be very tricky if you are using godaddy like shared hosting. and at the same time if you are trying to use asp.net ajax toolkit.

at the end you will find yourself why the hell ajax part does not work. its all about urlrewriting and its file issues. you need to put to zero size file to your application folder.
ScriptResource.axd
WebResource.axd

it will solve urlrewriting and ajax problems. I hope someone make some enhancements to urlrewriting project.

Thursday, October 04, 2007

Open Source .Net Framework

nasıl başlık inanılmaz gibi dimi :) sabah sabah forumlarda geziyorum önüme geleni okuyorum modundayken gözlerim ayrıldı :) o ne dedim önce bir blog a ordanda haber'e atladım. javadan sonra .net de kaynak kodunu açıyor.

.net kütüphanelerinin açılacığından bahseden yazı.
.NET Base Class Libraries (System, System.IO, System.Collections, System.Configuration, System.Threading, System.Net, System.Security, System.Runtime, System.Text, etc), ASP.NET (System.Web), Windows Forms (System.Windows.Forms), ADO.NET (System.Data), XML (System.Xml), and WPF (System.Windows). We'll then be adding more libraries in the months ahead (including WCF, Workflow, and LINQ).
bunların hepsinin açılacağını söylüyor. miguelede fazla bi iş kalmadı sanırım artık pırkalar mono işini hızlıca bitirirler.

vs.net 2008 ile birlikte debug konularını güçlendirmek ve programcılara yardımcı olmak için yapılması planlanan bu hareket nedense beni sevindirmedi :). open source sevmeme savunmama rağmen MS yapınca bunu vardır bir bit yeniği diyom ben.

Wednesday, October 03, 2007

Proxy 1 (web proxy)

bu sıralar coşdu yine mahkemelerimiz habire bir site daha yasaklanıyor bi içerik sevdasıdır gidiyor. umarım sonumuz iran gibi olmaz neyse konumuz proxy lerden en basit olan browser ayarsız surf ederek proxy kullanımı.

diyelimki nette geziniyorsunuz ve karşınız şunun gibi bir yazı çıkıyor.
Siteye erişim mahkeme kararıyla engellenmiştir !...

en basit yolla bunu nasıl geçeriz gideriz the-cloak a ve surf edelim deriz. arada login ol hede höt gibi şeyler derse üşenmeyin bi user açın. sonuç crystal clear bir biçimde istediğimiz siteyi geziyoruz.

buyrun yasaklı bir siteye




dikkat etmeniz gereken eğer mühim bir siteyse bu yasaklanan site proxy üstünden kullanıcı adı ve şifrenizi vermeseniz iyi olur sonuçta direk siteyle değil proxy ile konuşuyorsunuz.

Tuesday, October 02, 2007

1408

imdb linki
çok yaratıcı ahım şahım bir film değil 10 üstünden 5 aldı. senaryo güzel ama onuda izlerken ne gerçek ne değil kaybediyor kendisini. kopukluklar mevcut. adam nerden nereye geldi ne oldu ne bitti anlamadan gereksiz bir korku duyuyor habire insan :)

tahminim bu filmi yöneten yada yapan kişi kimse avrupalı olabilir hep avrupa filmlerindeki garip sıkıcı bir hava mevcut filmde.

Rusya internet

Habere Göre

bir milyonuncu .ru uzantılı domain alındı. şu sıra 30 milyon olan internet kullanıcı sayıları 40 milyona çıkması bekleniyor 2008 de.

bence rusyaya bir proje yapma zamanı gelmişde geçiyor bile. yanlız problem o ki rusça bilmiom :D

open source listesi

güzel guruplanmış bir biçimde açık kaynak listesi buldum. bir yerlerde tutmakda fayda var bazen arasanda bulunmuyor böyle şeyler.

Monday, October 01, 2007

Ori Allon

bu sıralar google da en fazla arananlara girecek orion search engine yazarı olduğu söylenmekde. google da çalışan bu eleman israil doğumlu üniversteyi bitirdikten sonra avusturalyaya gitmiş. haberlere göre millet bu algoritmanın peşinde. bana inandırıcı gelmedi ama bildirgec deki habere göre olay ciddi pagerank gecikmesinin sebebi diolar ama oda zor hala gelişim aşamasında olan bir yapının bu seneden işleme konulması zor görünüyor. sonuçta google senelerdir bu işin içinde. bir günde alt yapıyı değiştirmeleri imkansız.

peki acaba neden pr update leri gecikdi :)

Kate Havnevik

norveçli bir şarkıcıymış ben nerden buldum. grey's anatomy izledim bi ara sonra onun film şarkılarının olduğu bir indirme işlemi daha yaptım. sabah sabah dinlerken çok hoşuma gitti kurdaladım.

biografisi ve ötesine burdan ulaşabilirsiniz.



filmdeki müziğin şarkı sözleri:
Beautiful day
Watching you as you awake
Morning stars in your eyes
Your hand in mine

The sky is lit up
Day will be richer than night
So dont think of yesterday
Its here and now

Its a, its a, its a…new day
Its a, its a, its a…new day

The beauty of you
Gives me my fortitude
Stronger than any dark cloud
Screaming out loud, hey, hey

The sky is lit up
Day will be richer than night
So dont think of yesterday
Its here and now