garen.yöndem launching ...3 ...2 ...1

Getir & BiTaksi Hackathon Macerası

30. Mart 2017 09:00by Garen Yöndem

Yaklaşık bir hafta önce başvuru yaptığım Getir & BiTaksi hackathon’u geçtiğimiz hafta sonu gerçekleşti. Bu sene yoğun başvuru miktarıyla başa çıkabilmek için, geçtiğimiz yıldan farklı olarak ön eleme sistemini devreye sokmuşlar. Başvuru yapmak isteyen herkesin öncelikle tamamlaması gereken ufak bir projesi vardı. Dolayısıyla bu yılki hackathon katılımcılarının kalite standardının yükseldiği çıkarımını yapmak yanlış olmaz sanıyorum. Bu yılki hackathonun diğer bir farkı ise BiTaksi’nin de organizasyona dahil olması.


Getir ve BiTaksi Hackathon Macerası - garen.yondem.com


Hafta içinde tamamlanan ön eleme ve kabul aşamalarından sonra, takim arkadaşım Aleks’le (Mutlu) beraber Cuma akşamı hackathon alanında yerimizi aldık. Diğer katılımcılarla tanışma ve proje konumuzun sunulmasının ardından 48 saatlik maraton başlamış oldu.


Her yeni projede olduğu gibi ilk saatleri fikir bombardımanı ve Github repo’muzu oluşturmakla geçirdik. Mümkün oldukça asgari seviyede tuttuğumuz isterleri belirledikten sonra çalışmaya başladık. Projemiz, kullanıcıların organizatörlerle buluşabilecekleri veya kendilerinin de bir etkinlik organizatörü olabilecekleri bir platform oluşturmaktı. Pek çok açıdan BiTaksi ile benzerlik gösterse de, uygulamada yapacağı iş ile daha bağlantılı olacağı için takımımızın ve uygulamanın adını “Gezdir” koyduk. Geliştirme sürecimiz genel olarak 2-3 saatlik bloklar ve ara durum değerlendirmeleri şeklinde sürdü. En fazla özen gösterdiğimiz şey ise back-end ile client-side implementasyonlarını eş zamanlı ilerletmek oldu. Yani back-end’de bir feature bittiği an, Aleks’in sıradaki işi o feature’un eklenmesi oldu. Böylece 48 saat boyunca senkronize kalmayı başardık.


Getir ve BiTaksi Hackathon Macerası - garen.yondem.com


Getir ve BiTaksi’nin muhteşem ev sahipliği sayesinde sık sık yemek ve eğlence molaları vererek çok daha motive şekilde çalışmaya kaldığımız yerden devam edebildik. Bu noktada etkinliğin lojistik kısmında emeği geçen herkesi tebrik etmem gerek. Bir hackathon’da olması beklenen her şey fazlasıyla vardı. Yeni insanlarla tanışma imkanı, yeni teknolojileri öğrenme fırsatı, sınırsız ücretsiz yemek, hackathon tshirt’ü ve sonunda ödül!


Final günü gün doğarken projemizi yüzde doksan oranında tamamlamıştık. Son detayları ve testlerimizi tamamladıktan sonra sunumların yapılacağı salona geçtik. “Ekleseydik daha güzel” olurdu dediğimiz özellikleri yolda konuşurken, aniden, ilk sunum için çağırılınca heyecanımız ikiye katlandı. Bilirsiniz genelde ilk sunumu yapan olmak dezavantajlı bir durumdur. Buna rağmen iyi iş çıkardık sanırım.


Getir ve BiTaksi Hackathon Macerası - garen.yondem.com


Herkes sunumunu tamamladıktan sonra sonuçlar için bir saat kadar beklememiz gerekti. Her takım gibi bizim de derece beklentimiz vardı. Sonuçlar açıklanmaya başlandığında üçüncü veya ikinci olmadığımızı gördüğümüzde benim umudum oldukça azaldı. Kısa bir süre sonra birinci açıklandığında kulaklarımıza inanamadık, birinci olmuştuk. O anda bir 48 saat daha aralıksız çalışabilecek kadar mutlu ve motive oldum.


