25 Aralık 2009 Cuma

Samsung Star Wi-Fi ve Windows Mobile 5.0

Windows Mobile 5.0 kurulu HTC Qtec 8500 Strtrk telefonumun bozulması ve tamirinden ümit kesilmesi üzerine Samsung Star Wi-Fi telefon aldım. Eskiden yeniye geçişte gördüğüm farklılıkları bir yazayım istedim.


Adres Defterinde Arama

Eski telefonumda adres defterinde arama çok kolaydı. Rehbere girip aramak istediğim kişinin adındaki veya soyadındaki harflerin tuşlarına bir defa basarak veya telefon numarasını ezbere biliyorsam numaranın herhangi bir yerindeki birkaç numarayı tuşlayarak kolayca aradığım kişiye ulaşabiliyordum. Mesela Nilüfer Turizm'e ulaşmak istediğimde T harfi için 8'e, U harfi için 8'e ve R harfi için 7'ye bastığımda turizm şirketleri dışındaki isimler filtrelenerek bütün turizm şirketleri görüntüleniyordu. Böylece Ankara'ya gitmek için Nilüfer Turizm'i seçmeye çalışırken Anka Turizm'in de bir alternatif olarak var olduğunu hatırlayabiliyordum.

Şimdiki telefonumda en çok aradığım özellik bu. Samsung Star Wi-Fi'da ismin ne şekilde kayıtlı olduğunu bilmem gerekiyor. Nilüfer Turizm için ya listeyi N harfine kadar kaydırmam ya da arama kutusuna ilk birkaç harfini yazıp aratmam gerekiyor.

Alarmlar

Önceki telefonumda alarmlar çok kötüydü. Sadece 1 tane alarm kurulabiliyordu. İkinci bir alarm kurabilmek için üçüncü parti bir yazılım kurdum makineme. Fakat 2 alarm da işimi görmüyordu. Sonra bu problemi Outlook ile senkronizasyon yaparak çözebileceğimi fark etmiştim. Bilgisayarda Outlook içerisine günlük randevu kurarak cep telefonumla senkronize ediyordum.

Önceki telefonun kötü bir özelliği de telefon kapalı olduğu zaman alarmların çalmıyor olmasıydı.

Şimdiki telefonumda ise 10 tane alarm kurabiliyorum. Bu bana fazlasıyla yetiyor. Ayrıca telefon kapalı da olsa alarmlar çalıyor.

Şifreli Notlar

Bankacılık şifrelerimin ayda bir veya 45 günde bir değişmesi gerektiği için bu uzun şifreleri ezberimde tutmam zorlaşıyordu. O yüzden bu şifreleri cep telefonumda tutmaya kara vermiştim. HTC'den önceki telefonumda bazı notlara erişim için şifre koymak mümkündü. HTC'de ise böyle bir özellik yoktu. Ben de kendim bunun için C# dilinde bir program yazıp telefonuma yüklemiştim. Program çalışınca şifre soruyordu ve böylece bütün notlara şifreyle ulaşılıyordu.

Şimdiki telefonumda ise telefonun bazı parçalarına erişim için şifre konulabiliyor. Mesela Notlar programcığına girilirken veya tarayıcı açılırken şifre istenmesi sağlanabiliyor.

Telefon Numaralarının SMS ile Gönderilmesi

Bir arkadaşım telefon edip "falanın telefon numarasını mesajlayabilir misin?" diye sorduğunda eski telefonumda bunu yapamıyordum. HTC, telefon numarasını sadece MMS ile gönderebiliyordu. Ben de kendim program yazıp SMS ile gönderme özelliğini eklemiştim.

Şimdiki telefonumda ise bu özellik gayet güzel bir şekilde mevcut.

İkinci Cep Telefonu

Bazı arkadaşlarımın iki tane hattı olduğu için bu numaraların ikisini de rehberimde tutmam gerekiyor. Eski telefonumun rehberinde ikinci cep telefonu için bir alan mevcut değildi. Ben de ikinci numarayı ya iş telefonu olarak, ya ikinci iş telefonu, ya da ikinci ev telefonu olarak kaydediyordum. Bu da tabii ki kafa karıştırıcı oluyordu.

Şimdiki telefonumda herkesin 5 telefon numarası tutulabiliyor (öncekinde daha fazlaydı). Fakat bu numaraların isterseniz hepsini cep telefonu olarak kaydedebiliyorsunuz. Ya da mesela ikisini cep, ikisini ev, birini iş telefonu olarak seçebiliyorsunuz.

Samsung'un rehberi daha sade ama HTC'ninkine göre bence daha kullanışlı.

