Samsung Galaxy S2’ye CyanogenMod Yükleme

Ameleler,

Galaxy S2, Samsung’un bir zamanların amiral gemisi telefonuydu. S3, S4, Note, Note 2 çıktıktan sonra, Samsung’un gözünden düşse de, piyasanın gözünden düşmedi. Samsung, Android güncellemelerini mümkün olduğunca geciktirmeye, verdiği -gayriresmi- sözleri aksatmaya başladı. Özellikle, çok beklenen Jelly Bean güncellemesi, bir çok Galaxy S2 kullanıcısını sinirlendirdi.

Ben de kızdım bu gecikmeye. Telefonu alalı 2 sene olduğu ve garanti süresi de artık dolduğu için, güncellemeyi kendim yapmaya karar verdim. Samsung’un diğer ülkeler için çıkardığı Jelly Bean ROM’larından ziyade, uzun zamandır gözüme kestirdiğim, içinde Samsung’un garip garip reklam servisleri ve saçma uygulamaları olmayan CyanogenMod’u yükleyim dedim. www.cyanogenmod.org adresinden gerekli bilgileri aldım ve toparladım. Türkçe kaynak olması açısından sizlerle burada paylaşıyorum.

UYARI! Burada anlatacağım yöntem ve linklerini vereceğim yazılımlar, telefonunuzun kullanılmaz hale gelmesine sebep olabilir. Bu işlemleri yapacaksanız, ne yaptığınızı bilerek ve bu riskleri göze alarak yapınız. Yazılım Amelesi ve bu blog sitesi olarak, telefonunuza gelecek zararlardan sorumlu olmayacağımı beyan ederim.

UYARI! Yapacağımız işlemde, telefona, PC tabiri ile format atmış olacağız. Bu demektir ki, telefondaki bilgilerimiz silinecektir. O yüzden, işleme başlamadan önce telefonunuzdaki önemli bilgilerin yedeklerini mutlaka alın. Fakat, telefonda artık Samsung ROM olmayacağı için, Kies ile alınacak yedekleri telefona geri yükleyemeyeceksiniz.

Burada, CyanogenMod kurulumunu üç adımda aktaracağım. İlk adımda, önyükleyiciyi (ClockWork Mod), ikinci adımda ROM’u (CyanogenMod), üçüncü adımda da Google uygulamalarını yükleyeceğiz. İlk iki adımı tamamlayana kadar telefonunuz kullanım dışı kalacaktır, önemli işleriniz varsa hattınızı yedek bir telefona taşıyarak işlemlerinizi yapabilrsiniz. Üçüncü adım opsiyoneldir, eğer telefonunuzda Google Uygulamaları (Google Play, GMail, Google Maps, vs.) olmasını istemiyorsanız, üçüncü adımı es geçebilirsiniz.

Kurulumu yapabilmemiz için, bilgisayarımıza birkaç dosya ve uygulama indirmemiz gerekiyor. Önce, telefonumuzun önyükleyicisini değiştirmek için ClockWork Mod, sonra da telefonumuza ROM yükleyebilmek için Heimdall uygulamalarını indirin. Windows kullanıcılarının, Heimdall için, Microsoft Visual C++ kütüphanelerini de  yüklemeleri gerekecektir. Eğer bilgisayarınızda yüklü değilse, aşağıdaki linkten onu da indirebilirsiniz.

Galaxy S2 için stabil (stable) CyanogenMod sürümü olmadığı için, gecelik derlemelerden (nightly build) birini telefonumuza yükleyeceğiz. Bunun için aşağıdaki adresi ziyaret ederek, en son sürümü indirmeniz gerekiyor. Aynı zamanda, ROM yüklemesini telefon üzerinden doğrudan yapacağımız için, Android SDK’yı da bilgisayarınıza indirmiş olmanız gerekiyor.

Bu uygulamaları indirdikten sonra, Windows kullanıcılarının, Microsoft Visual C++ kütüphanesini yükledikten sonra bilgisayarı yeniden başlatması gerekiyor. Evet, yıl 2013, hala bir uygulama yükledikten sonra bilgisayarı yeniden başlatıyoruz.

Bu uygulamaları ve dosyaları indirdikten sonra Heimdall uygulamasını bir dizine açın. Benim tavsiyem, indirdiğiniz dosyaları ve uygulamaları tek bir dizin altına açın, sonra neyin nerde olduğunu kaybetmeyelim.

İşlemimize başlıyoruz. Bunun için, telefonunuzu kapatın. Telefonunuzun ses kısma + anasayfa (home) + güç düğmelerine basarak, indirme modunda (download mod) açın. Telefonunuzun ekranında, uslu durmanız gerektiği ile ilgili bir uyarı çıkacaktır. Kabul edin. Şimdi, telefonunuzun USB kablosunu telefonunuza ve bilgisayarınıza takabilirsiniz.

1- Önyükleyici Kurulumu

İşlemimizin ilk adımı, telefonumuzun önyükleyicisini yüklemek. Bunun için, indirdiğimiz Heimdall uygulamasının olduğun dizine gidiyoruz. Öncelikle telefonumuza özel sürücüleri yükleyeceğiz. Bunun için, Heimdall dizini altında, Drivers dizinine gidiyoruz ve zadig.exe uygulamasını başlatıyoruz.

  1. Menüden Options -> List All Devices seçeneğini seçiyoruz.
  2. Device Name alanından Samsung USB Composite Device veya Gadget Serial seçeneğini (hangisi varsa) seçiyoruz.
  3. Replace Driver düğmesine tıklıyoruz.
    1. Windows 7 kullanıcılarının karşısına, “İmzasız Sürücü” uyarısı çıkabilir. Yükleme seçeneğini seçerek yüklüyoruz.
    2. Windows 8 kullanıcılarının, imzasız sürücü yükleme özelliğini açmaları gerekiyor.
  4. Daha önce indirdiğimiz ClockWork Mod dosyasını, Heimdall/Release dizini altına kopyalayın. Bu, işlemi daha kolay yapmanızı sağlayacaktır.
  5. Heimdall/Release dizininde bir komut satırı (command line / terminal) açın. Açılan komut satırında, aşağıdaki komutu çalıştırın:

$> heimdall flash --kernel zImage --no-reboot

İPUCU! Windows’da, bulunduğunuz dizinde bir komut satırı açmak için, dizinde boş bir yere Shift + Sağ Tık ile açılan menüyü kullanabilirsiniz.

Komutu çalıştırdıktan sonra, telefonunuzun ekranında mavi bir bar çıkacaktır. Buradan yüklemenin durumunu takip edebilrsiniz. Bu yükleme işlemi çok uzun sürmeyecektir. Yükleme bittikten sonra, telefonu elle yeniden başlatmanız gerekiyor. Bunun için, normal başlatma değil, Ses Açma + Anasayfa + Güç düğmelerine basarak kurtarma modunda (recovery mode) telefonunuzu açın. Telefonunuz açıldığı zaman, ClockWork Mod’un yüklendiğini göreceksiniz.

2 – ROM Kurulumu

ROM kurulumu için, bir önceki adımda yüklediğimiz önyükleyiciyi kullanmamız gerekecek. Bunun için, öncelikle indirdiğimiz ROM’u telefona kopyalamamız lazım. Android SDK içinde gelen adb komutunu kullanarak bu işlemi gerçekleştireceğiz. İndirdiğimiz ROM dosyasının olduğu dizinde bir komut satırı açarak, aşağıdaki komutu çalıştırıyoruz.

$> /%ANDROID_SDK%/platform_tools/adb push ROM_DOSYASI.zip /sdcard/

Bu komutta, adb uygulamasını, bulunduğu dizinden çalıştırdık ve indirdiğimiz ROM dosyasını, telefonumuzdaki SD karta kopyaladık. Bu işlemi yapmadan önce, telefonunuzdaki SD kartta yeterli alan olduğundan emin olun.

İPUCU! Bu adımda, ihtiyacımız olan tek şey, SD kart üzerinde CyanogenMod ROM dosyasının bulunması. Bunu, Android SDK + adb ile yapmak istemeyenler, hiçbir işleme başlamadan önce, indirdiği zip dosyasını, dosya yöneticisi aracılığı ile telefonuna kopyalayabilir, ya da SD kartı bilgisayara takarak doğrudan kopyalama yapabilir.

Telefonunuzu, şimdi yeniden başlatabilirisiniz. Bunun için, yukarıda kullandığımız kombinasyonun aynısını, yani Ses Açma + Anasayfa + Güç tuşlarını kullanacağız. Bu şekilde girdiğimiz kurtarma modunda, ses açma/kısma tuşları menüde hareket etmemizi, güç tuşu da menü seçme işlemini gerçekleştiriyor.

  1. Ses tuşlarını kullanarak, menüden “wipe data/factory reset” seçeneğine gelin ve güç tuşu ile seçimi yapın.
  2. İşlem tamamlandıktan sonra, “install zip from sdcard” seçeneğini seçin.
  3. “choose zip from sdcard” seçeneğini seçin, burada SD kart üzerine kopyaladığımız ROM dosyasını seçeceksiniz.
  4. Yükleme işlemi başlayacaktır. Telefon ekranından yükleme durumunu takip edebilirsiniz.

Yükleme işlemi bittikten sonra, ClockWork Mod menüsünden ana ekrana gelerek “Reboot System Now” seçeneği ile telefonu yeniden başlatabilirsiniz.

CyanogenMod telefonunuza yüklenmiştir. Ekranda, aşağıdaki gibi bir yükleyici animasyonu göreceksiniz.

CyanogenMod 10

3 – Google Uygulamalarının Yüklenmesi

CyanogenMod yüklediğiniz telefonunuzu açtığınızda, Android’in en yalın hali sizi karşılayacaktır. Bir kaç basit uygulama, temel telefon uygulamaları dışında karşınıza pek bir şey çıkmayacak, açılırken size Google hesabını sormayacaktır. Google Play de olmadığı için, uygulama yükleme şansınız olmayacak. GMail, Google Maps, Google+ gibi alışkın olduğunuz Google uygulamalarını yüklemek istiyorsanız, aşağıda verdiğim adresten, yüklediğiniz CyanogenMod sürümüne uygun Google uygulama paketini indirebilirsiniz.

  • Google Uygulamaları – indir

İndirdiğiniz zip dosyasını, 2. başlıktaki ROM kopyalama komutu ile, veya telefonunuzu bilgisayara bağladığınızda dosya yöneticisi ile, yine telefonunuzun SD kart bölümüne kopyalayın. Telefonunuzu, yine 2. başlıkta yaptığımız gibi Ses Açma + Anasayfa + Güç düğmeleri ile yeniden başlatın. 2. başlıktaki 4 maddelik ROM yükleme talimatları, Google uygulamalarını yüklemek için de geçerlidir, sadece bu sefer 1. maddedeki “factory reset” işlemini yapmanıza gerek yok. Diğer üç maddeyi uygulayarak, SD kart üzerindeki Google Uygulamaları zip dosyasını seçerek, alıştığınız Google Uygulamalarını telefonunuza yükleyebilirsiniz. Telefonunuzu, normal olarak yeniden başlattığınız zaman, sizden Google hesap bilgilerini isteyecektir.

Daha önce de demiştim, bu işlemleri yaparken dikkatli olun. Burada anlatılan yöntemlerin garantisi yoktur, uygulamaların bir hatası sizi bulabilir ve telefonunuzu tamamen kaybedebilirsiniz. Bu işlemler, garanti kapsamı dışında da kaldığı için, gidip telefonu aldığınız yere ağlamanın da faydası olmayacaktır.

Haydi, telefonu bozmadan, kenardan kenardan..

Kaynaklar:

[1] http://wiki.cyanogenmod.org/w/Install_CM_for_i9100

Android Geliştirici Günleri 2013 Ardından

Ameleler,

Türkiye’deki Android geliştiricileri, Android’e gönül verenler ya da bir şekilde Android ile para kazananlar, 14-15 Haziran tarihlerinde Ankara’da ODTÜ Kültür ve Kongre Merkezi’nde toplandı.

Android DevDays

Büyüklerden Turkcell, Qualcomm ve Blackberry etkinliğe damgasını vurdu. İki sabah da bu üç şirketin oturumları hem çok ilgi çekti, hem de bilgilendiriciydi. Piyasanın ne durumda olduğunu zaten Android’e gönül veren insanlar olarak az çok takip ediyoruz, ama işin geleceğinin ne olacağı konusunda pek öngörümüz olmayabiliyor. Bu şirketlerin oturumlarında piyasayı güzel okuma fırsatı bulduk.