Getir ve BiTaksi’ye böyle güzel bir etkinliğe ikinci kez ev sahipliği yaptıkları için çok teşekkürler. Bu arada, Serhat Karakaya’nın verdiği bilgiye göre de yakın gelecekte bu etkinliğin tekrarlarını yapmaktan vazgeçmeye niyetleri yok!

Projemize buradan ulaşabilirsiniz.


Görüşmek üzere!

Surface Book Değerlendirmesi

11. Ekim 2015 15:00by Garen Yöndem

Microsoft’un Yaz başında duyurduğu Windows 10 Devices etkinliği geçtiğimiz Salı günü gerçekleşti. Etkinlikte Microsoft’un yeni cihazlar duyurması bekleniyordu hatta deyimi yerindeyse yeni cihazların yağmur olup yağacağı söylentiler arasındaydı ve beklenen oldu. Microsoft altı yeni cihazın, Band 2, Lumia 950 & 950 XL, Lumia 550, Surface Pro 4 ve Surface Book’un lansmanını yaptı. Etkinliğin temposu hiç düşmedi, her cihaz kendi kategorisinde inovatif ve iddialıydı. Benim için en şaşırtıcı değişikliklerden biri de Panos Panay’ın sunum yapma yetenğindeki gelişme oldu. Yeni pozisyonunun getirdiği motivasyondan kaynaklanıyor olsa gerek, super iş çıkardı :).


Surface Book Değerlendirmesi - garen.yondem.com


6 Ekim 2015 tarihi ileride hatırlanması gereken bir tarih olarak tekrar karşımıza çıkacaktır, dolayısıyla bu zamanları iyi değerlendirmek gerek. Uzun yıllar sonra Microsoft basının 100%’üne yakın kesiminden olumlu yanıtlar almaya başladı. Windows 10 lansmanından bu yana Microsoft hakkında en ufak bir kötü eleştiriye dahi rastlamak zorlaştı. Bu başarının arkasındaki etkenler ise Satya Nadella ile yeni Microsoft’un hedeflerinin daha net olması ve onlara sadık kalması gibi görünüyor. Bunu etkinlik boyunca Panos Panay’ın söylemlerinden de anlamak mümkündü. 2007’de başlayan ve Microsoft’un uzun süre seyirci kaldığı iPhone, Android furyasından sonra artık yeni bir çağ başlıyor gibi, ne dersiniz? Gelecek, 2in1 ve Continuum konseptlerinin günlük hayatımızın bir parçası olacağına işaret ediyor.


Lafı daha fazla uzatmadan Surface Book’a geçelim. Herkesin hem fikir olduğu gibi, Microsoft son yılların en iyi “one more thing” olayına imza attı. Surface Book etkinliğin sonuna bomba gibi düştü, Microsoft’a en yakın basın mensuplarının bile haberi olmayan (ve hayret verici şekilde hiç sızdırılmayan) cihaz sıradan bir dokunmatik ekranlı ultrabook gibi lanse edildi. Ardından tam her şey bitti darken şaka gibi lansıman videosunun devamı gösterildi ve Surface Book’un 2in1 olduğu ortaya çıktı. Panos Panay’ın bu süreçdeki oyunculuğuna da hayran oldum doğrusu.



Donanım ve Tasarım

Yaklaşık bir sene önce laptop’ımı değiştirmek için piyasa araştırması yaptığımda, Surface Pro 3 haricindeki 2in1 seçeneklerinin çok zayıf olduklarını görmüştüm ve Asus Zenbook UX303LN ultrabook almaya karar vermiştim. Surface Pro 3’ün benim için yetersiz olmasındaki sebepler ise, maksimum 8GB Ram'inin olması ve harici ekran kartının olmaması. Surface Pro 4 ile 8GB ve 16GB Ram olarak iki farklı seçenek duyuruldu fakat harici ekran kartı konusunda bir gelişme olmadı. Neyseki, hem Surface Pro 4 hem de Surface Book Intel’in güncel 6th gen Skylake işlemcilerini kullanıyorlar ve on-board grafik performansları bir önceki nesillerinden daha üstün.


