Saturday, January 31, 2009

google bozuldu

ne ararsam arayim bu site bilgisayarınıza zarar verebilir diyor linklerde muhim bi an google bozuldu ehe :D

Thursday, January 29, 2009

flash kurcalarken

geçende adam asmaca yazmışdım sözlükle çalışan. ona bide türkçe versiyon yazdım. şimdide başka ne yazabilirim böle dirty hack hızlı yolundan diye bakınıyorken. güzel bir open source proje buldum 1 fla 7 as dosyasından oluşuyor.

ee class lar var bunda kütürt kod değil. flash 10 bile kurmama rağmen class browser yok. meğersem flex ide de o tip naneler olarmış. yinede cool görünen bir flash yaptım buyrun :



üşenmezsem bi arada flex ide kuram .....

Wednesday, January 28, 2009

velocity

apache nin süper projelerinden biri olan velocity özünde bi şablon motoru(template engine). son günlerde oynamam gerekdi eclipse için güzel bir editor de buldum buyrunuz.

php nin smarty'i andıran basit bir template dili var. bu tip teknolojiler code generator'lardan web sayfa oluşturmalarına kadar heryerde kullanılıyor. ben velocity nin hızına hayran kaldım azbuz test serverda bu kadar hızlı tepki vermez kendisi velocity den html çıkartırken çok hızlı sonuçlar aldım.

bi ara bu dalgayı kullanıma alsak tam süper olacak.

Tuesday, January 27, 2009

ie8 rc1 v8 sonucu

ilk sonuç

Score: 34.0
Richards: 32.4
DeltaBlue: 35.6
Crypto: 19.3
RayTrace: 37.8
EarleyBoyer: 53.9

inanamayıp 2. kere denedim
Score: 39.7
Richards: 32.8
DeltaBlue: 35.6
Crypto: 34.2
RayTrace: 50.6
EarleyBoyer: 48.7

arada beni uyardı ikisindede bu kodu çalıştırırsam non responsive olabilerim dedi. diğerleri için.

blogumun çirkin görünmeside ayrı bir eksi.

ie8 rc1 çıkdı

uzun süre önce ie8 beta kurmuştum sonra beta 2 kurmak durumunda kaldım. ileri gidince geri gelmeyi semiom. ve ie8 beta 2 de bazen sayfalar alt üst oluyordu özellikle javascript kasan sitelerde. neyse rc1 çıkdı hemen kurdum.

bir iki gezindim benim javascriptlerin arıza yaptığı yerleri gördüm. telaşa gerek yok bakalım daha bunun rc2 si var. şimdide v8 testi yapcam nihahahahahahaha :)

meraklı olmayan kurmasın çok gereksiz zahmet olur.

Monday, January 26, 2009

BinarySearch deki böcek(bug)

bilen bilir bu epey eski en hızlı arama algoritmasıdır. tabii sıralı dizilerde. yani diziniz doğru sort edilmişse ki bunun içinde ekleme işleminde ayarlar yaparız. sonuçda çok bilinen çok fazla olmasada aradabir kullanılması ihtimali mevcut olan bu algoritmada bir bug olmasını ben hiç beklemezdim

50 yaşını geçmiş bu algoritmada hata olması imkansız gibi görünebilir. buyrun örnek java implementasyon:

1: public static int binarySearch(int[] a, int key) {
2: int low = 0;
3: int high = a.length - 1;
4:
5: while (low <= high) {
6: int mid = (low + high) / 2;
7: int midVal = a[mid];
8:
9: if (midVal < key)
10: low = mid + 1
11: else if (midVal > key)
12: high = mid - 1;
13: else
14: return mid; // key found
15: }
16: return -(low + 1); // key not found.
17: }


basitçe anlatmak gerekirse. aranan değeri diziyi ortadan ikiye bölerek arıyor. sonuçda sıralı olduğu için aranan şey ortanın üstü sonun altındadır veya tam tersi şeklinde duruma bakıp öyle geziyor bu durumda O(logn) de çalışıyor. detayları merak eden için.

