Outlook 2010′da eski sürümlerden farklı olarak hazırladığımız imza şablonlarını “C:\Program Files\Common Files\microsoft shared\Stationery” dizini yerine kullanıcıya özel “C:\Users\{kullanıcıAdı}\AppData\Roaming\Microsoft\Stationery” dizinine atmamız gerektiğini keşfettim.
Bilgi Çıkarımı alanında yüksek lisans tez çalışmam olan GOTA projesinin çıktılarını web günlüğüme eklemek istedim. Şu an çalışan bir prototip seviyesinde olmasına rağmen yayınlanabilecek birçok teknik edinim barındırmakta. İleride daha detaylı bilgileri yine buradan paylaşmaya çalışacağım. Şimdilik araştırma editörünün kullanım görselini paylaşıyorum.
Video açılmıyor ise youtube’den de izleyebilirsiniz.
Geçtiğimiz gün itibariyle kurumsal bir uygulamada dağıtık önbellekleme(ing. distributed caching) çözümü olarak Velocity kurulumunu ve ayarlamasını gerçekleştirdim. Orta düzey(5…15 sunuculu) bir kümede(ing. cluster) “Grid Dynamics”‘in
performans sonuçlarına yakın bir sonuç elde ettim.
Kendi sunucu kümenize dağıtık önbellekleme çözümü olarak velocity düşünüyorsanız
ilgili dökümanı incelemenizi öneririm.
Bilindiği üzere Biztalk Server ile entegrasyon çözümlerinde düzenli olarak yapılması gereken bakım işlemlerinde atıl durumdaki çalışan(aslında çalışmayan) işlemlerin temizlenmesi gerekmektedir. Temizleme işlemine başlamadan önce unutulmaması gerekenler:
* Receive Location Adaptörlerinin kontrolü (Bazı durumlarda durdurulmaları gerekebilir)
* Adaptörün kullandığı IIS sunucusunun kontrolü (Adaptörle aynı durum söz konusu)
* SQLServer Agent servisinin çalıştığından emin olun.(Biztalk sunucusu çoğu bakım işinde SQLServer Agent’i kullanır.)
Bilişim dışında; etkilendiğim ve derin anlamlar barındırdığına inandığım yazıları da günlüğümde paylaşmak istiyorum. Dostoyevski’nin meşhur eseri “Suç ve Ceza” ‘dan bir paragrafı da yorumsuz ekliyor ve düşünmeye davet ediyorum.
“Raskolnikov uzaklaşırken düşünüyordu: “Nerede okumuştum… Ölüm cezasına çarptırılmış biri sehpaya çıkmadan bir saat önce şöyle söylüyor, ya da düşünüyordu: ‘Yüksek bir yerde, bir kayanın üzerinde ancak iki ayağımı koyabileceğim kadar daracık bir yerde yaşayacak olsaydım dört bir yanım uçurumlarla, okyanuslarla çevrili olsaydı, fırtınalar, zifiri karanlık olsaydı her yanım, kimsecikler olmasaydı yanımda, o daracık yerde öylece bir ömür, binlerce yıl, sonsuza dek yaşamak isterdim! Yaşayabilsem, yalnızca yaşabilsem, yaşayabilsem! Nasıl olursa olsun yaşasam!…’ Ne yaman bir gerçek! Tanrım, ne yüce bir gerçek bu! Ne alçak bir yaratık şu insanoğlu!”
Dostoyevski
LinqToSql ORM çözümünü sqlmetal.exe’nin yayınlanmasından bu yana kullandığımı söyleyebilirim. Hakeza Ado.Net Entity Framework ile de birkaç proje yaptım. Çalışma mantıklarını uzun uzun anlatmak isterdim(Serialization sorunları, henüz implement edilen-edilmeyen metodlar vs.) fakat yeni başlayanlar için kısaca günlüğe not düşmeyi yeterli buluyorum.
Linq2Sql’i seçenlerin çoğu ilk çıkmış olmasının yanı sıra tablodaki tüm kolonların oluşan entity’de scalar property olarak karşılığı bulunmasını savunuyorlar. Malum alışmış insanlar en büyük finansal projelerde bile referans alanlarının karşılıklı atanması(YY.xxId = XX.ID). Gerçi ado.net EF’yi kullananlardan gördüklerim de burada EntityKey’lerin atamasını yapıyor
Efendim fazla uzatmayayım kısaca sade de geleyim benim önerim bunca deneyimimden sonra Ado.Net EF. Eğer projenin veritabanını siz tasarlıyorsanız, veri modelleme ve normalizasyon ilkelerine hakimseniz, servis tabanlı bir uygulamada çalışıyorsanız Ado.Net EF doğru seçim olacaktır.
Diğer yönden proje joker’den elinize düşmüş ise, Linq ile ilk deneyimleriniz ise, veri tabanı ilkel olarak tasarlanmışsa Linq2Sql daha uygun bir tercih olacaktır.
Buna artı olarak kendimin zorunlu kalmadıktan sonra Linq2Entities’ten vazgeçmediğimi belirtmek isterim. Herşeyden iyisi Validation sorununu Enterprise Library Validation Block’a edmgen aracını kullanarak kolayca giderebilirsiniz.
Yalnız bu karardan önce veya sonra ilk yapılması gereken MUTLAKA ama MUTLAKA Linq mantığını çözebilmek yoksa kullandığınız EF’yi daha önceden piyasada olan onlarca entity generator yapısına benzetip yanılırsınız. Buna ilaveten F# diline 1 ay zaman ayırırsanız ne demek istediğim daha rahat anlaşılacaktır.
Bugün, geçmişte uğraştığım ve aklıma geldiğinde boşa gittiğine inandığım geri dönüşüm mühendisliği bilgileri nihayet işime yaradı. Biraz açmak gerekirse geçmişte şahsımında w32dasm, softice, hiew tarzı araçlarla uygulamalar üzerinde manipülasyonlar yapardım. Tek farkım sonuç başarılı olsada olmasada öğrendiğimi not eder çalışmayı silerdim(etik olmadığından sonucu yayınlamayanlardandım).
Kurumlardan birisinin acilen müdehale edilmesi gereken bir yazılım değişikliğine ihtiyacı vardı. Değişiklik küçük olması nedeniyle kolay bir iş gibi göründü başta. Taki projenin kodunun ellerinde olmadığını öğrenene kadar

