Otobüs simsarlarının doğuşu

UKOME ya da İETT, hangisi sorumlu bilmiyorum ama yeni bir karar alınmış. Artık halk otobüslerinde bilet kesen görevliler bulunmuyor. Yani halk otobüslerini kullanmak için de Akbil ya da elektronik bilet kullanmak zorundasınız. Kayıt dışı kullanımın önüne geçmek adına güzel bir adım, ne var ki duraklarda gerekli alt yapı çalısmaları yapılmadığı için insanlar zor durumda kalabiliyor. Özellikle yerleşim yerlerine uzak olan duraklarda Akbil dolduracak yer bulmak sıkıntı yaratabiliyor.

Bu kararın bir başka iz düşümü de otobüslerde yavaş yavaş ortaya çıkmaya başlayacak simsarlar. Bugün otobüse bindiğimde Akbil’imde yeterli bakiye kalmadığını gördüm. Otobüsten inip Akbil doldurabileceğim bir yer aradım. Tabi bu sırada otobüs beni beklemedi ve otobüsü de kaçırmış oldum. Farkettim ki en yakın Akbil dolum yeri en az 5-10 dakika yürüme mesafesi uzaklığında. Belki uygulama tüm otobüslerde başlamamıştır ümidiyle bir sonraki otobüsü beklemeye başladım. Çok geçmeden geldi ve yine ücretli binemeyeceğimi gördüm. Ne yapacağımı planlarken otobüsün içindeki mülayim yüzlü bir bey, içinde benim de olduğum bir grup Akbil’siz insana, kendi Akbil’ini kullanabileceğimizi, kendisinin Akbil’ini bir kaç durak sonra doldurabileceğini söyledi. Ben dahil herkes durakta beklemek istemediğimiz için bu güzel teklife balıklama atladık.

Minibüslerde duymaya alışık olduğumuz “Ücretini vermeyen kalmasın. Var mı ücretini ödemeyen?” vb. cümlelerin arasında sekiz kişiden para topladı. Arada bir kişiye öğrenci indirimi bile uyguladı. Sonra ön tarafa geçip beş kere Akbil okuttu. O sırada biraz İETT ve UKOME’ye sinirimden, biraz da işimin görülmüş olmasından dolayı pek umursamadım ama eminim önümüzdeki günlerde bu ve benzeri manzaralar ile daha çok karşılaşacağız.

Ofise geldiğimde direkt şu haber ile karşılaştım: Halk otobüslerinde yeni dönem başladı! Habere göre İBB günler öncesinden bu durumu duyurmuş, ama toplu taşıma araçlarını seheri kullanan insanların bu duyuruları takip etmesi çok kolay olmayabiliyor. Acaba bu tip durumları düşünüp bir e-posta listesi kurmuşlar mıdır diye düşünüp İETT web sitesini kontrol ettim. E-Posta Aboneliği başlıklı bir bağlantı görünce çok umutlandım ama anladığım kadarıyla bu sistem de 2009’dan bu yana hiç kullanılmamış; İETT E-Posta Aboneliği arşiv sayfası

Umarım en kısa zamanda yerleşim yerlerine uzak ya da Akbil/Elektronik bilet doldurma imkanı olmayan duraklara gerekli destek sağlanır.

VMWare’e geçit vermeyen FixCamera.exe’yi öldürün!!!

İş yerinde kullandığım Orite RN3700 webcam ile beraber gelen kurulum dosyaları, bilgisayarın açılışında çalışmak üzere FixCamera.exe adlı bir uygulamayı da beraberinde kuruyor. Ne işe yaradığını bulamadığım bu uygulama VMWare uygulama dosyaları ve kurulum dosyaları ile çakışıyor ve ne uygulama dosyalarının, ne de kurulum dosyalarının çalışmasına izin veriyor. VMWare’i ya da VMWare kurulum dosyalarını çalıştırmak istediğinizde, hiç bir hata mesajı almıyorsunuz ve çalıştırmak istediğiniz uygulama da çalışmıyor. Görev Yöneticisinde de VMWare ile ilgili bir iz göremiyorsunuz. Benim gibi olayın FixCamera.exe’den kaynaklandığını bilmiyorsanız bir çok VMWare kaldırma/yeniden kurma vb işlemleri yapmaya çalışabilir, değerli vaktinizi boşa harcayabilirsiniz.

Bir çok başarısız yeniden yükleme denemesinden sonra, probleme farklı bir açıdan yaklaşıp, çalışan diğer uygulamalarla çakışma ihtimalini göz önüne aldım ve görev yöneticisini açıp, bilgisayarın çalışmasını engellemeyecek, çalışan harici uygulamaları teker teker sonlandırmaya başladım. Her uygulamayı sonlandırdıktan sonra VMWare’i tekrar çalıştırmayı deneyim. FixCamera.exe’yi sonlandırdıktan sonra VMWare çalıştı. Mevzuyu hemen yetkili mercilere taşıyıp, yalnız olup olmadığımı kontrol ettim ve yalnız olmadığımı gördüm. Benim gibi bu dertten muzdarip bir kaç kişi daha varmış. Ben de konuyla ilgili Türkçe bir çözümün de internetlerde yer alması için bu yazıyı yazayım dedim.

FixCamera.exe’yi bilgisayarın açılışından gönül rahatlığıyla kaldırabilirsiniz. Kameranız çalışmaya devam edecektir. Açılıştan kaldırmadan VMWare çalıştırabilmek isterseniz bu durumda Görev Yöneticisinden FixCamera.exe uygulamasını sonlandırmanız gerekecektir.

“Could not set the selected property. Unspecified error.” hatası ve olası çözümü

jQuery kullandığım bir projede, seçim kutusu(select elemanı) seçeneklerini(option) değişkende saklayarak, istediğim zaman istediğim kadar kullanmayı planladım. Daha iyi anlaşılabilmesi için ufak bir kod örneği vereyim;

  var secenekler = '<option value="34">İstanbul</option><option value="6">Ankara</option><option value="35">İzmir</option>';
  $('#Baslangic').html(secenekler);
  $('#Varis').html(secenekler);

Buraya kadar bir sorun ortaya çıkmadı. Ne zaman ki, bu şekilde doldurduğum seçim kutularında bir elemanı seçili hale getirmeye çalıştım, işte o zaman Internet Explorer 6’da (IE6) garip bir hata mesajı ile karşılaştım: “Could not set the selected property. Unspecified error.” IE7, IE8, Firefox, Opera, Chrome ve Safari’de sorunsuz bir şekilde çalışırken, IE6 bu şekilde, anlaşılmaz bir hata mesajı ile beni çıkmaza soktu. Seçim yapmak için kullandığım kod öbeğini de eklersek kod örneğimiz şu hale geliyor;

  var secenekler = '<option value="34">İstanbul</option><option value="6">Ankara</option><option value="35">İzmir</option>';
  $('#Baslangic').html(secenekler).val(34);
  $('#Varis').html(secenekler).val(35);

Hata mesajının ilk bölümü, kısmen problemin neden kaynaklandığını açıklasa da ikinci bölümdeki “Belirsiz hata” ibaresi direkt olarak bir çözüme yönlenmemi engelledi. Internetlerde yaptığım ufak bir araştırma ile bu sayfada probleme ve olası bir çözüme ulaştım. Problem IE6’da DOM’un yeteri kadar hızlı çalışamamasından kaynaklanıyormuş. DOM ağacını zamanında hazırlayamadığı için, seçim yapmak istediğimizde seçim kutusunda ilgili elemanı bulamıyor ve ilgili hata mesajını ekrana basıyor.

Problemi çözmek için bir çok alternatif yöntem uygulayabilirsiniz. Problem ile ilgili bilgi bulduğum sayfadaki çözüm, try/catch bloğunu iş akışının bir parçası olarak kullandığından benim gözümde ideal bir çözüm değil. Tabi tercih size kalmış. Benzer bir durum için benim önerebileceğim çözüm şu olabilir;

  var secenekler = '<option value="34">İstanbul</option><option value="6">Ankara</option><option value="35">İzmir</option>';
  var $Baslangic = $('#Baslangic').html(secenekler);
  var $Varis = $('#Varis').html(secenekler);
  if($.browser.msie && $.browser.version === "6.0") {
    setTimeout(function() {
      $Baslangic.val(34);
      $Bitis.val(35);
    }, 1);
  }
  else {
    $Baslangic.val(34);
    $Bitis.val(35);
  }

İşin püf noktası, tarayıcı IE6 ise, seçim işlemlerini 1 milisaniyelik bir gecikme ile gerçekleştirip, bu ufacık gecikme ile DOM’a kendini toparyalabilmesi için zaman tanımak.

Alternatif olarak, imkanınız varsa, seçeneklerden seçili olmasını istediğiniz elemana da selected=”selected” özelliğini atayarak bu hatadan kaçınabilirsiniz. Bu örnekte aynı seçenekleri birden çok kez kullanacağım için ve varsayılan olarak belirli bir tanesini seçili durumda oluşturamayacağım için bu şekilde bir çözüm yoluna gittim.

“Cannot create/shadow copy ‘dll ismi’ when that file already exists” probleminin çözümü

Geçen gün uygulamalarımızın çalıştığı sunucunun olay kayıtlarını incelerken ASP.NET’in sürekli olarak bu hata ile karşılaştığını gördüm. Bunun neticesinde web siteleri kimi zaman cevap veremez duruma geliyordu. Internette biraz araştırma yaptığımda genelde geliştiricilerin Visual Studio’da çalışırken bu hatayla karşılaştıklarını gördüm. Bir süre çözüm aradıktan sonra bu yazıyı bulduk(Engin ile birlikte). Benim gibi bu problemle karşılaşmış ve çözüm yolu arayışındaki başka bir geliştiricinin bulduğu çözümü ben de sizlerle paylaşayım dedim.

web.config dosyanızda system.web elemanına aşağıdaki kod öbeğini ekleyerek sorundan kurtulabilirsiniz.

shadowCopyBinAssemblies özelliği şu şekilde tanımlanmış: Bir Boolean(Evet/Hayır) değeri ile uygulamanın Bin klasöründe yer alan bileşenlerinin, gölge kopyalarının (shadow copy) uygulamanın ASP.NET geçici dosyalar klasörüne kopyalanıp kopyalanmayacağını belirtir.

Umarım işinize yarar.