mantık olarak bir yanlış görünmezken ben hatayı şurdan öğrendim. olay int de tıkanıyor. günümüz dizileri(array) kocaman olabilir ve kodda 6. satırdaki toplama işlemi integer veri tipinin limitlerinin(231 - 1) üstünde bir değer verebiliyor. işte orda çatlıyor. ortama göre bu işlemin sonucu negatif değer verebiliyor ve dizinin dışında bir indis oluşturabiliyor. buda diziden veriyi alırken hataya sebep oluyor. yine aynı yazıda bunu çözmek için verilen yöntemler mevcut:

6: int mid = (low + high) >>> 1;


bu işlemi 6. satıra uygularsak sağlıklı olabilir. ama yinede emin değiliz test etmemiz lazım diye gidiyor linkli yazı.

ben okuduğumda çok şaşırdım ortam google olunca limitler zorlanıyor işte. demekki hala bilgisayar özellikle veri yapıları ve algoritmalar tam anlamıyla oturmuş değil. ben knuth'tan sonra ki kendisinin 3 ciltlik bir külliyatı computer science'ı vardır bu cilterin herhangi biri düşse kafa yarar bu konular tartışılmaz sanıyordum:)

back to the basics action script 2

çok uzun süredir flash ve action script ile oynamamışdım. bu gece oynamak durumunda kaldımki bu desktopu upgrade etmem lazım geldiği yine aklıma geldi. çok kanırdı flash çalışırken. hadi yavaşlık bi nebze çözülebilir sabredince geçio. ekranın kayıklıkları fitil etti.

neyse gelelim konumuza. benim sözlükde bi oyun yapasım vardı uzun süredir adam asmaca düşünüodum. onun için araştırmaya başladım. iki yol mevcut biri ajax / javascript biri flash / swf. server amerikada olduğundan çok ajax call yaparsam kanırık durcak(yavaş çalışcak django ile örneği) ve şükela fontlarla eğlenceli bişey yapamicam. sonuç flash olmalı.

google "hangman" veya "hang man" arayınca kütür kütür dökdü. kurcalarken kurcalarken hedef bulundu. biçilmiş kaftan grafikleri çok gelişkin değil ama algoritma çalışıyor. statik içine verilen kelimelerde mis gibi çalışan bu dalgayı sözlüklen birleşik çalışır duruma getirmeliyim. hemen aklıma gelen flashvars. bi kaç şekil denedim swf ye gönderemedim. sonra bunu ajaxdan çektirsem daha şükela olmazmı dedim. fla da gereken kod değişikliğini yaptım.

loadVariables("http://www.sozlukcell.com/ajaxProxy.aspx?cmd=GetAdamAsmacaKelime",_root);


yemedi bunu. allah allah dedim sonra _root u "_root" yaptım yemedi sora _gloabl ve "_global" de denedim yemiyor. değişkenleri bi türlü alamıom serverdan swf ile. aynı url firefoxdan çağırıyorum kelime ve anlam kütürt diye geliyor. sonra action script 2 de bu iş nasıl düzgün olur diye bakınırken bi örnek daha buldum.

var veriler:LoadVars = new LoadVars();
var yollagerial:LoadVars = new LoadVars();
yollagerial.sendAndLoad(someurl,veriler,POST)


bu yollada deniyorum deniyorum olmuyor. bu arada ben biliyorum zekiyim ya o POST u GET yapıp denedim uzunca bi süre. en sonunda mesele çözüldü. meğer swf GET den alamıomuş. garip olan şu ki get ile bi veri almak benim bildiğim posttan kolaydır. head de gidip gelmez veriler url de yazar. neyse son hali şudur:

var veriler:LoadVars = new LoadVars();
var yollagerial:LoadVars = new LoadVars();
yollagerial.sendAndLoad("http://www.sozlukcell.com/ajaxProxy.aspx?cmd=GetAdamAsmacaKelime&"+Math.random(),veriler,"POST");
trace(veriler.kelime);
veriler.onLoad = function(success) {
if (success) {
trace("variables loaded");
_root.kelime=veriler.kelime;
getURL("javascript:updateAnlam('"+veriler.anlam+"');");
afterWordLoadNewGame();
} else {
trace("Error loading page");
yollagerial.sendAndLoad("http://www.sozlukcell.com/ajaxProxy.aspx?cmd=GetAdamAsmacaKelime&"+Math.random(),veriler,"POST");
}
};


değinmem gereken birinci konu sanırım sizinde merak ettiğiniz gibi Math.tandom(). serverda herşey cache den geliyor o sebep url nin götüne böle abuk bişey eklenmezse bi önceki select lenen şey geliyor. bu sayede cache den kurtulmuş oluyoruz.

bide onload konusuna taşıdım yeni oyunun kurulmasını bu sayede sözlükden yeni kelime gelmedikçe oyun başlamıyor. v1(versiyon 1) adam asmaca benim sözlükden çalışır oldu :) mutlu hissettim kendimi uzun süredir böle şeker şeyler kodmuodum. neyse bide skor bord yaptım ki kendisi aynı twitter daki mesajlaşmalara benzedi.

bu arada neden as3 yapmadın aga daha tatlı olmazmıydı diyen çıkar hemen diyem compiler versiyonu 3 e dayayınca oyun çalışmaz oldu üşendim onlarıda yenilemeye. biri grafikleri adam ederse aslında as3 e de taşırım why not.

hadi iyi eğlenceler.

Friday, January 23, 2009

Yeni ve kolay bir pazar Android

iphone ile böyle bir mobil pazar tavan yaptı. eskiden j2mee ile zaten dünya kadar para kaldıran oluodu ama o piyasa doymuşdu. yada bana öle gelio kesin yine kürekle götüren vardır. neyse iphone la birlikde istore ve ordaki uygulamalar duyulmaya başlandı.

kimsini almanya metrosu yasaklattı, baktılar çok kazanıo falan. kimisi osurukdan para yaptı bakınız ifart. günlük geliri herifin on bin$. herşeye kaynak gösteremicem hepi okuduklarımdan aklımda kalanlar bu yazının amacına gelem.

android google ın mobil işletim sistemi ve yavaş yavaş yayılıyor. bilindiği üzere google ın yaptıkları bazen tutuyor. bundan birkaç ay önce düşünmüşdüm bende ulan android'e ne yazsam diye. timu last.fm dalgası yaz dediydi bende kurdum eclipse falan ama ortama alışim azcık okuyim derken kaynadı gitti. bugün gördümki yazılmış.

hemen yazılabilecek ifart klonu olabilir. gerçi ipneler bunun isim hakkını almışdır o sebep izart gibi değiştirin derim. ama kısa zamanda yazıp piyasaya çıkan para yapar haberimiz olsun.

Thursday, January 22, 2009

youtube de oyun oynadınızmı hiç

bugünlerde araştırma yaptığım konu oyun. youtube a bakim çok sıkıldım dediğimde yine karşıma çıkdı birisi gerçekden akıllıca çözmüş olayı videolar arası linkleme mantığıyla çalışıyor sanırım. yani elle çizgi film yapmak gibi adam oturmuş ondan ona linklemiş ondan ona. hayret hoş olmuş :)

Insufficient system storage. The server response was: Too many recipients

asp.net de böyle bişeyle karşılaşınca napılır acaba.

bulduğum iki thread:

http://forums.asp.net/p/1241365/2268395.aspx

http://forums.asp.net/p/1093294/2108843.aspx

Tuesday, January 20, 2009

bu sıralar araştırdığım konu web tabanlı oyun

uzun süredir piyasada olan bi konu olan web tabanlı oyunların sanırım en ünlüleri ogame ve travian. ikiside özünde savaş oyunu biri age of empires ötekisi star craft ın web hali gibi. çok görsel kuduruk oyunlar değiller 3 boyutlu hiç değiller. ama yinede güzel tutuyorlar. herkez bi şekil bi ucundan olaya salça oluo bi zaman.

bende çok saldırı yiyip yılana kadar travian ve ogame oynamışdım ama bi yerden sonra eh diyip çıkmıştım. araştırdımki bu işe MMORTS deniyor açılımı Massively multiplayer online real-time strategy. özünde MMORPG den tek farkı log of da olunsa oyunun devam ediyor olması. MMORPG en büyük örneği wow(World Of Warcraft) dur. onda log off olunca oyun karakteri yada ülken ana tema neyse özellikleri kayıtlı sizi login olana kadar bekler.