. İşte geçmişteki tozlanmış know-how bilgilerine ihtiyaç duyduğum an dedim ve koyuldum yıllardır kullanmadığım cd’lerden programları çıkartmaya. Win32Dasm, Dede, UE derken sorunu düzelttim.
Bu konuyu açmamın nedenine gelince, burada şuna değinmek istiyorum. Birtakım yazılım firmaları ne yazıkki alanların da cahil oldukları kadar etik ilkelerden de oldukça uzaklar. Kurumlardaki çalışanların bilgi eksikliğinden faydalanarak, kalitesiz yazılımları(uygun olmayan tabirle) “itmenin” yanı sıra projenin kodunu da vermeyerek(veriyormuş gibi yaparak) akılları sıra müşteriyi kendine mahkum etmeye çalışmaları çok büyük bir ilkelliktir. Bu türden sahtekârlığın faturası ne yazıktır ki yalnızca yapana değil, yapanın taşıdığı sıfata sahip tüm kavramlara kesilmektedir. Diğer yandan, birgün gelirde yazılım sektöründe güvensizliğe dayalı tıkanmalarda artış gözlenirse, yazılım firmaları ve çalışanlar öncelikle kendilerinin etik ilkelere ne kadar bağlı kaldıklarını sorgulamalıdırlar.
UI Engineering notlarını okurken girdi aracı olarak veri eldivenlerinin kullanılmaya çalışıldığını gördüm. Herzamanki gibi bir umut bende inceleyeyim diyerek bir veri eldiveni(ing. data glove) aldım. 2002-2005 yılları arasında parlayan bir konu olmasına rağmen son yıllarda araştırmaların dibe vurduğu, üretici firmaların bir bir iflas ettiği bu cihazı incelemek ne kadar mantıklı bilemiyorum ama kullanması hoş bir duygu. Kendi yanında gelen api’de oldukça çok hata var birkaç unoffical api buldum, C++’la yazılmış birkaç filtreleyicinin ardından ortaya birşeyler çıkmaya başladı. İşimi en çok rahatlatanda hazır C# ile implement edilmiş OSC Framework olmasıydı. Uygulama kısmına geldiğimizde XUI arabirimi henüz teoride olduğundan klasik 3D GUI çözümü olarak GoogleMaps üzerinde bir deneme yaptım.
Birde video çektim ama sanırım kameranın pozisyonunu tam ayarlayamamışım