Surface Book Değerlendirmesi - garen.yondem.com


Microsoft, Surface Book ile bu boşluğu da doldurmayı hedefliyor. Surface Book piyasada şimdiye kadar hiç görülmemiş bir mühendislikle klavye kısmında Nvidia GeForce GPU ve ekran kısmında Intel Skylake işlemci barındırıyor. Aynı zamanda her iki modülün de kendi pilinin olması tablet olarak kullanıma da imkan sağlıyor. Böylece klavye ile birlikte kullanıldığında, sisteme hem ekstra batarya hem de Nvidia GPU’nun gücü eklenmiş oluyor. Anakartın her iki modüle de yayılmış olması açısından, bu tasarım bir ilk ve harika.


Bu tasarımın ihtiyaç duyacağı güçlü bağlantıyı sağlamak için de Microsoft, Muscle Wire Lock adını verdiği bir kilit mekanizması geliştirmiş. Bu mekanizma hem sistemi güvenilir şekilde bir arada tutuyor, hem şarj olurken gelen enerji ile daha da güçlenerek sıkılaşıyor.


Surface Book Değerlendirmesi - garen.yondem.com


Bir diğer önemli tasarım özelliği ise Microsoft’un Dynamic Fulcrum adını verdiği menteşesi. Aslında Lenovo’nun Yoga 3 Pro modelinde kullandığı menteşe oldukça benziyor. Microsoft bu tasarımdan esinlenmiş olmalı fakat bir adım daha ileriye götürüyor. Dynamic Fulcrum menteşesi klavyenin kapladığı yüzey alanını genişleterek, genelde ucuz 2in1’larda gördüğümüz ekran kısmındaki ağırlıktan dolayı ağırlık merkezinin geriye kaçmasını engellemiş.


Surface Book Değerlendirmesi - garen.yondem.com


Surface Book’da bulabileceğiniz teknik özellikleri ise şöyle;


  • 13.5” Pixel Sense ekran

  • 6th Gen (Skylake) Intel Core i5 / i7

  • 3000 x 2000 çözünürlük, 267 ppi yoğunluk, 3:2 en-boy oranı, dokunmatik

  • 128GB – 1TB aralığında SSD depolama seçenekleri

  • 8 veya 16 GB Ram

  • Nvidia GeForce 1GB GDDR5 GPU

  • Stereo Hoparlörler – Dolby Audio

  • 802.11ac WiFi, BT4.0

  • Işık sensörü, akselerometre, jiroskop, manyetometre


Kapanış

Microsoft’un Surface Book ile Macbook Pro’yu hedef aldığına şüphe yok. Zaten sunum sırasında da Surface Book’un güncel Macbook Pro’dan 2kat hızlı olduğunu belirttiler. Apple’ın son kullanıcıya güçlü donanım satma konusunda ne kadar mütevazi olduğunu göz önüne alacak olursak, Macbook Pro ile yarışacak bir cihaz üretmek zaten zor değil. Bu noktada önemli olan, tasarım olarak da “değerli” imajını son kullanıcıya aktararak +1500$ seviyelerinde Apple’ın hakim olduğu %6’lık PC piyasasını kapmaya çalışmak. Çünkü son verilere göre dünya çapında PC satışları düşerken, satış hacmini en fazla büyüten marka Apple oldu. Aksi bir durumda Microsoft kendi partnerleriyle rekabet ediyor olacaktı. Bu arada, Dell, HP vb. Bütün donanım partnerlerinin etkinlikten önce Surface Book’dan haberi olduğu da dedikodular arasında. Buna rağmen nasıl sızdırılmamış hayret.


Surface Book Değerlendirmesi - garen.yondem.com