Sonuç

Netice olarak yeni dokunmatik ekranlı telefonumdan oldukça memnunum. Eksikliklerini gidermek için beni program yazmak mecburiyetinde bırakmıyor :)

Not: Yeni telefonu aldıktan sonra eskisinin tamir edildiğini öğrendim. Sevinsem mi üzülsem mi bilemedim.

Bugünün İşini Yarına Bırakma

Az önce Outlook'a kurduğum "Çiçekleri sula" hatırlatması ekranda belirince "Bir daha hatırlatma" düğmesine basıp, çiçekleri sulamadan mail'lerime bakmak üzereydim ki, "Ne yapıyorum ben yahu?" dedim ve kalkıp çiçekleri suladım.


Bugünün işini yarına bırakmamak lazım. Madem ki hatırlatma kurulmuş, hatırlatma çaldığı anda o işi yapmak lazım. Sonraya bırakınca kalıyor.

Bu satırları yazarken cep telefonuma kurduğum bir hatırlatma çaldı. Okuldaki pilleri eve götürmeyi unutmamak için kurmuştum bunu. Aldığım dersin ve kararın etkisiyle hemen yazıyı yazmaya ara verip pilleri çantama attım.

İnsanın ara sıra böyle radikal kararlar alması gerekiyor.

3 Nisan 2009 Cuma

C#'ta ?? operatörü

C#'ta daha önce hiç karşılaşmadığım bir operatörle karşılaştım: "??" Daha da ilginci, bu operatörün ne olduğunu araştırınca bir de "?" operatörü ile karşılaştım. "?:" operatörünü biliyordum ama bu ikisini ilk defa görüyorum.


"??" operatörü, bir "binary operator", yani toplama, çıkarma operatörleri gibi sağına ve soluna operand olan bir operatör. Sol taraftaki operand null değilse onu döndürüyor, null ise sağdakini döndürüyor.

Mesela:

string s = null;
string y = s ?? "Undefined";

Bu örnekte s'nin değeri null olduğundan, y'nin değeri "Undefined" olacak. s, null olmayan bir string olsaydı, x'in değeri y'ye kopyalanacaktı.

Gelelim "?" olayına... Normalde bir string değişken null değeri alabilir ama bir int değişkenin değeri null olamaz. Ama siz değeri null olan bir int değişkeni tanımlamak istiyorsanız bu değişkeni int tipinde değil de int? tipinde tanımlayabiliyorsunuz.

Mesela:

int x = null;

yazdığınızda derleyici hata verir; çünkü int değişkene null değeri atanamaz. Ama,

int? x = null;

yazarsanız derleyici hata vermez. Bu tür null değeri alabilen tiplere "Nullable Types" deniyormuş.

"??" operatörü C# 2.0 versiyonundan itibaren kullanılabiliyormuş.

Peki böyle bir operatöre neden ihtiyaç duyulmuş?

Veritabanlarında alanların tipini belirleyebiliyoruz ama bu alanlara değer girilmezse oradaki değer null olarak tutuluyor. Veritabanından gelen değeri, null olamayan bir değişkene atamaya çalışırsanız çalışma zamanı hatası meydana geliyor. Bu yüzden veritabanından gelen verilerin null olup olmadığını kontrol etmek gerekiyor.

Bu problemin üstesinden gelmek için ben kodlarımı şöyle kullanıyordum:

string duyuru = (dbRow["Duyuru"].GetType() != typeof(DBNull)) ? (string)dbRow["Duyuru"] : string.Empty;

Buradaki dbRow, veritabanından gelen bir kaydı gösteriyor. Bu kayıttaki "Duyuru" alanını çekmek için dbRow["Duyuru"] kullanılıyor. Fakat bu ifade, geriye bir "object" sınıfından bir nesne döndürüyor. Dolayısıyla o satırdaki duyuru null ise, dbRow["Duyuru"] ifadesi geriye bir DBNull nesnesi döndürüyor. Bunu string'e çevirmeye çalıştığınızda da hata meydana geliyor. Bundan dolayı ifadenin tipinin DBNull olup olmadığı kontrol edilmeli. Eğer DBNull ise, duyuru string'ine boş bir string atanmalı.

?? operatörünü öğrendikten sonra yukarıdaki satırı şu şekilde yazmak mümkün olacak diye tahmin ediyorum (ama denemem lazım):

string duyuru = (string)dbRow["Duyuru"] ?? string.Empty;


19 Mart 2009 Perşembe

Mavi Liman

Çok yorgunum, beni bekleme kaptan
Seyir defterini başkası yazsın
Çınarlı, kubbeli, mavi bir liman
Beni o limana çıkaramazsın