Etkinliğin, bu kadar çok kişiyi toplaması açıkçası çok beklemediğim birşeydi. Geçen seneki etkinliğe katılamamıştım, o yüzden bu sene ne olacağını kestiremiyordum. Özellikle, İstanbul’dan gelenlerin çokluğu dikkatimi çekti.

Sadece Türkiye’den değil, dünyanın değişik yerlerinden katılanlar da vardı etkinliğe. Tabi bu katılımcıların çoğu konuşmacı olarak katılmıştı. Öyle ki, bir ara İngilizce aksanları arasında geçiş yapamadım – önce Arap, sonra Alman, daha sonra da Rus aksanlı İngilizcelerden bir ara algım bozuldu. Bir kısmını internet dünyasından tanıdığım bu insanların yaşadığım şehre gelip konuşma yapması, grubun güçlü olduğunu gösterdi.

Konuşmaların detaylarına girmem uygun olmaz, zaten hepsi hakkında yorum yapabilecek durumda değilim. Genel anlamda, konuşmacıların hitabetleri iyiydi – aradaki birkaç istisna her zaman olacak şeyler. Sadece, konular ve oturumlar iyi bir şekilde ayrılmamış gibi geldi. Genel olarak, aynı ya da benzer konulardaki oturumların aynı salonda devam etmesi, böyle etkinliklerde tercih edilen bir tarz oluyor. Etkinlik ekibinin zaten geri bildirimleri alıp bir sonraki etkinlikte bu geri bildirimleri göze alacağını düşünüyorum.

Böyle etkinliklerin olması, ülkemizdeki bilişim sektöründeki şirketlerin ve bireysel geliştiricilerin gelişmesi için çok büyük şans. Kaçıranlar, bir sonraki etkinlikte bu şansı yakalasınlar.

Yeşil robot sizinle olsun.

http://www.androiddeveloperdays.com/tr/

Ankara JUG Mayıs 2013 Etkinliği Ardından

Ameleler,

Yine bir Ankara JUG yazısı ile karşınızdayım.

Malum, 30 Mayıs’ta yapılan Ankara JUG toplantısından sonra, 31 Mayıs’ta İstanbul Taksim’den başlayan olaylar her yeri sardı. Bize yeni şeyler öğreten bu süreç içerisinde JUG toplantısı ile ilgili görüşlerimi toparlayıp bir yazı haline getiremedim. Anca toparlayabiliyorum.

Mayıs 2013 etkinliği, Git üzerine idi. Linus Torvalds’ın bizzat geliştirdiği, açık kaynak dünyasnda bir anda popülerlik kazanan sürüm yönetim sistemi Git, biraz korkutan, biraz da ters gelen bir sistem. Korkutuyor, çünkü öncelikle Linux üzerine çıkması ve eğitim örneklerinin genelde terminal komutlarından oluşması, grafik arabirim kullanmaya alışmış geliştiricilerin işine gelmiyor. Ters geliyor, çünkü Subversion ya da TFS gibi sunucu – istemci (server – client) yapısında değil, dağıtık (distributed) bir yapıca çalışıyor. Merkezi bir sunucu gerekliliğinin olmaması, geleneksel yapıları kullanan geliştiricileri korkutuyor.

git scm

git scm

JUG etkinliğinde bizlere Git anlatan Mustafa Sakalsız, açıkçası güzel bir şekilde bize Git’i -pazarlamacı tabiriyle- sattı. Git’in, zaten hız konusunda iyi olduğunu bir çok yerden okumuş, görmüştüm. Fakat, branch kullanma yöntemini, hem kendim okumadığım hem de denemediğim için bilmiyordum. Benim en çok ilgimi çeken ve kullanma yönünde en çok aklımı çalan özelliği de açıkçası branch kullanmanın kolaylığı oldu. SVN’de branch’leri birleştirirken çektiğimiz çileleri çekmeyeceğimiz yönünde bir izlenimim oldu.

Güzelliklerine rağmen, Git’in binary dosyalardaki zaafı, resimlerin yoğun bir şekilde kullanıldığı web uygulamalarında kullanımı biraz zorlaştıracak gibi. SVN’in binary dosyalarda, hatta bütün dosyalarda, dosya farklarını tutması, merkezi sunucuda ve yereldeki dosya boyutunu makul bir seviyede tutabiliyordu. Git ise, dosya farklarından ziyade, değişen dosyaların kendisini tuttuğu, ve her sürüm için bu dosyaları yerelde de sunucuda da tuttuğu için, sık değişen dosyalar, disk kullanımını ciddi oranda artırabilir görünüyor.

Bu kadar açık kaynaklı proje kullanmama rağmen Git kullanmamak benim eksikliğim. Ankara JUG etkinliği sayesinde, Git konusunda başlangıç gazımı almış durumdayım.

Kullanım aşamasına gelirsem, onunla ilgili de yazarım.

Haydi, şimdi Git’in.

#direngezi Bize Neler Öğretti?

Ameleler,

Politik olaylara bu blogda yer vermemeye çalışıyorum, mümkün olduğunca da öyle olacak. Bu blogun amacı, en başta yazdığım gibi, yazılım ve teknoloji konusunda bilgi paylaşmak. O yüzden, işin politik ve/veya sosyolojik tarafına girmeden, Gezi Parkı direnişi bize teknolojik olarak neleri öğretti, neleri hatırlattı, onları paylaşacağım.

1 – Twitter

Twitter, yeniden hatırlandı. Arap Baharı olarak adlandırılan Arap ülkelerindeki isyanlarda, en büyük rolü Twitter almıştı. İnsanların birbirleri ile haberleşmesi, olay yerlerinden bilgi alması ve seslerini duyurabilmek için ünlü kişilere (sanatçı, politikacı) doğrudan ulaşabilmesi, Twitter’ın sadece atarlı gençliğin ayrılığı sevgilisine ayar verdiği platformdan daha fazlası olduğunu gösterdi. Aynı zamanda, Twitter’ın video paylaşma özelliği Vine‘ın da Android için tam bu zamanlarda destek kazanması, az da olsa videonun Twitter üzerinden bu şekilde paylaşılmasını sağladı.

Occupy Gezi

2 – Facebook

25 yaş altı gençliğin sevgili bulmak için kullandığı, 25 yaş üstü gençliğin ise ne için kullandığını bilemediğim Facebook, tam bir atışma sahasına döndü. Direniş destekçileri (a.k.a. çapulcular), mümkün olduğunca esprili bir şekilde olayları, sloganları paylaşırken, direniş karşıtları da kendi yöntemleri ile karşılık vermeye çalıştılar. Genelde, bu atışmalar, karşıt görüşteki “arkadaş”ların, birbirlerini arkadaş listelerinden silmeleri ile sonuçlandı. Neymiş, Facebook’ta o kadar çok arkadaş eklemek hava atacak bir meziyet değilmiş.

3 – Zello

Sokakta, polisin attığı biber gazı ve sıktığı tazyikli sudan -doğal olarak- korunmak isteyen “çapulcular”, teknolojinin son harikası “Zello” yu akıllı telefonlarına yükleyerek, polisin elindeki en büyük üstünlük olan telsiz ile haberleşme üstünlüğünü bir nevi ekarte ettiler. Araya sivil polis ya da başka tipler girse de, sokaktakiler bu uygulamanın nimetlerinden büyük ölçüde faydalandılar. Hatta, Nazlı Ilıcak bile kullandığını söyledi – ne alakaysa.

4  – UStream

Olaylar başladığı zaman, genelde kumandamızın en çok kullandığımız tuşlarındaki kanallar bize penguen belgeseli, güzellik yarışması gibi programlar gösterdiği ve Tahrir’e gönderilen canlı yayın araçları Taksim’e gidemediği için, olay yerlerinden canlı yayın amatörlere kaldı. Bu amatör canlı yayın ekipleri, UStream üzerinden, akıllı telefon ya da sabitleyebildikleri kadarı ile bilgisayarlarından canlı bir şekilde sokakları evlerimize aktardılar.

5 – TunnelBear

Twitter’dan yazdıkları ve paylaştıkları şeyler sebebiyle gözaltına alınan insanlar haber olunca, takip edilmeyi önlemek ve internette gizli kalabilmek için, cep telefonlarına, bilgisayarlara TunnelBear yükledi “çapulcular”. Hatta, TunnelBear, Türkiye’deki kullanım artmaya başlayınca, ne olduğunu çok çabuk anladı (zeki adamlar sonuçta) ve Türkiye’deki kullanıcılara sınırsız ücretsiz erişim hakkı tanıdı.