Sonuç olara Surface Book’un da kardeşi Surface Pro gibi piyasaya iyi geleceğini, piyasayı yönlendireceğini düşünüyorum. Surface serisi tam anlamıyla, Microsoft’un gelcek vizyonunu ve Windows’un geleceğini ifade ettiği bir seri haline dönüşüyor.


Görüşmek üzere!

Visual Studio 2015’te XAML Formatını Değiştirmek

2. Ağustos 2015 11:00by Garen Yöndem

Burada paylaşma fırsatı bulamadığım son zamanlarda, Android uygulamaları geliştiren ekiplerde yer almaya ve dolayısıyla Java + Android Studio kullanmaya başladım. Bundan sonra giriş seviyesinde de olsa Android ve Java tecrübelerimi ve maceralarımı da fırsat buldukça paylaşmaya çalışacağım. Fakat bugün Android Studio’da kullanmaya alıştıktan sonra kendimi daha rahat hissettiğim ve aynı ortamı Visual Studio’da da yaratmaya çalıştığım, XML ve XAML kod formatlama özelliğinden bahsedeceğim.


Bahsettiğim özellik esasında kodun görünüşünü değiştirmekten ötesi değil. Android Studio kullanmış olanlar zaten biliyordur, o ortam için varsayılan ayar bu şekilde (yanılmıyorsam). Layout yani XML kodlarına baktığınızda XML elementlerinin her property’si bir satırdan oluşuyor. Bu davranış layout kodunun dosya boyutunu oldukça büyütüyor ancak, kodu çok daha okunaklı ve aradığınız property’i bulmanızı kolay kılıyor.


Bu özelliği Visual Studio 2015’te etkinleştirmek için; Tools > Options > Text Editor > XAML > Formatting > Spacing yolunu takip ettikten sonra ulaşacağınız aşağıdaki pencerede, her property’yi ayrı satıra yerleştirme özelliğini bulabilirsiniz.


Visual Studio 2015’te XAML Formatını Değiştirmek - garen.yondem.com


Ayarlamayı kaydettikten sonra mevcut XAML sayfalarında Edit > Advanced > Format Document seçeneğini seçerek kodu aşağıdaki şekilde formatlayabilirsiniz.


Visual Studio 2015’te XAML Formatını Değiştirmek - garen.yondem.com


Görüşmek üzere

Asus Zenbook UX303LN Incelemesi

26. Ocak 2015 10:00by Garen Yöndem

Üç aydır aktif olarak kullandığım Asus'un Zenbook UX303LN modelini artık inceleme zamanım geldi. Önceki Dell XPS (L502X) laptop’ımın yerini alan Zenbook, oldukça ince ve hafif bir yapıya sahip. Ancak bu hafiflik kasasındaki donanımın gücüyle doğru orantılı değil.


Devam etmeden önce ufak bir not: Bu yazıda bahsedilen dahili donanım özellikleri farklı seri numaraları ile veya distribütörlere göre çeşitlilik gösterebilir.


İlk İzlenim

Zen, üzak doğu kültürlerinde vücut ve zihnin dengesini ifade eder. Bu dengeyi teknoloji dünyasına taşıyan Asus Zenbook’lar için ise Zen, tasarım ve güç anlamına geliyor. Dolayısıyla Zenbook’lar genellikle olabilecek en ince kasada, olabilecek en iyi donanımla ve her zaman yüksek fiyat etiketiyle karşınıza çıkar.



Zenbook’ların estetik ve güç odaklı serilerinden olan UX303LN etiketinin hakkını fazlasıyla veriyor. Piyasada yaptığım uzun araştırmalar sonucunda, aynı boyut ve donanımsal gücü bir araya getirebilen farklı bir modele rastlamadım. Özellikle harici ekran kartından dolayı neredeyse rakipsiz diyebilirim. İlerleyen kısımlarda bu konudan daha detaylıca bahsedeceğim.


Donanım