GameForge un geliştirdiği bu ogame ve travian ve diğerleri ile ilgili bir oyun trafik raporu. konu ilgimi çekmeye başladı bu sıra ama adam gibi hikaye ve design olmadan adam gibi bişey yapmak imkansız duruyor.

fantastik bi araba design hoşuma gitti

her ne kadar ben binemeyecem gibi gelsede görüntüsü izlemesi hoş.

http://web.mac.com/experienz/iMo-site/Video3.html

Monday, January 19, 2009

Ev telefonlarında sabit ücrete son

Ev telefonlarında sabit ücrete son: "Türk Eğitim Sendikası’nın Nevşehir şubesi tarafından 8 ay önce yargıya taşınan “sabit ücret” konusundaki konu, tüketicinin"

böyle birşeyin nevşehirden çıkmasıda garip. ya ordaki mahkemenin işi az ya istanbuldakiler bunu iplemedi yada olmadı. çok garip.

Sunday, January 18, 2009

türkçe twitter nasıl

eveet google da geldim başa oturdum. ama çözümü göstermiyen bir post ile. madem dedim google bana saygı gösterip en başa koyuyor bende gerekeni anlatmalıyım. hmm sorumluluk sahibi seo cu :)

twitter henüz türkçe desteklemiyor o sebeple yan alet edevat kullanmak gerekiyor. greasemonkey bu iş için icad edilmiş bişey. sayfaların her şeyini(işlevsel ve görüntüsel) değiştirme işini yapan bu eklenti ile bu işlem sağlanabilir. ben yazmadım yazan olursa bana linkini göndersin burdada yayınlayalım.

türkçe twitter yapmak için okunması gerekenler:

http://userscripts.org/scripts/show/38825
http://userscripts.org/scripts/show/20218
http://sozluk.sourtimes.org/show.asp?t=greasemonkey

kurulması gerekenler:
firefox

Friday, January 16, 2009

cassandra ve thrift

akşam akşam aklıma takıldı facebook acaba chat muhabbetini open source ettimiydi ne üstünde çalışıyorki die bakınam dedim. hemen sonuç etmemiş o kısım yok henüz piyasada. neyse open source ettiği projelere bakarken birde ne görüm yine benim meraklı olduğum konu koca storage muhabbeti. bu dalganın espirisi p2p distributed olması yani böle çoklandırılabilir saklama ortamı java ilen yazılmış.

hadoop türevi gibi dursada altı farklı teknoloji kullandığından apache projesine girmiş sanırım. incubator da geçio yani zamanla oturur mis apache projesi olur ki apacheye giren proje güzel gidio allahın hikmeti :D

cassandra, thrift denen yine facebook open source sonradan apache şemsiyesi altında yaşayan bir proje ile bu p2p yi sağlamış.thrift de rpc muhabbetini kolaylamak için icad edilmiş tatlı bir code generator. her dil ve ortamda bu işi sağlarım diyor. bi thrift dosyası oluşturup data structure ve fonksiyonları belirliyon sonra hadi bana javasını yap bunun dion yada perl/cocoa/csharp.... çıkartıyor.

Show Must Go On

Tuesday, January 13, 2009

matt cutts

bu adam kimdir die arayan soran olur kendisi google bilmemne başı kodcu, yazılım mühendislerinden. kendi blogunu gösterem dedim seo takibi yapan konuyla alakalı adamlar için buyrun.

matt cutts

türkçe twitter

başlıkdaki keywordler için en üstte olduğunu savunan ferruh, bakdım bende en üstte çıkmadı. neyse twitter nedir? basitce micro blogging diye adlandırılan 140 karakterlik alanda ne düşünüğünüzü anlattığınız basit bir sistem. nede basit bişemiş SMS tadında böle o anlık fikirlerinizi yayınladığınız bi ortam desenizde ben hala kavrayamadım ortam neden tutuo ama ben kullanıom mutluyum :)

buyrun tiwetterda takip edin.

hadi iyi traşlar

Monday, January 12, 2009