6 – FlightRadar24

Aslında, Başbakan, olaylar başladığı zaman Kuzey Afrika gezisine çıkmasaydı, bu siteden hiç haberimiz olmayacaktı. Ama, özellikle dönüşü için sürekli farklı saatler verilince, internet kurdu çapulcular, “lan bu uçak nerede şimdi” diye bizi bu siteden haberdar ettiler. Canlı (ya da 5 dk gecikme ile) uçakların konumları ve uçuş planları bu siteden görülebiliyor. Ben burayı gördüğüm zaman, Başbakan’ın uçağı daha İtalya üzerindeydi, “daha çok var gelmesine” deyip yatmıştım mesela.

Daha başka güzellikler de bulunmuş, hatırlanmış ve kullanılmıştır muhtemelen. Ben, yakından gördüğüm uygulamaları yazmaya çalıştım. Unuttuğum, atladığım varsa affola.

Haydi, “Merry Chapulling!”

Ankara JUG Mart 2013 Etkinliği

Ameleler,

Ankara JUG Mart etkinliğine rahatsızlığım sebebi ile katılamadım. Galiba, şimdiye kadarki en popüler etkinliği kaçırdım. Yine de, blog yazısı eksik olmasın diye, etkinliğe katılan arkadaşlarımdan görüşlerini yazmalarını rica ettim. İki kişiden bir ses çıkmadı, fakat bu çağrıma cevap veren Erkan Taşkın’a teşekkür ediyor ve yazısını paylaşıyorum.

Ankara JUG 2013 Mart ayı etkinliğinin bu güne kadar katıldığım Ankara JUG etkinlikleri içinde en çok keyif aldığım etkinlik olduğunu açıkça söyleyebilirim. Önceki etkinlikler de elbette ki güzeldi ama Amerika’da Silikon Vadisi’nde yıllarca çalışmış, sektörde oldukça tecrübeli Hale Hanım’ın eğlenceli sunumuyla Mart ayı etkinliği farklı bir boyut kazandı bence 🙂

Peki etkinlikte ne oldu da bu kadar beğendin, keyif aldın derseniz biraz açıklamaya çalışayım. Öncelikle Hale Hanım Silikon Vadisi’nde, yani teknoloji işlerinin en üst seviyeye ulaştığı bir yerde, 10-15 yıl çalışmış, sektörde oldukça tecrübeli bir kişi. Yaklaşık 1.5 saat süren sunumunun başında iş hayatının kısa bir özetini yapıp bulunduğu yerlerden bahsetti. Ardından son 2-3 yıldır görev yaptığı şirketin ve içinde yer aldığı projenin evrimleşme hikayesini anlatmaya başladı. Çalışmakta olduğu şirketin okullarda kullanılan, install edilen offline bir ürünleri varmış. Bu ürünü online, daha fazla insan tarafından kullanılabilir, raporlarına ulaşılabilir bir hale getirmeye çalışmışlar. Projeye başladıklarında önlerinde 1 yıl gibi kısa bir süre varmış, şirketlerindeki yönetim kadrosu ve pazarlama ekibi ile yaptıkları toplantı sonunda 1 yıllık sürede yapabilecekleri, katma değeri yüksek olacak parçaları seçip (bazı parçaları ileriki süreçte yapmak üzere ertelemişler) işe koyulmuşlar. 1 yıl içinde yaşadıkları zorlukları, kullandıları teknolojileri, minimum maliyetli testleri tamamlamak için şirketteki pazarlama ekibi dahil nasıl kullandıklarını motive olmak için yaptıkları küçük şeyleri çok hoş bir dille bize anlattı. Aklımda kalan bir örneği de paylaşayım; projelerinin kod adı Everest olarak belirlemişler. Projenin son aylarına doğru işler sıkışmaya başladığı zamanlarda, her gün masalarında farklı farklı notlar/eşyalar bulmaya başlamışlar. Bir gün bir Everest dağı biblosu ve altında bir not “zirveye az kaldı, dayanın”, başka bir gün everest resimli kupa… 🙂 Böyle birşey çok hoşuma gitti benim. mount-everest
Bu konuşmaların içinde elbetteki teknik konulara da girdik, hangi teknolojileri kullandılar, süreç yönetiminde hangi araçlar kullanıldı, Agile, Scrum konularından da konuşuldu.
Güzel sunumu için Hale Hanım’a ve bu etkinliği gerçekleştiren Ankara JUG ekibine de teşekkür ediyorum 🙂
Diğer etkinliklerden sonra görüşmek üzere.