Sürekli dilime dolanan bu Cem Karaca şarkısının sözlerini ben daha uzun sanıyordum ama sadece bu kadarmış. Sözler, Nazım Hikmet'e aitmiş. Cem Karaca'nın mp3 CD'sini bulunca hemen dinleyip küçük bir araştırma yaptım ve bu bilgileri sitemin takipçileriyle paylaşmak istedim.

5 Mart 2009 Perşembe

Bilgisayara Kurulacak Programlar

Bilgisayarımı formatlayıp XP hayatıma son vererek Vista'ya geçiş yaptım. Bilgisayarı formatlayınca kurulacak programların bir listesini hazırlamanın uygun olacağını düşündüm. Listeyi sonradan ulaşabilmek için aşağıya yazıyorum:


  1. İşletim sistemi
  2. Donanım sürücüleri
  3. Antivirüs programı
  4. Windows Update
  5. Daemon Tools (.iso uzantılı dosyaları CD/DVD sürücüsü gibi göstermeye yarayan bir program)
  6. Office 2007
  7. Office 2007 ile gelen Groove programıyla ev ve iş bilgisayarımdaki dosyaların senkronize edilmesi
  8. Google Chrome
  9. Firefox
  10. Acrobat Reader
  11. WinRAR
  12. Visual Studio, MSDN ve Service Pack'leri
  13. MATLAB
  14. DivX Codec'leri (K-Lite Mega Pack kullanıyorum)
  15. Nero
  16. PrimoPDF
  17. MSN Messenger
  18. Google Talk
Outlook dosyamı yedeklemeyi genelde unutmuyorum ama bu sefer Google Chrome'daki yer imlerimi yedeklemeyi unutmuşum. Bir dahaki formatta unutmasam iyi olacak.

13 Şubat 2009 Cuma

Hediyelik Eşyalar

Bu sabah, sevgililer günü münasebetiyle ne tür hediyeler alınabilir diye bir araştırma yapmaya karar verdim. Konsept olarak sevgililer gününün tamamen ticari bir oluşum olduğunu düşünmekten vaz geçmediğimi de belirtme ihtiyacı hissediyorum. Neyse... Karşıma çıkan bazı ilginç ürünler şu şekilde:


- Sihirli Kurbağa Prens: Bir kabın içinde yeşil bir kurbağa var. Kabı açıp içine su dolduruyorsunuz. Zamanla kurbağa eriyip bir prense dönüşüyor. Suyunu boşaltıp yeniden su ekliyorsunuz. 72 saat sonra prens büyüyor ve orijinal şekline geliyor. İlginç bir deneyim olabilir ama tekrar tekrar kullanma şansınız yok.

- Led Aydınlatma: Yatağınızın baş ucuna veya aydınlatmak istediğiniz herhangi bir yere koyuyorsunuz. Düğmesine basınca ortamı aydınlatıyor. Elektrikler kesildiğinde odaları aydınlatmak için kullanılabilir. Dün 3-4 saat elektriklerimiz kesilmişti. Mum yakmak yerine bunu kullanmak daha güzel olabilir.

- Programlanabilir Mesajlı El Fanı: Buna benzer bir şey bizde vardı. Düğmesine bastığınız zaman fan dönüyor ve sizi serinletiyor; bir yandan da üzerinde kırmızı şekiller beliriyordu. Bunu biraz daha geliştirip programlanabilir hale getirmişler. Fan çalışırken istediğiniz metnin görünmesini sağlayabiliyorsunuz. Dijital veya Mikro İşlemci dersinde öğrencilere gösterilebilir :)

- Lazer Makas: Kâğıt, kumaş gibi şeyleri keserken lazer ışığıyla size yol gösteriyor ve düzgün bir şekilde kesmenizi sağlıyor. Kim düşündüyse iyi düşünmüş :)

- Karınca Yuvası: Dışarıdan 7-8 tane karınca bulup kutunun içine koyuyorsunuz ve karıncaların yaşamlarını izliyorsunuz. Çocuklar için ilgi çekici bir hediye olabilir. Karıncaları yakalayabilmek için çocuk cesareti de gerekiyor.. Ben kendimde o cesareti göremiyorum ne yazık ki :)

- Ayakkabı Boyama ve Cilalama Seti: Sabah işe giderken ayakkabılarınızı süngerle silmek yerine bu ürünle cilalayabilirsiniz. Ayakkabılarınızı boyamaya üşeniyorsanız bu makineyle hızlı bir şekilde ayakkabılarınızı boyayabilirsiniz.