p2p flash yolda

uzun süredir bunu düşünüyordum. bir sürü video servisi var internette ve kısaca flv çalıyorlar. misal ben youtube de bişey izlerken çok komik bulup msn de paylaşıom yada benzeri bi şekilde de yayılıyorlar. herkezin makinesinde flash player kurulu. aynı networkde oldukça ben huylanıodum misal yan masadaki kişi izlio bana yolluo ben tıkladığımda haydii koca flv yine iniyor bana te youtube den. durum ne kadar vahim günde milyon pv yapan bi site için tahmin bile edemiyorum. sonuçda bandwidth masraf demek.

bide kullanıcı açısındanda hezimet her seferinde ta karşı serverdan alınırmı aynı şey yan bilgisayarda var. p2p li bi flash player olmalı diyodum kendi kendime ki az evel bakim ulan dedim "as3 p2p" yazdım ve pat iki tane makale buldum. flash player 10 ile birlikde p2p yapıcaklarmış. rtmp diye bir protocolleri vardı bide rtmfp uydurup ona sığdırıolar gibi. ama hala herşey oturmamış okuduğum kadarıyla ki 10 da hala beta. bide adobe flash server tarafında bi sürü implementasyon gerekicekmiş. hmm acaba red5 in durumu ne olaki.

neyse okuduğum hikayeler şunlar

http://justin.everett-church.com/index.php/2008/05/23/astrop2p/

http://gigaom.com/2008/08/04/the-gigaom-interview-kevin-lynch-cto-adobe-systems/

Bedava PACS

PACS resim kaydetme gönderme alma ve saklama işlerine toplucana denen isim. bundan bi buçuk sene kadar önce başdan sona DICOM standardı okuyup epey araştırma yapmıştım. sonra istediğim gibi gitmemişdi işler ve bırakmıştım peşini. o zamanlar iki tane proje vardı takip ettiğim. şimdi görüyorumki ikiside almış başını gitmiş.

clearcanvas kodunuda epey okuduğum proje çok temiz ve güzel çalışıyordu. şimdi RIS de çıkarmışlar pacs de çıkarmışlar ben gördüğümde sadece workstation yapıyorlardı. workstation doktorların önünde duran dijital ortamda radyolojik çıktıları görmeye yarayan alet. BSD ile lisanslanmış istenilen her yola kullanılabilir.

bir diğer projede dcm4che idi. alman mühendislik harikası jboss üstünde çalışan bir pacs. sitesi değişmemiş pek sanırım hala sağlam bir pacs olsa gerek.

Türkiye deki hastanelerin bilgi işlemleri tarafından zırt diye kurulup kullanılabilecek yapıları var. ihale açmadan umarım burayı görürler.

Sunday, January 11, 2009

ubuntu versiyon

vmware kurim biraz kurcalayim diye kubuntuma geçtim. ve vmware kurulurken bi unknown encoding hatası verdi o hatayı ararkende virtualbox ı gördüm merak ettim onu kurim dedim bi bakdım download bölümünde 4 çeşit ubuntu var :)

hangi linux ubuntu versiyonu kullandığınızı görmek için:

cat /etc/issue

Sitenizin Her Browserda Screen Shotını Görmek

Gaza geldim ya tema bızdıkladım bu güzel görüntününde havasıyla uğraşmaya devam ettim. kendi makinemde ekran kartı tırt windowsum sanırım 3 yaşında ve artık suyu çıkdığı için güvenemedim ve böyle bişey bakdım. biraz sabır istiyor yoğunlukdan sanırım epey yavaşdı. işde bi çok işletim sistemi ve browserda alınmış screen shotlar. Asıl ie6 merak ediodum temizmiş :)

mysql maria

mysql soundexle ilgili bir problemim var kendisi biraz fazla sonuç getiriyor tabi buda doğal olarak sözlüğümüzün tavsiye alanını gereksiz uzatıyor. okudum okudum double metaphone algoritması 2000 yılında icad edilmiş ve herkezin dediği daha sağlıklı olduğu neyse aranıom bunun mysql 5.0 da uygulanışı varmı diye gezinirken gördüm not edem dedim.

myisam a cila çekiyor mysql. 5.1 versiyonuna sokmuşlar ama henüz ürün hedefi olarak belli bir yolu yok. neyse myisam dan farkı failsafe olmasıymış hadi bakalım mariamaria :)

bundan sonra daha sık yazıcam ya blogumun teması süpper oldu :D içimden hep yazasım gelio.....

Saturday, January 10, 2009

blogger etiket bulutu

temayı değiştirdiğimde sağdaki etiket bulutu çok uzun çıkdı 4 senedir dünya kadar etiket koymuşum bunları adam gibi gösterim dedim başladım aranmaya. güzel bir makale buldum ama bu sefer rengi boyu stili beni açmadı onu biraz değiştirdim benim sağdaki etiket bulutu kıvamına getirdim.

sağdaki gibi bir etiket bulutu oluşturmak için yapmanız gerekenler.

1- Bloggerdaki blogunuzun yönetim panelinden Layout -> Edit HTML e gelin ordaki Expand Widget Templates i tıklayın ve aşağıda görünen kodu kopyalayıp yedekleyin sonra başka bir editörde açın.

2- </b:skin> ile </head> arasına bu kodu

<script type='text/javascript'>
var cloudMin = 1;
var maxFontSize = 30;
var maxColor = [0,151,202];
var minFontSize = 10;
var minColor = [255,255,255];
var lcShowCount = false;
</script>

ekleyin.

3- <b:widget id='Label1' ile başlayan satırı bulun bu bizim işte etiket bulutumuzu oluşturan widget. bu widgetı baştan sona aşağıdaki kod ile değiştirin.

<b:widget id='Label1' locked='false' title='Etiketler' type='Label'>
<b:includable id='main'>
<b:if cond='data:title'>
<h2><data:title/></h2>
</b:if>

<div class='widget-content'>
<div id='labelCloud'/>
<script type='text/javascript'>

function s(a,b,i,x){
if(a&gt;b){
var m=(a-b)/Math.log(x),v=a-Math.floor(Math.log(i)*m)
}
else{
var m=(b-a)/Math.log(x),v=Math.floor(Math.log(i)*m+a)
}
return v
}


var c=[];
var labelCount = new Array();
var ts = new Object;
<b:loop values='data:labels' var='label'>
var theName = &quot;<data:label.name/>&quot;;
ts[theName] = <data:label.count/>;
</b:loop>