Zenbook UX303LN modeli Asus’un Zen prensibini sürdüren üst düzey bir model. 13.3inch’lik dokunmatik ekranı, 3200x1800px çözünürlükte ve 276ppi yoğunluğundaki bir IGZO IPS panelden oluşuyor. Kasanın içinde ise, Intel’in 4’üncü jenerasyon Haswell işlemcilerinden i7-4510U, 12GB 1600MHz hızında Samsung DDR3 RAM, Nvidia GT840M ekran kartı, Intel Wireless AC-7260 Combo kartı ve 256GB SanDisk SSD bulunuyor. Ayrıca SDHC kart okuyucu, HDMI, mini-DisplayPort, Wireless 802.11 AC, Bluetooth 4.0, kulaklık+mikrofon combo portu ve 3 adet USB 3.0 portu ile, cihazın bağlantı seçenekleri de çoğu rakibinden fazla.


Fiziksel ölçüleri ise şöyle; 32.2cm genişlik, 22.3cm derinlik, 1.8cm yükseklik, 1.4kg ağırlık.


Performans

Daha önce bahsettiğim gibi, laptop’ı üç aydan fazla bir süredir her gün iş ve eğlence için kullanıyorum. Dolayısıyla cihazın performansını her açıdan değerlendirebilecek kadar deneyimleme şansım oldu.


Gücünü Intel’in i7-4510U 2.0GHz çift çekirdekli işlemcisinden alan cihaz, üst düzey SSD hızı ve 12GB’lık geniş RAM’le de birleşince iş hayatında ve özellikle development araçlarında akıcı performans sağlıyor. Uzun çalışma saatlerinde açılan birkaç Visual Studio session’ını veya VM’ler de yetersiz RAM’den dolayı sorun olmaktan kurtuluyor. Büyük projelerde build sürelerinin azalması da nispeten her i7 Haswell işlemci için geçeri olabilecek bir diğer avantaj. (Benzer durum render yapanlar için de geçerli)


4510U’nun getirilerinden bir diğeri de dahili HD 4400 grafik yongası. Bu yonga Windows uygulama mağazasındaki bütün oyunlar ve full HD MKV formatındaki filmler için fazlasıyla yeterli. Skyrim veya Diablo 3 gibi daha fazla güç gerektiren dev yapımlar için ise Nvidia GeForce GT840M ekran kartı 2GB harici VRAM’iyle devreye giriyor. Nvidia’nın orta seviye mobil ekran kartlarından olan GT840M, 1029MHz hızında çalışan 384 shader çekirdeğe ve 64-bit işlem arayüzüne sahip. Rakamlar standartların üstünde değil ancak harici ekran kartının olmadığı sistemlerle kıyaslanamayacak kadar olumlu fark yansıtıyor.


Nvidia GeForce GT840M’in Asus Zenbook UX303LN’deki performansını görmek için birkaç oyundan oluşan test videosunu izleyebilirsiniz.



Tüm bu lüks donanımı sırtlayabilecek batarya da en önemli bileşenlerden biri. UX303LN 50Wh ve 4300mAh kapasiteli Li-Po bataryası ile 8 saat normal kullanım süresi vaat ediyor. Ancak kendi test sürecimde 6’ıncı saati tamamlarken pil %10 doluluk seviyesine indi. Nvidia ekran kartının dahil olduğu oyun testinde ise %10’a inmek 1 saat 50 dakika sürdü.


Son Karar

Asus Zenbook UX303LN alüminyum kasası, güçlü donanımı, harici ekran kartı (büyük bir artı), dokunmatik ekranı ve taşınabilir yapısı ile ultrabook kategorisinde neredeyse rakipsiz. İşlerinizi yaparken sizi yavaşlatmayacak aynı zamanda da tatmin edici oyun performansı sunacak bir ultrabook arayışındaysanız Zenbook UX303LN tam size göre diyebilirim.


Görüşmek üzere, takipte kalın!

Visual Studio Task List (Görev Listesi)

31. Ekim 2014 12:00by Garen Yöndem