Java Kural Dışı Durumlarının Açıklamaları

Ameleler, Java Kullananlar, Romalılar,

Java dilinde çok karşılaşılan kural dışı durumlar (exception) için güzel, eğlenceli açıklamalar hazırlamış birisi ve paylaşmış. Bağlantıyı aşağıda paylaşacağım.

Java Logo

Buraya, beğendiğim birkaç tanesini yazıyorum. Tabi bu arkadaş İngilizce hazırlamış, Türkçe’ye çevirmedim.

IllegalMonitorStateException
Please turn your computer screen back on.
 
InstantiationException
Not everything can happen instantly. Please be more patient.
 
MissingResourceException
You are too poor to be using Java. Switch to a cheaper language (such as Whitespace, Shakespeare, Cow, Spaghetti or C#).
 
HeadlessException
Java thinks you are too stupid to be a programmer.
 
IntrospectionException
You are too introverted. Be more extroverted. Stop being such a nerd and go out and meet some people!
 
BindException
Java programming and bondage don’t mix.

Geri kalanını da siz buradan okuyun:

http://www.dzone.com/links/r/explanations_to_common_java_exceptions.html

Ankara JUG – Şubat Etkinliği Ardından

Ameleler,

Yine geç kalmış bir Ankara JUG yazısı daha. 28 Şubat’ta yapılan Ankara JUG toplantısı sonrasında, hemen o haftasonu yazmaya niyetlendim, ama etkinliğin üzerinden 10 küsur gün geçmeden yazı yazamama gibi bir durum oluştu bende.

Neyse, konumuza gelelim.

Bildiğiniz gibi, Kasım 2012’den beri, Ankara JUG düzenli aylık etkinlikler yapıyor. Şubat 2013 etkinliği de, öncekiler gibi bir Perşembe günü, Bilkent Cyberpark’da yapıldı. Konuşmacı Mert Çalışkan, bizlere yazılım testi ile ilgili çok güzel, biraz da yoğunlaştırılmış bir sunum yaptı. Akşam iş çıkışı biraz dikkat toplamakta zorlansak da aradan birşeyler kapabildik.

Test konusunda, Türkiye’deki yazılım şirketlerininin çok eksikliği olduğunu düşünüyorum. Belirli kurumsal ve özellikle çok yüksek bütçeli projeler dışında, otomatikleştirilmiş test süreçleri yazılım geliştirme süreçlerine çok fazla entegre edilmiyor. Genelde, projeler “deadline” adı verilen o belirli gün ve haftalara yetiştirlmeye çalışıldığı için, çıkacak yeni bir özellik eklemeyen kodlardan olan birim testler için hiç vakit ayrılmıyor, ayrıldıysa bile ilk taciz edilen zaman birim test zamanı oluyor. Halbuki, sunumda Mert Çalışkan’ın belirttiği gibi, kodumuzu denemek için gerekli gereksiz yerlere “System.out.print()” yazmak yerine o kodu test eden bir birim test yazsak, kendimizi bir sonraki denemeye de hazırlamış ve zaman kazanmış oluruz. Tabi bu biraz da alışkanlıktan kaynaklanıyor, birim test yazarak ürün geliştirmeye alışmamış bünyelerde test yazmak biraz gaz yapabiliyor.

Birim test dışında entegrasyon testleri de sunumun konusuydu. Çok fazla detaya girmeyeceğim, etkinlikteki sunuma buradan ulaşabilirsiniz.

Mart etkinliği de duyuruldu, bekleriz.

Ubuntu ve Çift Ekran Kartı

Ameleler,

Günümüz dizüstü bilgisayarlarında, güç tasarrufu amacı ile çift ekran kartı kullanımı oldukça yaygın. Mesela, benim kullandığım Dell L502X bilgisayarda, yerleşik Intel ekran kartının yanı sıra, harici bir NVidia kart da mevcut. Windows ortamında, sürücü ve/veya Windows desteği sayesinde hiç bir ek ayar yapmadan bu iki ekran kartı birlikte kullanılabiliyor. Günlük işler için yerleşik ekran kartı kullanılırken, oyun ya da video gibi yoğun grafik gücü gerektiren işlemlerde otomatik olarak harici ekran kartı seçiliyor.

Linux tarafında ise, ekran kartı geliştiricileri sağolsunlar, düzgün sürücü çıkaramadıkları için bu özelliği doğrudan kullanma şansımız olmuyor. Camiadaki yetenekli arkadaşlar ise, NVidia grafik kartları için, “Project Bumblebee” adında bir proje geliştirerek, çift ekran kartı kullanımına bir çözüm üretmişler. Kurulumu ve kullanımı çok basit olan bu proje, Linux üzerinde oyun oynamayı olanaklı hale getiriyor. Hele ki, Steam’in Linux sürümünün çıktığı bu günlerde, ekran kartı kullanımı önemli olacaktır.

project-bumblebee

Bumblebee sürücülerini kurmak çok basit. Öncelikle, Bumblebee kaynağını apt uygulamamıza eklememiz gerekiyor:

$> sudo add-apt-repository ppa:bumblebee/stable

Daha sonra, güncel NVidia sürücülerini yükleyebilmek için, aşağıdaki kaynağı da tanıtmamız lazım:

$> sudo add-apt-repository ppa:ubuntu-x-swat/x-updates

Bu kaynakları ekledikten sonra, paket listesini güncellememiz gerekli:

$> sudo apt-get update

Güncellemeden sonra, aşağıdaki komut ile bumblebee ve ilgili paketleri yükleyebiliriz:

$> sudo apt-get install bumblebee bumblebee-nvidia linux-headers-generic

Bu yükleme işlemleri bittikten sonra, Linux’u yeniden başlatmamız iyi olacaktır.

Yükleme tamamlanınca, maalesef çalıştırdığımız uygulamalarda otomatik olarak grafik kartı seçimi yapılamıyor. Bunun için, çalıştıracağımız uygulamayı, “optirun” komutu ile çalıştırmamız gerekli. Mesela, grafik sürücülerini test için kullanılan glxgears uygulamasını (sudo apt-get install mesa-utils komutu ile kurulabilir) normalde şu şekilde çalıştırırız ve ortalama fps çıktısı şu şekilde olur:

$> glxgears
299 frames in 5.0 seconds = 59.705 FPS
299 frames in 5.0 seconds = 59.624 FPS
299 frames in 5.0 seconds = 59.625 FPS
299 frames in 5.0 seconds = 59.642 FPS

Bu uygulamayı, güçlü ekran kartı ile çalıştırmak içinse optirun komutunu kullanmamız gerekli. fps sonuçları arasındaki fark kendisini belli ediyor:

$> optirun glxgears
3789 frames in 5.0 seconds = 757.724 FPS
3469 frames in 5.0 seconds = 693.529 FPS
3738 frames in 5.0 seconds = 747.387 FPS
3473 frames in 5.0 seconds = 694.523 FPS

Kısayol ile kullandığımız uygulamalarda ise, kısayolu modifiye ederek çalıştırılan komutun başına “optirun” ekleyerek güçlü grafik kartı kullanımını sağlayabiliriz:

optirun steam

Hadi gidin şimdi Linux üzerinde biraz oyun oynayın bakalım.

Kaynak: https://wiki.ubuntu.com/Bumblebee

Facebook ve Google+ Sayfaları Açıldı

Ameleler,

Sosyal medya üzerindeki Twitter varlığı üzerine Facebook ve Google+ sayfalarını da ekledim. Artık bu iki platform üzerinden de takip edebilirsiniz yazdıklarımı. Takip edin, yani takip ederseniz sevinirim. Hatta paylaşırsanız sizi öpebilirim bile 🙂

Facebook: https://www.facebook.com/YazilimAmelesi

Google+: https://plus.google.com/110060776650369997645

Şimdilik şu meşhur resmi logo olarak kullanıyorum, sıkılırsam ya da başım belaya girecek gibi olursa değiştireceğim:

Code HTML for Food

Code HTML for Food

Önerilerinize de açığım tabi logo için..

Kolay gele..

Düzenleme: Yeni logo hazırladım, yukarıdaki resim artık emekli oldu.