for (t in ts){
if (!labelCount[ts[t]]){
labelCount[ts[t]] = new Array(ts[t])
}
}
var ta=cloudMin-1;
tz = labelCount.length - cloudMin;
lc2 = document.getElementById(&#39;labelCloud&#39;);

for(var t in ts){
if(ts[t] &lt; cloudMin){
continue;
}
for (var i=0;3 &gt; i;i++) {
c[i]=s(minColor[i],maxColor[i],ts[t]-ta,tz)
}
var fs = s(minFontSize,maxFontSize,ts[t]-ta,tz);

a = document.createElement(&#39;a&#39;);
a.title = ts[t]+&#39; Posts in &#39;+t;
a.style.fontSize = fs+&#39;px&#39;;
a.style.color = &#39;rgb(&#39;+c[0]+&#39;,&#39;+c[1]+&#39;,&#39;+c[2]+&#39;)&#39;;
a.href = &#39;/search/label/&#39;+encodeURIComponent(t);
if (lcShowCount){
a.appendChild(document.createTextNode(t));
}
else {
a.appendChild(document.createTextNode(t));
}
abnk = document.createTextNode(&#39; &#39;);
lc2.appendChild(a);
lc2.appendChild(abnk);
}
</script>

<noscript>
<ul>
<b:loop values='data:labels' var='label'>
<li>
<b:if cond='data:blog.url == data:label.url'>
<data:label.name/>
<b:else/>
<a expr:href='data:label.url'><data:label.name/></a>
</b:if>
(<data:label.count/>)
</li>
</b:loop>
</ul>
</noscript>
<b:include name='quickedit'/>
</div>

</b:includable>
</b:widget>


arada çıkabilecek arızalar:

1- bu etiket bulutunu kendi kodunuzda bulamamış olabilisiniz. blogger layout dan page element olarak tag cloud sayfanıza eklemiş olun.
2- renkleri beğenmemiş olabilirsiniz ki ben kendi temama göre açık maviden beyaza doğru açtım. etiket bulutu renk şemasını değiştirmek için yapmanız gereken. ikinci maddede eklediğimiz script bölgesindeki maxColor ve minColor değişkenleriyle oynamanız gerekiyor.

En sonunda designı değiştirim dedim hoş oldu

Bi bakdım 2004 den beri tıngır mıngır yazarmışım ben. bildirgeçdede bugün blogger için 10 tema yazısını görünce artık uğraşim dedim. sıkılmışdım dar yeşil görüntüdende. eğer sizde bloggerdaki blogunuzun temasını değiştirmek isterseniz aklınızda olsun evvelden kaydettiğiniz sayfa bileşeni(widget)leri siliniyor yeni başdan ayar gerekiyor.

bide biraz modifiye ettim temayı meta tag ekledim analytics kodu falan ekledim bakalım kaç kişi geliyormuş buraya.ufak tefek javascript hataları olsada eskisine göre daha güzel göründü sevdim :)

Tuesday, January 06, 2009

Google Tasdikli İyi Adam - Good Man

Google ın bunu tasdiklemesi hoş oldu ben iyi bir adamım :D

Cluster veya Paralel Dosya Sistemi (File System)

oldum olası bu konu ilgimi çekmiştir. hem yazılımsal açıdan hem donanımsal açıdan takdire şayan ciddi iştir. benim şimdiye kadar duyduklarım hadoop, mogilefs bide google file systemdi. bunlar işte node bağla ve kullanmaya başla tadında sistemler. kimi java kimi kernelle direk ilişkili.

Şimdi duyduklarımda Sun QFS ve lustre bide IBM gpfs bide redhat GFS. okuduklarımdan anladığım redhat bu işi ufak çapta halletmiş süperde paketlemiş yıllığı 2200$ dan satıyor. ki bu çok fena bi rakam değil ama sayfalarında donanım yokdu bu yazılım ücreti olsa gerek. IBM yine kargacık burgacık efelek gübelek doldurmuş sayfaları bi rakam bulamadım. tahminim çok sağlam rakamlara(200.000$ gibi) direk distribütörden fiyat alınmasını bekler kendisi alemin kralı ya! :)

neyse gel gelelim lustreye sun hakkaten güzel paketliyor sunumu çok tatlı buyrun bakın. alttaki linklerdende görünen oki orta ölçek için 7400$ gibi bi rakama 192TB lık sistem kurmamız mümkün. ki bu bi tane güzel dosya saklama ortamı rakamı. lustre ve diğer clustered dosya sistemleri burda devreye giriyor ve diyorki al baboli bu serverlardan düz sıraya. bağladıkça ben bunların yönetimini yapıcam. buda kısaca şu demek istiosan flickr yap istiosan google diski düşünme üstümede ne kurarsan kur ister mysql ister oracle.

GPL olması çok iyi, hoşuma giden bi diğer yanıda kernelde işin bitmesi linux tabanlı yazılmış 2.4 ve 2.6 ya uygulanıp derlenip kaldırılması. buda hem performans hem rahatlık getiriyor. bikez derle bi iso yap bas gelen makineye tak ucuna. al sana data center. en basit yazılabilecek şey üstüne flickr :)

garip yanı opensolaris versiyonu yok henüz. sun neden kendi işletim sistemi için bi versiyon atmamış ? gerçi daha oturmuş değil ZFS desteği bile ilerki bi tarih gibi duruodu yol haritasında

hep hadoop kurasım vardı şimdi lustre kurasım gelio. tabii fırsat meselesi sistem admin değilimki gelmez öyle işde :)

Sunday, January 04, 2009

mysql select türkçe where aynı