Geliştirdiğimiz bireysel projelerde veya yıllarca geliştirilmesine devam edilen kurumsal uygulamalarda sık sık kodların arasında comment’ler görmeye veya görmeyi ummaya :) alışığız. Commentler çoğu zaman algoritmaların veya kodun akışının anlaşılabilmesi için kritik önem taşımaktadır. Her ne kadar mantıklı ve tutarlı isimlendirmelerle okunabilir ve kolay anlaşılabilir kod yazmak mümkün olsa da felaket senaryolarında comment yazmak can simidi görevi üstlenebiliyor.


Peki, yapılan eylemi anlatmanın dışında, yapılacak eylemi anlatmak için ne kullanmalı? Bu durumda işin rengi biraz değişiyor ve farklı ihtiyaçlar beliriyor. Bu ihtiyaçlardan bazıları; yapılacak iş projenin neresinde?, yapılacakların listesi nerede?, işlerin öncelik sırası nasıl?.


Visual Studio Task List (Görev Listesi) - garen.yondem.com


Visual Studio’da tam da bu tip ihtiyaçların giderilmesini hedefleyen ancak pek az developerın kullandığı Task List (Görev Listesi) penceresi mevcut. Task List penceresine Visual Studio menüsünden “View > Task List” yolunu takip ederken ulaşabilirsiniz.


Visual Studio Task List (Görev Listesi) - garen.yondem.com


Açılacak pencere ana hatlarıyla dropdown menüden ulaşabileceğiniz User Tasks ve Comments kısımlarından oluşuyor. User Tasks kısmında projenizle ilgili görevlerin listesine ulaşabilirsiniz. Yeni görev oluşturmak için sağ üstteki butonu kullanmalısınız. Görevi tanımladıktan/yazdıktan sonra üzerine sağ tıklayarak öncelik sırasını da belirleyebilirsiniz. Görevi tamamladıktan sonra ise yapmanız gerekeni yukarıdaki ekran görüntüsünden anlamışsınızdır. :)


Visual Studio Task List (Görev Listesi) - garen.yondem.com


Comments kısmı ise bende olduğu gibi size de User Taks kısmından daha kullanışlı gelebilir. Çünkü size kodun herhangi bir yerine bıraktığınız not’la ilgili, bulunduğu sayfa ve satır gibi daha detaylı veriler sunuyor. Ayrıca comment’in üzerine çift tıklayarak doğrudan commentin bulunduğu yere ulaşmanız mümkün.


Visual Studio’da önceden tanımlanmış ve Task List’in indeksleyebildiği üç adet comment keyword'ü mevcut. Bunlar; TODO:, HACK: ve UNDONE:. Ancak bu üç keyword’ün yanı sıra kendi custom keyword’lerinizi de tanımlayabilirsiniz


Visual Studio Task List (Görev Listesi) - garen.yondem.com


Task List için tanımlanmış keyword’lere Visual Studio menüsünden "Tools > Options > Environment > Task List" yolunu takip ederek ulaşabilirsiniz. Yeni bir keyword oluşturmak için öncelikle ismini belirlemeniz gerekiyor, ardından “Add” butonu aktif hale gelerek yeni keyword’ünüzü listeye eklemenize imkan sağlıyor.


Visual Studio Task List (Görev Listesi) - garen.yondem.com


Yeni keyword’ü ekledikten sonra onu da diğer keywordler gibi kullanmaya başlayabilirsiniz. Ancak bu aşamada özellikle şirket içi keyword oluşturmak isteyenlerin dikkat etmesi gerek bir konu var. Tanımlanan keyword’ler sadece local Visual Studio’da geçerli olacak. Dolayısıyla projeyi takım arkadaşınız kendi bilgisayarında açtığı zaman veya farklı senaryolarda proje farklı bir Visual Studio ortamında açıldığı zaman, Task List sizin oluşturduğunuz keyword ile yazdığınız commentlere ulaşamayacak. Ne yazık ki bu problemi aşmanın en sistematik yolu da Visual Studio ayarlarını export ederek diğer Visual Studio’ya taşımak.


Görüşmek üzere, takipte kalın!