Birde örneklem hızını teknik nedenlerden dolayı 15 fps yapmak zorunda kaldığımdan ötürü görüntü atlayarak geliyor. Her neyse amaç böyle uygulamalar da yapılıyor demekti +UI mühendisleri için de vizyon taşıyan bir anlam ifade eder sanırım.
Video açılmıyor ise youtube’den de izleyebilirsiniz.
JAX-WS RI 2.1.3 ile birlikte Web servislere
Soap başlıklarını gönderirken kullanılabilecek pratik bir yöntemi paylaşmak istiyorum. wsimport aracı artık -XadditionalHeaders parametresi ile ürettiği istemci kodunda soap başlıklarını metot parametresi olarak üretebiliyor. Böylece WSBindingProvider sınıfını kullanmamıza gerek yok. Ant kullananlarsa wsimport görevine aynı şekilde XadditionalHeaders=true parametresini ekleyebilirler.
Geçenlerde düşündüm download, upload, p2p, bazende uzaktan erişim gereğinden dolayı bilgisayarı açık bırakmak zorunda kalıyorum. Basit bir hesapla kullandığımın 3 katı bilgisayar gereksiz yere açık kalıyor. Harcadığı elektrik ürettiği gürültü vs. derken neden sadece bu işleri çözebilecek küçük bir donanım olmasın dedim(Günümüzde birçok cep telefonunun donanımı dahil bu işlerin altından kalkabilecekken). Herneyse internette mini-pc, client vs. birçok keyword ile donanım ararken “thin client” ve “zero client” kavramlarını gördüm kısa bir araştırmadan sonra ebaydan wyse s90 modelini buldum posta dahil 120$’a aldım. Yanında 2.5′lik external hdd sipariş ettim.
Nihayet elime ulaştılar, ilk işim bilgisayarımı işgal eden emule ve torrent yazılımlarını thin client’e taşıdım ardından diğer flashget gibi download programlarını. Ftp server olarak Filezilla yı kurdum uzaktan erişim için ssh server vs ssh üzerinden ulaşılabilecek şekilde vnc server. dyndns.org tanda free bir domain bağladıktan sonra. Hem dışarıdan güvenli bir şekilde ulaşabileceğim bir thin sunucum oldu, hem de bilgisayarımı rahatça kapatım kafamı dinleyebilir oldum.
Thin client’e gelince zaten fan vs. gibi gürültü yapacak bir donanımları yok, adsl modem gibi diyebilirim. Haliyle gürültü sıfıra iniyor. Enerji kullanımı ise monitör+klavye+fare takılı halde saatte 5.6 Watt. Kısacası gayet memnunum. Bilgisayarı, küçük donanımların üstesinden gelebileceği işlerle açık bırakanlara tavsiye edebileceğim bir çözüm. Thin-client üretici firmanın adresi wyse.com ürünün sayfası ise burada.