google da bu keywordlerle arama yaptım ve sonuç bulamadım. ondan bu yazıyı yazim dedim. problemim "select * from table1 where col1='AC'" ve "select * from table1 where col1='AÇ'" sql cümlelerinin aynı sonucu getirmesiydi. ç=c gibi algılıyordu sorgum. bu durum aslında çok kötü değil sonuçda gereğinden fazla sonuç geliyor ama nokta atışı yapmamız gereken yerlerde fazlalık çıkarıyordu. başladım bakınmaya bu keywordlerden bi hayır yok habire mysql de türkçe problemi çeken forum postları çıkdı karşıma.

bu arada demeden geçemicem türkçe forumlar bildiğimiz arama spamı kaynıyor. seo ayarı verilmiş forumlar habire replike içerikden aynı sorular aynı cevaplarda oluşuyor. allahdan noscript kullanıyorumda reklam yığınıyla karşı karşıya kalmıyordum. kıl oluyorum hep aynı şeyleri görmekden. neyse bu birazda google amcamın hatası

durum mysqlde şöyle oluyor. eğer kolonunuzu "utf8_general_ci" ise bu istediğin dilde o kolona yaz ve büyük küçük harf duyarsız kullan demek yani AC ve ac aramalarımda aynı sonuç geliyor demek. ve aynı zamanda anlaşıldıki dile bakma ç = c gibide davran demek oluyormuş o kolonumu "utf8_turkish_ci" yaptım ve c!=ç oldu. yani türkçe duyarlı case insensitive kolon. ci sanırım case insensitive demek.

sanırım biraz performansı düştü sitemin ondan emin değilim sonuçda shared hostingde bir ingilizce sözlük.

Thursday, January 01, 2009

Ya linuxe taşınmak istersem

ki uzun zamandır düşünüyorum bunu. sonuçta linux sevdiğim bir işletim sistemi ki genelde yazılıma sevgi duymam :) neyse garip bir biçimde hoşlanıom linuxden. bi felsefesi var bi değeri var. windowsumdan hızlı çalışıo tabii bu ayrı bir artı. 3 senedir formatlamadığım windowsum bazen çok kanırıo basit msn de konuşurken msn kanırıo. chrome kullanırken chrome kanırıo. var bi derdi bakım yaptım falan ama yok düzelmedi. virüs falan kaynıodur zaten onada eminim. ama virüs koruması çalıştırırsam ayrı bir kaynak daha gidiyor.

neyse bu tip fikirler içindeyken dedim linuxe geçsem nerde kod yazarım. sonuçda bilgisayardaki olayım o oyun değil kod yazmayı seviom. tabii akla ilk gelen diller arası bi test(benchmark) bakmalıydım. pitonmu javamı diye soruyordum kendime. bide ne bulim cirlop gibi site böle diller arası testler ve sonuçlarıyla dolu.

bu testlerden anladığım oki java gerçekden uygun linuxde kod yazmak isteyene. IDE si var netbeans eclipse sonracıma hızda takıo. tek problem şu anki sitelerimin aspx den javaya dönmesi gerekki o iş gözümde büyüyo :) neyse bigün onuda çözerim.

jquery,prototype,mootools js libleri ve band karı

bu libler javascript olaylarında işimizi kolaylar ordan kaydır burdan götür gibi şeylerde. merak eden duymayanlarınız için



neyse konumuz şuki bu libleri herbirimiz bi şekilde kullanıyoruz. google amca yine burda devreye giriyor ve yazının ana konusu olarak oturuyor. eğer bu libleri kullanıyorsanız ve server bandınızdan kar etmek istiyorsanız işte bakmanız gereken sayfa. eğer include ederken kaynak olarak google amcamı gösterirseniz hepiniz server bandından kar ediyorsunuz. nasıl mı? ortalama 50kb olan js libleri her seferinde sizden değil ve google dan yükleniyor buda bizim serverımızdan bant karı etmemizi sağlıyor.

şimdide paranoyak açıdan yaklaşayim ama ya google kodu değiştirir kullanıcılarımızı ebegümeci yaparsa. buda sizin düşünmeniz gereken bişey. bankaysanız kullanmayın tabii ama normal forum blog veya para içermeyen her sitede kullanılması şiddetle tavsiye edilir.

odd string diff

 https://leetcode.com/problems/odd-string-difference/ Beats 19.92% of users with Java   class Solution { public String oddString ( S...