Guice’u arastirirken on numara bi video buldum. Sunumu yapan Bob Lee nam-i diger crazy bob. Kendisu su anda square.com’un CTO’su. Eski google calisani, android core’unda team leadlik yapmis. Su anda da Java’ya standart olarak hangi ozelliklerin konulmasi gerektigine karar veren ekiplerden birinin (JSR-java specification requests) liderligini yapiyor. Bu videoda google wave’in tanitiminin oldugu gunlerde cekilmis sanirim. Biraz uzun ama kesinlikle izlemeye deger. Kod uzerinden dependency injection’in neden gerekli oldugu nasil faydalar sagladigi factory’lerle farkinin ne oldugunu anlatiyor.
20th International Obfuscated C Code Contest
What can 33 lines of code do? Ray tracing?
Here are the rules:
- To write the most Obscure/Obfuscated C program within the rules.
- To show the importance of programming style, in an ironic way.
- To stress C compilers with unusual code.
- To illustrate some of the subtleties of the C language.
- To provide a safe forum for poor C code.
I compiled and tried this one:
Compile it:
gcc -o zucker zucker.c -lm
*-lm for linkin math library. Otherwise functions like atan would give error:
zucker.c:(.text+0x43b): undefined reference to `atan2′
zucker.c:(.text+0x5ae): undefined reference to `sin’
zucker.c:(.text+0x5ce): undefined reference to `cos’
zucker.c:(.text+0x9bf): undefined reference to `sqrt’
/tmp/ccRJ0Y3C.o: In function `main’:
zucker.c:(.text+0x14c4): undefined reference to `pow’
zucker.c:(.text+0x170b): undefined reference to `pow’
./zucker > hello.ppm
Or we can give the text to write:
./zucker "hakan" > hello2.ppm
Here is the pic created (it is taking a little long don’t worry – it was ppm but i changed it to png):
There is also another one (im too lazy to try this one):
Hangi telefona ne zaman ICS gelecek?
Samsung’un uvey evladi Galaxy tab 10.1′e ICS cikarmayacagi haberlerini okumustum. Tam umudu kesmisken bugun bir kez daha bakindim ve kodunda sacma bir yeri degistirip umdugu sonucu terminalde goren adam gibi sevindim.
Surada bir liste var:
- Samsung Galaxy S II: April 2012
- Samsung Galaxy Note: April 2012
- Samsung Galaxy Tab 10.1: May 2012
- Samsung Galaxy Tab 8.9 LTE: June 2012
- HTC Sensation: June 2012
- HTC Raider: June 2012
- LG Optimus LTE: July 2012
Listede yoksaniz uzulmeyin CynogenMod calisiyor.
Elif şafak ted.com konusmasi
Insanlara saygi duymamiz icin illa da sevmemize gerek yok. Ted.com’da ben daha once hic Turk’e rastlamadim.
Come
Let us be friends for once,
Let us make life easy on us,
Let us be lovers and loved ones,
The Earth shall be left to noone
Android vs iOS UI performansi uzerine
Android cok kasiyo yeaa.
Dun gecemi buna ayirdim oturdum neler yazilmis cizilmis okudum azcik.
Bu arkadas Android testing takiminda stajyermis. Olaylar silsilesini baslatan, ilk hizi veren arkadas. Kendi cikarimlarini yazmis g+ postunda:
https://plus.google.com/u/0/100838276097451809262/posts/VDkV9XaJRGS
Bu da elemanin profili:
http://www.linkedin.com/in/andrewmunn
Cok parlak bi adam. Benim de bu satirlari okuyan ve hala ogrenci olanlara yegane tavsiyem stajlariniz icin kesinlikle yurtdisina basvurun. Emin olun cok sey ogreneceksiniz. Benim pismanligimdir bu ayni zamanda. Olmaz demeyin kendi potansiyelinizi kucumsemeyin. Hem bi corporate gorun hem de yurtdisinda kisa surede yasamis olun. Neyse bunlari baska bir yazida ele aliyim ben.
Bob Lee nam-i diger crazybob ki kendisi dependency injection frameworku guice’in yaraticisiymis(Dun ogrendim). Android core library dev teaminde de team leadlik yapmis. Baya baya parlak bi eleman yani. Bu da onun cevabi:
http://blog.crazybob.org/2011/12/truth-about-android-ios-ui-performance.html
Bu da Dianne Hackborn tarafindan yazilmis ki kendisi Android Framework Engineer olarak gugilda calismakta gayet detayli, cok teknik terimle bogulmamis, her seyi cok guzel aciklayan bir post:
https://plus.google.com/u/0/105051985738280261832/posts/XAZ4CeVP6DC
Pek okumayi seven bi millet degiliz dogruya dogru ama maksimum 15 20 dakikanizi alacak yazilar. Uzun degiller. Sagdan soldan duyduklarinizla dezenformasyona ugrayacaginiza kendiniz okuyup ogrenin.
Disclaimerimi koyayim. Burda yazdiklarim superdogru seyler demiyorum kesinlikle. Sadece benim okuduklarim ve bildiklerim ya da bildigimi sandiklarim.
Benim okuduklarimdan anladiklarimi ve biraz da onceden bildiklerimi harmanlayip ozet gecmek gerekirse; bildigimiz birkac sey var. Android bytecode calistiriyor. java’yi az bucuk bilenler elbet duymuslardir bunu. Java’nin hem buyusu ve hem de lanetidir. Turkce’ye cevirince pek bi anlami olmadi gerci. En basit haliyle java’yi platformdan bagimsiz calistiran da budur, yavas calismasina sebep olan da. Bytecode JVM (Java Virtual Machine) tarafindan yorumlanir ve isletilir. Android’de de ozellesmis bir JVM var. Adi Dalvik. Gormus olabilirsiniz. Dalvik cache olaylari. iOS ne kullaniyor peki? Objective c tabanli gelistirme yapiliyor iOS’te. Cok fazla sey bilmiyorum ama native code kullanildigindan eminim. Native code temelde uzerinde bulundugu makinanin islemcisine(CPU) uygun olarak yazilmis kod demek. Yani goruldugu uzere bir platform dependency mevcut. x86′ya yazdiginiz C++ programinizi (exe) 64 bit bi bilgisayarda calistiramamaniz gibi. 64 bite uygun output verecek bir compiler ile tekrar derlemeniz gerekir kodu. Eger iyi bi cocuk olursaniz kod error vermeyebilir. Her neyse gunumuzde her taraf dil oldugu icin kisa bi ornek verecegim. C/C++ ile yazilmis programlar native code uzerinden isletilir. Bu yuzden platform bagimsizdir denemez. Java bu noktada siyrilir. Ama tabi ki takdir edersiniz ki eger bi program uzerinde calisacagi hedef CPU icin ozel olarak optimize edilirse elbette daha hizli ve stabil calisir. C++ neden benchmarklarda hep en hizlidir? Yetmez ama evet Intel Performance Primitives diye bir library cikardi. Intel cpularda guzel optimizasyon yaptiriyor programciya. Gibi gibi. iOS ve Windows phone 7 native code kullaniyor(mus). Wp7′i yeni ogrendim. Tamamen Silverlight tabanli olacak saniyordum ama yavas oldugunu gorunce cekirdegi native code a dondurmusler. Bu yuzden wp7li telefonlarin ui’lari oldukca akici. Bilmiyorum hic denediniz mi de. Ozellik wp7.5 mangoya bakilmasina. Youtube’da da videolari var.
Android de native code a donsun nolcak ki? Android’in ya da Google’in amaci hic bir zaman kullaniciyi kisitlamak olmadi. Bu benim tamamen objektif gozlemim. Reklam gecmis gibi olmasin alttan. 8 ay once de bunu dusunuyordum. Hep en iyi hizmeti, en iyi kullanici deneyimiyle, en kolay ve en hizli sekilde yapmayi amacladiklari butun urunlerinde goruluyor. Android’de de bunu amacliyorlardi tabi ki. iOS’e karsi durabilen yegane isletim sistemi olarak bir nevi de basariyorlar. Dianne cok guzel bir cumleyle baslamis yazisina Google’in ya da Android’in amaci guvenli ve ozgur bir ortam olusturabilmek. Bi otorite tarafindan kontrol edilen tek bir kaynaktan yazilim/uygulama dagitilan bir ortamdan ziyade. Cok guzel bir yaklasim bu. Apple’in yaptigi gibi her seyi kisitlamak, tek bir appstore olmasi, isolate edilmis bir ortamda uygulama gelistirip, tamamen belli bir islemci (donanim) icin optimize edilmis bir ortam yaratmak Google icin imkansiz mi? Tabi ki degil. Ama amaclari bu degil ki adamlarin. Android’in amaci sandboxlar olusturup uygulamalarin hepsini kendine ayrilan ortamda calistirip zararli bile olsa kullaniciya zarar vermesini engellemek. Bunun icin de bazi tradeofflara gitmiyorlar mi gidiyorlar.
Hani o kadar yazdin da UI akiciligiyla ne ilgisi var diyenler icin simdi bagliyorum. Soyle de ilginc bir nokta var. Ne kadar dogru bilmiyorum. Android ilk basta blackberry’ye rakip olarak dogmus. iOS yoktu tabi o zamanlar. Yani touch screen den ziyade trackball u klavyeli bir ortama optimize yapilmis. Sonradan Apple iPhone’u patlatinca apar topar touch screen UI’a gecilmis. Dolayisiyla Android’in UI frameworku biraz aceleye gelmis. Bilmiyorum ne derece dogru bunlar. Ama Google’in aceleye gelmis kodu bile guzeldir eminim ondan. UI Frameworkunun tekrar yazilmasi imkansiz mi peki Google niye bunu yapmiyor. Imkansiz degil ama bilindigi uzre su an android 4. versiyonunda ve legacy support olmasi lazim. 200 milyon android telefon varken ui frameworkunu bastan yazdik demek biraz abes olabilir bence. Onun yerine android takimi cok daha onemli ozelliklere odaklanmis durumdalarmis. Hardware acceleration gibi.
Stajyer arkadasin iddiasi, Android ui threadinin onceligini normal threadlerle ayni yaptigi icin o kadar akici degilmis. Mesela diyor; iphone’da safari’yi acip bi websitesi acin yuklemeye baslasin ve o yuklerken ekrana parmaginizi basili tutun, her sey duruyor diyor. Ama android’de hem sayfayi yukluyor hem de parmagi takip ediyor diyor. Yani iOS ui threadini top priority yapmisken Android bunu yapmiyormus. Dianne’in yazisini okuduysaniz cevap var orda. Diyor ki android thread priorityleri surda acik sekilde yazilmis:
http://developer.android.com/reference/android/os/Process.html#THREAD_PRIORITY_AUDIO
Ve devam ediyor. Android’de iki tane ana thread onceligi var diyor. Background ve ui. Background thread ki bu daha az oncelikli diyor. ve bir de main thread. Main thread’in onceligi default. Background threadinden daha oncelikli yani. UI renderi da main threadde yapiliyor. Yani sorun thread onceliklendirmesi degil o kadar da. Bu arada background onceligindeki appler %10′dan fazla islemciyi kullanamiyorlarmis ki bu da arkada cok uygulama acik olsa yavaslar mi telefon veya sarjim gider mi sorularina guzel bi cevap.
Gozlemleyebileceginiz uzere dual core android telefonlar yeni yeni iphone 3gs’in akiciligina yaklasabiliyor. Android de aradaki farki bu islemci gucuyle kapatmaya calisiyor.
Daha fazlasi icin Dianne’in yazisini okumanizi tavsiye ediyorum.
Gelecegi gayet parlak rahat olabiliriz:-O 5. versiyonda herkeste buyuk umut var. Ha ben mi ben ICS’i cok seviyorum.
Telefon dedigin takilmicak arkadas.
En iyi not alma uygulamasini seciyorum
Adaylar:
- Onenote
- Evernote
- Catch
- Colornote
- Basket (Linuxculari unutmayalim)
- Scratchpad
Onenote
Microsoft’un Visual studio 2008 ile beraber yaptigi en guzel sey sanirim. Mobilini bekliyorum ben bunun 2 senedir. Evet abarti degil. Yaklasik 4 yil once tanistim onenote ile. Office 2007yi kurdugumda sessiz sedasiz kurulmus kendisi. Microsoft’un bu kadar iyi olmasina ragmen bu kadar golgede kalmis baska bi uygulamasi var mi aceba merak ediyorum. Kimse bilmiyor bile dogru durust. Bu 4 yillik surecte bussuru arkadasimi onenote ile tanistirdim hepsi cok mutlu oldular. Severek kullaniyorlar. Ogrenciyseniz MSDN hesabinizdan indirebilirsiniz bedava bedava.
Benim hayatimin buyuk bir kismi onenote’ta. Hatta skydrive ile de senkronize. Boylece cilgin not aliyorum. Ama onenote’un platform bagimliligi beni olduruyor.
+ Sifreli section acabilme
+ Skydrive senkronizasyonu
+ Esnek canvas
+ Collaborative not defteri yaratabilme
+ Hizli screen clipping
+ Gelismis arama ozelligi
+ OCR ve resmin icindeki yazilarda da arama yapabilme
- Platform bagimliligi
- Android uygulamasi cok yavas
http://office.microsoft.com/en-us/onenote/
Evernote
Evernote hic bir zaman bir onenote olamamisken onenote dan once mobile girmesi onu bir adim oteye tasir gibi oldu ama olmadi da. cunku her seferinde bir gazla yukledigim bu uygulamanin yuzune bakmadim. notlari offline a alamamak nedir arkadas. not bu not. not alma programi hizli olmamli bi de senkron olmali bu kadar. ayni zafiyet onenote mobil versiyonda da var. sacma sapan bir syncing beklemecesi.
http://www.evernote.com/
+ Hizli
+ Kendi sitesine senkronizasyon
+ Online arayuzu fena degil (Hic kullanmiyorum)
- Kullanici deneyimi onenote kadar iyi degil
- Android uygulamasi felaket. Bi de 2011in en iyi uygulamalarindan falan olmus. Yazdigim notlar ertesi gune kayboluyor.
- Android app’i offline a almiyor notlari. Alsa belki guzel olabilirdi. Catch’in yaninda gecemez.
- Platform bagimliligi. Ubuntu’da kullanamiyorum. Wine ile cok cok yavas. Surekli cokuyor.
Catch
Yeni yoldasim. catch’i yeni denemeye basladim. guzel gibi. Web arayuzu harikulade.
https://market.android.com/details?id=com.threebanana.notes
+ Butun notlari telefonda offline olarak tutabiliyor.
+ Tagler ile hizli arama ve kategorilendirme.
+ Web arayuzu cok §irin
- Notlari stillerini bozarak sakliyor. Plain text olarak aliyor.
- Todo list tadinda ozel bi yapisi yok
Colornote
Daimi yoldasim. Telefonda ve tablettte kullaniyorum. hiphizli 1 mb program hemen senkronize de ediyor kendini backupini falan aliyor. Ama web arayuzu yok. Desktoptan notlarima erisemiyorum. En buyuk dezavantaji bu.
Sifreli not alma, notlar arasinda link verme-bunu hic kullanmadim-, takvim uzerinden not alma-gcalendar varken bunu da hic kullanmadim-, eski notlari arsivleme, notlari renklendirme, hizli senkronizasyon gibi ozellikleriyle kalbimi kazandi acikcasi. Bedava tabi ki de.
https://market.android.com/details?id=com.socialnmobile.dictapps.notepad.color.note&hl=en
Aklima gelmisken colordict var bi de android icin. Ayni sirketin bu ikisi sanirim. o da super.
+ Hizli hizli hizli
+ Gmail ya da colornote hesabi ile senkronizasyon, sd karta backup alma (hic bi zaman notlar kaybolmuyor)
+ Hizli arama
+ Tarih uzerinden not alma (Google calendar varken hic bakmiyorum bile)
+ Todo list yapabilme – cok guzel altyapisi var
+ Notlari renklendirme ve sticky note seklinde telefonun ana ekranlarina koyabilme
+ Eski notlari arsivleme
+ Notlar arasinda birbirine link verebilme
- Web arayuzu yok
- Bilgisayardan bakabilecegim bi desktop app falan olsaymis super olurmus.
Basket
Scratchpad varken yuzune bakmiyorum. Cok uzun notlarda performanssiz. Aramasi cok kuvvetli degil. Bir linux programi icin arayuzu cok guzel. Cok super kullanisli olmasa da guzel. Notu hic bi zaman istedigim yere koyamiyorum. Bisileri kopyalayip yapistirdigimda sonuna garip gurup karakterler ekliyor. Sevemedim sonuc itibariyle. Platform bagimliligindan bahsetmiyorum bile.
http://basket.kde.org/
+ Bi linux programi icin oldukca guzel arayuz. Hatta bi arkadasim gordugunde that’s so apple demisti o derece.
+ Basit arayuz. Ic ice not gruplari yaratabilme olanagi
+ Resimli not alma
+ Esnek canvas
+ Kolonlu not alma
- Senkronizasyon yok (ya da ben bulamadim)
- Gnome ile iyi calismiyor. Cokuyor ya da takiliyor.
- Arama ozelligi cok kuvvetli degil.
- Uzun notlarda kafasi karisiyor.
Scratchpad
Bunu kimse bilmiyor ya benim icim aciyor. On numara bir chrome extensioni. Hep aklimdaki seyi yapiyor. Notlari aliyor ve google docs ile senkronize ediyor. Ben de bi senkronizasyon engine i yaziyor olsaydim ya google docs ya da dropbox kullanirdim. Bedava ne de olsa:)
Cok guzel bir tool oncelikle. Chrome inanilmaz bir ruh uyumu var. side note taker olarak da kullanilabiliyor, chrome tabi olarak da kullanilabiliyor. Pin tab yapip gayet super bir aplikasyon olarak kullanilabilir. Platform independency saglamasindan bahsetmiyorum bile chrome malum.
Toplanti notlari icin de on numara. Klavye kisayollarini desteklemesini seviyorum. Ctrl + B bold falan yapilabiliyor.
Tek bir dezavantaji var o da su an icin sadece text not alinabiliyor. Ilerde belki resimli not alinir. Benim sikintim kocaman web sayfasini kopyaladigimda tutorial resimlerini de nota alabilmek aslinda. Olayim bu.
Ha bi de bir diger dezavantaj notlari gruplayamamak. Ilerde klasorleme olur belki de su an icin cok temelde.
Time to boost your chrome:
https://chrome.google.com/webstore/detail/kjebfhglflhjjjiceimfkgicifkhjlnm?utm_source=chrome-ntp-icon
+ Offline calisabilme (Tek basina supurur usttekileri)
+ Google docs ile senkronizasyon
+ Rich text editor – maddelemesi guzel
+ Stilli yapistirma – dogrudan web sitesini ctrl + a yapip kopyalayip yapistirinca aliyor tamamini stili bozmadan. Ama sadece plain text olarak kullanilabiliyor bu. Linkler falan gelmiyor yani.
+ Hizli ve gelismis arama
- Henuz resimli notlardaki resimleri gostermiyor. Ama google docs tan nota bakinca resim orda duruyor gayet.
- Notlari gruplayamama
- Az ayari olmasi (Bu da tam geek sikayeti oldu)
WordPress’e Facebook like butonu, tweet butonu ve +1 butonu eklemek
Fazlaliklari atiyorum. WordPress’e daha fazla eklenti kurmaca yok artik. En azindan boyle basit islemler icin.
Oncelikle sunu soylemeliyim ki bu benim yabanci kaynaklardan faydalanarak kendi uydurdugum bi metod. Zaten bapbasit.
First thing is first. Butonlarin nereye konmak istedigine karar verilir. Ben yorumlarin ustune koydum mesela. Aliskanlik geregi. Ama postun tepesine koyanlar da var. Benim yolum icin wordpress editor’den comments.php acilir.
Icine yeni bir div blogu eklenir su sekilde:
<div> <!--eklenecek kodlar buraya--> </div>
- Facebook begen(like) ve gonder butonu icin asagidaki adrese gidilir. Tabi bundan once developer uygulamasinin profile erisimine izin verilmelidir.
http://developers.facebook.com/docs/reference/plugins/like/
Oradaki widgettan stil ayarlarini yaptiktan sonra “get code” denir. 2 parca halinde kod gorunur. Usttekinin nereye yapistirilacagi ile ilgili yazi surda: WordPress ile Facebook yorumu entegrasyonu 7. adiminda gecen olaya dikkat.
Ben kisaca geceyim ustunden. Ustteki kod header.php’te body taginin altina yapistirilir.Tamam simdi 2. kod parcasini yani asil arayuzde gorunecek butonlari koyma zamani. comments.php’ye gidilir. Orda daha once yukarda acilan div taglerinin arasina facebook developer sayfasindan alinan 2. kod parcasi yapistirilir. Sayfa kaydedilip son duruma bakilabilir. Brova! Pluginsiz facebook like ve send butonlari bloga eklenmis oldu. Facebook isimleriyle yorum nasil yazdiririm diyenler bu tarafa gitti: WordPress ile Facebook yorumu entegrasyonu
- Twitter ‘da paylas ki bu en kolay ve en sevdigim. Su adrese gidilir: https://twitter.com/about/resources/buttons
Istenen buton secilir. Burda birkac cesit buton var (Tweet, floow, hashtag, mention etc).
Secilen butonun embed kodu sagda cikar kutunun icinde hrefli falan. O kopyalanip yine az onceki gibi wordpress’te acilan comments.php’de bulunan div taginin icine yapistirilir.
- +1 butonu en kolayi sanirim. Google diye demiyorum basit yapiyorlar :-O
Su adrese gidilir: http://www.google.com/webmasters/+1/button/
Kod direk kopyalanip comments.php’de az once acilan div taginin icine atilir.
Bu kadar. comments.php’yi kaydetmenin unutulmamasina.
Repleri esirgemeyelim.
WordPress ile Facebook yorumu entegrasyonu
9gagdeki gibi hani altta feysbukta halihazirda login olmus insanlar hemen girip yorum yazsinlar istemez misin. Nasil mi cok kolay. Kendi sorusunu cevaplayan ogretmen gibi oldum. Denedim %100 calisiyor.
Birkac baska yontem olsa da piyasada, ben pluginsiz temiz, hizli ve basit bir yontem kullaniyorum. Basitlik guzel malum.
- Su adrese gidilir oncelikle : Facebook developer app
- Izin isterse verilir. E verin yani. Ondan sonra sagdan “yeni uygulama olustur” denir.
- “App Display Name”ine duzgun bisiler yazilir. Namespace simdilik bos birakilsa da olur. Amac bi app id elde etmek.
- Continue dendikten sonra bir app id bir de security pass verir feysbuk. Bunlari ezberlemeye gerek yok. Adamlar yapmis. Kodu direk aldi mi icinde geliyor.
- Official Facebook Comment Plugin bu adrese gidilir.
- Alttaki fotodaki kisima gelip gerekli ayarlar yapilir. Hani cok da onemli degil. Kodu aldiktan sonra manuel olarak editlenebiliyor kendileri zaten. Ama tabi pa$a gonul bilir.

- “Get code”a basinca 2 tane kisim cikar. ustteki wordpress blogundaki header.php nin body kisminin icine yapistirilir. Bu onemli bu ilerki safhalar icinde gerekli. Mesela like on facebook ya da send via facebook butonlari eklemek icin de headerda bu kodun olmasi gerekir.
- Alt taraftaki wordpress blogunun comments.php dosyasinin istenilen yerine yapistirilir. Tabi su sekilde: (linki degistirmeyi unutmayalim)
<div data-href="<?php the_permalink(); ?>" data-num-posts="2" data-width="470"></div>
- Ben uste yapistirdim. Boylece facebook yorum kutusu normal yorum kutusunun ustunde cikiyor. Isterseniz alttaki kutuyu toptan silip(ki bu sonra aksiliklere yol acarsa bana bagirmayin ben silmedim) sadece facebook yorumlari birakilabilir. En olmadi <!– yorum satiri –> yapilip bakilabilir eger isteniyorsa. Alternatif iyidir.
Yorumlari eksik etmeyelim:D
Call of Duty Modern Warfare 3′ten Onur
Son arastirmalarima gore ki arastirma dedigim eksisozlukten baktim kendisinin ismi Sami Onur adli ITU mimarlik mezunu arkadastan geliyormus. Kendisi oyunlarda grafik tasarimi yapmaktaymis. Bunu da bi roportajindan aldim. Icinde bulundugu oyunlar: Fight Club, Golden Eye: Rogue Agent, Medal of Honor: European Assault, COD 2, COD 4: MW, COD: MW2 ve MW3
Bu da bonusu. Evet böyle oldum ben de Onur’u gorunce:











