Archive

Archive for the ‘Computer & Internet’ Category

Çevrimiçi Amazon SES Bakım Aracı Yayında!

April 21st, 2011 No comments

Amazon Simple E-Mail Service, Amazon Web Services üzerinde koşan bir e-posta gönderim servisi. Servis, API arabirimi aracılığı ile toplu e-posta gönderimi yapmanızı sağlıyor. Geliştirmeler için, Amazon AWS pek çok farklı programlama dili için kütüphaneler sağlıyor.

Sistemi kullanabilmek için, öncelikle bir hesap oluşturmanız gerekiyor. Kayıt sonrası, “sandbox” ortamında kısıtlı bir hesaba sahip oluyorsunuz. Geliştirme sürecinizi tamamlamanızın ardından, üretim ortamına taşınma isteğinizi Amazon AWS’ye iletmeniz gerekiyor. Genellikle bir gün içerisinde isteğiniz onaylayıp, üretim ortamını aktive ediyorlar. Üretim ortamında Amazon SES, ihtiyaçlarınıza göre, günlük gönderim kotası, saniyede izin verilen gönderim sayısı gibi parametrelerinizi dinamik olarak arttırıyor (dinamik olarak artan kota işlemlerinde şu anda bazı sıkıntılar yaşıyorlar).

Amazon SES ile ilgili detaylı bilgi için lütfen buraya tıklayarak sayfalarını ziyaret edin.

Servisin ana hedef kitlesi yazılımcılar olduğu için, kotalarınızı görebileceğiniz, e-posta onaylarını yapabilecğeiniz veya test gönderimleri gerçekleştirebileceğiniz bir arabirim mevcut değil. Bunları yapmak için kodlama yapmanız gerekiyor.

Aşağıdaki köprüyü kullanarak bu işlemleri gerçekleştirebileceğiniz, benim geliştirdiğim çevrimiçi bir araca erişebilirsiniz. Sadece yetki bilgilerinizi girip, istediğiniz köprülere tıklamanız yeterli. Yetki bilgileriniz hiç bir şekilde uygulama tarafından kaydedilmemektedir. Kodlama esnasında ana olarak Amazon tarafından sağlanan AWSSDK.DLL kütüphanesini kullandım. Ancak geliştirmeyi kolaylaştırmak ve hızlandırmak için kendim bir ara katman kütüphanesi daha geliştirdim. Bu kütüphaneyi ve daha yetenekli bir konsol uygulamasını bir kaç hafta içerisinde burada ücretsiz olarak yayınlayacağım. Konsol uygulaması, aynı zamanda bir mail süpürme servisi olarak da kullanılabilecek özellikler içermekte.

Çevrimiçi Amazon SES aracına erişmek için buraya tıklayın.

Aracın, bütün Amazon SES kullanıcılarının işlerini kolaylaştırmasını dilerim…

Online Amazon SES Tool is live now!

April 21st, 2011 No comments

Amazon Simple E-Mail Service is an e-mail sending service which is running by Amazon Web Services. Service allows you to send bulk e-mails, through their API interface. Amazon AWS provides libraries for many different programming languages.

In order to use system, you need to register an account. After registration, you’ll get an account in “sandbox” environment with limited access. As you complete your development process, you need to escalate your “production environment transfer” request to Amazon AWS. They usually approve your request within a day and activate your production environment. In production environment, Amazon SES increase your daily sending quota and maximum number of e-mails allowed within a second limits depending on your needs dynamically (they’re currently having difficulties while lifting quotas).

For detailed information about Amazon SES, please click here and navigate to their page.

As this service’s target audience is mainly developers, there is no interface for querying quotas, validating e-mails or performing test dispatches. You need to write code to perform any of these.

Using the link below, you can access an online tool, coded by me to perform these operations. You just need to enter your credentials and click desired links. Your credentials are not stored on the system. I mainly used AWSSDK.DLL provided by Amazon. But coded a middle-tier dll, to ease up coding process. I’ll put this dll, and a more talented console app within a few weeks here for users who need for free. Console app can be used as a mail-sweeping service also.

Please click here to access to Online Amazon SES Tool

I hope this tool makes life easier for all Amazon SES users…

RIM’den Başarılı BlackBerry Playbook Manevrası

January 27th, 2011 1 comment

Sabah gördüğüm bir haber, gerçekten çok ilgimi çekti. Yakın zamanda piyasada olması beklenen BlackBerry Playbook tabletlerin, Android uygulamalarını çalıştırması ile ilgili çalışmaların son zamanlarda RIM’i ciddi şekilde meşgul ettiği söyleniyor.

RIM’in, Playbook için gönüllü developer arayışları fiyaskoyla sonuçlandırdıktan sonra ürünün tutunma sıkıntısı çekmemesi için çok akıllıca bir manevra gibi görünüyor.

Bilindiği gibi Android, tabanı Linux olan mobil bir işletim sistemi. RIM’in bütün BlackBerry cihazlarında kullandığı ve Playbook’ta da farklı bir sürümünü kullanacağını duyurduğu OS ise QNX tabanlı bir işletim sistemi. Bu yüzden eğer bu dedikodular doğru çıkarsa, RIM’in önünde iki seçenek var;

  1. Yerleşik olarak Android uygulamaları desteklemek ve Playbook’u bir Android-Uyumlu cihaz olarak Google’a etiketletmek.
  2. Sanal olarak Dalvik VM gibi bir yöntem ile Android uygulamaları çalıştırmak.

Geliştirme olarak ikinci yöntem çok daha kolay olmasına rağmen birinci yöntemin yayılma kapasitesine erişmesi çok zor görünüyor. Arkanıza Google Android Market gibi bir gücü almadan yayılmak gerçekten zor olacaktır.

Ama daha genel bir bakış açısından bakıldığında, bu hareket bile Anroid’in ne kadar bir “platform” olduğunun ispatı bence. Apple’ın züppe ve bencil yaklaşımı sebebiyle iOS uygulamaları “i” cihazlara çakılı kalacak gibi görünüyor. Böyle olsa bile teknolojilerinin ileri olması ve korkunç bir kullanıcı potansiyeline sahip olmaları (her ne kadar büyük bir kısmı bilinçsiz, görsele odaklı olsa bile) yakın bir gelecekte Android’in iOS’u yakalamasının hatta yanına yaklaşmasının bile çok zor olduğunu ispatlıyor gibi.

Yine de Android platformuna bir “yatırım” olarak bakılmalı ve popülist-taktik hareketler yerine stratejik-vizyoner hareketler arayanlar için önemli bir seçenek olduğu yadsınmamalı…

Haberin detaylarına bu siteden ulaşabilirsiniz…

.NET Platformundan Windows Fax ile Faks Göndermek

August 5th, 2010 10 comments

Bir müşterimizin isteği/ihtiyacı ile geliştirdiğimiz internet tabanlı uygulamanın, doğrudan faks göndermesi ihtiyacı doğdu. İlk önce uzunca bir süre farklı Fax Server arayışlarında bulundum. Ancak Windows platformu için başarılı (mümkünse açık kaynak kodlu veya ücretsiz) bir Fax Server bulmak mümkün olmadı.
Daha sonra odağımı, Windows’un kendi faks çözümü olan Windows Fax’a kaydırdım. Biraz araştırma sonrası, faxcom.dll kütüphanesi aracılığı ile (Windows 2000 kurulu bir bilgisayarın c:\WINNT dizininden bulabilir veya Windows 2000 CD’sinden deflate edebilirsiniz) gönderim yapmanın mümkün olacağını öğrendim. Çok umutlu olmasam da denemelere başladım. İlk önce denemeleri bir masaüstü uygulamada yaptım. Aşağıdaki kod parçasıyla yaptığım denemeler kesin bir başarıyla sonuçlandı;

FaxServerClass fs = new FaxServerClass();
fs.Connect(machineName);
object obj = fs.CreateDocument(documentPath);
FaxDoc fd = (FaxDoc)obj;
fd.FaxNumber = dialPrefix + faxNumber;
fd.SenderName = senderName;
fd.RecipientName = recName;
int result = fd.Send();
fs.Disconnect();
fs = null;

Kodda kullanılan değişkenler;

  • documentPath: Faks gönderilecek dokümanın tam yolu.
  • machineName: Windows Fax’ın kurulu olduğu makinenin adı. Aynı makine üzerindeyseniz Environment.MachineName de kullanabilirsiniz (sadece desktop uygulamalarında)
  • dialPrefix: Faks gönderileri santral üzerinden çıkacaksa ihtiyaç duyacağınız hat alma ön eki.
  • faxNumber: Alıcı faks numarası.
  • senderName: Gönderenin isim bilgisi (faks ile beraber gönderiliyor).
  • recName: Alıcının görünecek ismi (faks konsolunda görünür).

Bu basit kod parçası ile geliştirme ve deneme ortamım Windows 7′de faks gönderimi başarıyla sonuçlandı, faks kuyruğuna dokümanlarım düştü. Daha sonra web uygulaması üzerinden denemeler başladım. Aşağıda bahsedeceğim bir kaç yetki probleminden sonra onda da (Windows 2003 üzerinde) tam başarı elde ettim. Ancak bazı noktaları belirtmekte fayda var;

  1. Faks göndermek istediğiniz dokümanın faks olarak gönderilebilmesi için, bu format ile birlikte açılmaya ayarlanmış bir uygulamanın kurulu olması gerekiyor. Aynı zamanda bu uygulamanın Shell-Print destekliyor olması gerekiyor. Küçük bir tavsiye; göndereceğiniz formatı açıp yazdıran uygulamayı ne kadar hafif seçerseniz o kadar az kaynak kullanırsınız. Örneğin PDF’te Adobe Acrobat’ın bazen bellekte kaldığına şahit oldum.
  2. Gönderimi yapacak faks sunucusunun normalde aynı makinede olması gibi bir zorunluluk söz konusu değil. Fully-qualified ağ adı sağladığınız sürece bu kodun çalışması beklenir. Ancak ben yaptığım hiç bir denemede farklı sunucuya erişim için gerekli yetki ayarlarını bulamadım. E_ACCESSDENIED hatasından öteye gitmem mümkün olmadı. Büyük ihtimalle RPC tüneli gereken bu uygulama için eğer zorunlu değilseniz çok uğraşmayın derim. Eğer çözümünü bulup yorum olarak postalayan olursa da memnuniyetle yayınlarım.

    Aynı makine üzerine kurulu bir ASP.NET web uygulamasından aynı kodla gönderim yapmak istediğimde yine E_ACCESSDENIED hatası aldım. Impersonation ile sorunu çözmeye muvaffak olamayınca kurulu faksın yetkileri ile ilgilenmeye başladım ve çözüme ulaştım. Windows 2003′te, “Printers and Faxes” üzerinden eriştiğim Faks simgesine çift tıkladığınızda görüntülenen konsoldan “Tools” menüsünden “Fax Service Manager…” seçin.

    Daha sonra açılacak “Microsoft Fax Service Manager” üzerinde, kök “Fax (Local)” yaprağını bulup sağ tık ile “Properties” ekranına erişin ve “Security” sekmesinden, ekleyeceğiniz “NETWORK SERVICE” kullanıcısına yetki verin. Web uygulaması olduğu için bu kullanıcıyı seçtik. Farklı bir uygulama olsa çağıdan kullanıcıyı seçecektik tabi ki. Bu ayardan sonra Windows 2003 üzerinde ASP.NET uygulamam da sorunsuz olarak faks gönderebilmeye başladı. Ancak bu çözümü Windows 7 üzerinde uygulama şansım olmadı, zira “Microsoft Fax Service Manager”a karşılık gelen uygulamayı bulamadım. İhtiyacım olan Windows 2003 olduğu için bu çözüm bana yeterli oldu.

  3. Faksı santral üzerinden çıkacaksanız ve hat alma ön eki kullanıyorsanız, ön ekten sonra çevir sesini beklemek için bir veya daha fazla defa virgül (,) kullanmanız gerekebilir. Kaç virgül kullanacağınızı santralinizin hat verme hızına göre tespit etmelisiniz. Bir virgül yaklaşık 0.5 saniye beklemeye sebep oluyor. Yani çevirdiğiniz faks numarası sonuç olarak (prefixiniz 9 ise) 9,,,4445566 gibi olmalı. Bu örnek yaklaşık 1.5 saniye hat bekleyecektir.
  4. Alıcı ve gönderici isimlerinin gönderi üzerinde çıkıp çıkmaması, hem sizin fax-modem kartınıza, hem de alıcı cihazın özelliklerin bağlı. İki bilgi de çıktıya eklenebileceği gibi ikisi de görünmeyebilir.
  5. Faks nesnesinde benim burada değinmediğim daha bir çok seçenek mevcut (kapak sayfasından alıcı/gönderici detay bilgilerine kadar). Bunları da gözden geçirmenizi tavsiye ederim.

Son olarak belirtmek istediğim bir nokta var. Normalde fax server’a faksı basmak senkron bir işlem değil. Asenkron olarak komut basılıp geçiyor. Ancak uygulamalarımda şunu gördüm ki; faks servisinin durumuna, dokümanın büyüklüğüne vb. göre faks’ın kuyruğa basılması kimi zaman bir kaç saniyeyi geçebiliyor. Bu yüzden uygulamalarda faks gönderimini (işlem unattanded gerçekleşecekse) doğrudan yapmak, uygulamanın yavaşlamasına ve web uygulamlarının zaman aşımına düşmesine sebep olabilir. Bunun önüne geçmek için bir Windows servis veya periyodik çalışacak bir konsol uygulaması geliştirmeyi düşünebilirsiniz.

Müşterimiz için olan uygulamamızda ben bunu tercih ettim. Windows servisin bakım ve idamesi daha zor olduğu için bir konsol uygulaması yapıp, bunu “Scheduled Job” ile periyodik çalıştırıp bir dizinde çekilecek faksları tarayıp göndermeyi tercih ettim. Size de tavsiyem bu yönde olur.

Umarım siz de yandaki gibi dolu bir faks konsolu giden kutusuna sahip olursunuz.

Herkese keyifli fakslamalar :)

Sordu.com ve Uzman Lobisi

July 22nd, 2010 1 comment

Sordu.com, kardeş şirket Selp’in, sektöre hızlı giren online bireysel danışmanlık sistemi. Kendi sloganıyla “canlı bilgi kaynağı” da diyebiliriz. Eğer bir konuda eğitim verebilecek kadar donanımlı olduğunuzu düşünüyorsanız (iyi düşünmenizi tavsiye ederim, başvurular çok ince elenip sık dokunarak onaylanıyor) Sordu.com üzerinde uzman olmak için başvuruda bulunabilirsiniz. Başvurunuz onaylandıktan sonra, sisteme giriş yapıp, uzman lobisine girerek site kullanıcılarının sizden danışmanlık talep etmesini bekleyebilirsiniz.
Site üzerinde arzu ederseniz, kontenjan sınırı ve zamanı belli eğitimler de planlayabilirsiniz. Bu eğitimleri ve danışmanlığı, kendi belirleyeceğiniz bir tutar üzerinden ücretlendirebilirsiniz.

Bu yazıyı yazmamdaki asıl amaç, kendiminde uzman olduğu sordu.com üzerindeki uzman lobisine erişimde pratik bir yoldan bahsetmek. Sistem üzerinde online olup, danışmanlık isteklerini kabul edebilmek için uzman lobisinde olmanız gerekiyor. Uzman lobisi de bir web sayfası. Tarayıcınız içinde sayfayı açtığınızda kazara kapatma riskiniz olabiliyor. Bunun önüne geçmek için Chromium ve Google Chrome da bulunan “Create application shortcut” özelliğini kullanmak çok pratik bir çözüm oluyor. Bu yöntemle uzman lobisine bir kısayol yaratmak ve ardından sitede login olurken “beni hatırla” seçeneğini seçmek yeterli. Bundan sonra artık isteğinize göre masa üstüne, başlat menüsüne ve/veya başlat çubuğuna yerleştirebileceğiniz simgeye yapacağınız tek bir tıklama ile uzman lobisinde oluyorsunuz.

Adım adım ilerlersek (ekran görüntülerini de aşağıda bulabilirsiniz);
1. Önce Sordu.com‘a uzman hesabınızla giriş yapın, giriş yaparken “bu bilgisayarda girişimi hatırla” seçeneğini seçin.
2. Uzman lobisine normal şekilde giriş yapın.
3. Uzman lobisi penceresinin başlığına sağ tıklayıp “Show as tab” seçeneğini seçin.
4. Yeni pencerede “Control the current page” butonuna tıklayıp, “Create application shortcuts…” seçeneğini seçin.
5. Açılan pencereden kısayolun nerede oluşturulmasını istediğinizi seçin.

Bu adımları tamamladıktan sonra kısayol linkine tıkladığınızda lobi ekranınız doğrudan açılacak. Bir defaya mahsus boyutunu istediğiniz gibi ayarladıktan sonra ayarlarınız hep korunacaktır.

Bugüne kadar denemediyseniz hem uzman hem kullanıcı olarak sordu.com‘u tavsiye ederim. Sistem ile ilgili gelişmeleri kendi blogundan takib edebilirsiniz: http://blog.sordu.com. Ayrıca sordu.com, düzenli olarak sistem üzerinde uzman olmakla ilgili ücretsiz online eğitimler düzenliyor. En yakın eğitim 22.07.2010 tarihinde saat 20:00‘de. Eğitime katılım için link: http://sor.io/cR1. Umarım bu yazıyı eğitim saatinden önce okuyup, eğitimi online olarak takip etme şansınız olur.

Uzman olarak kabul edilirseniz de yukarıda yazdıklarımın faydasını göreceğinize eminim…

FTP Push v1.1

July 16th, 2010 No comments

Uzun zaman önce yazdığım ve yayınladığım FTP Push aracının (bütün hikayeyi buradan okuyabilirsiniz) 1.1 sürümünü yayınladım. Aslında geliştirme çalışmaları Nisan ayının sonlarında bitti. Ancak paketleyip yayınlamam biraz uzun zaman aldı. Yeni blog ile beraber yeni FTP Push sürümünü de yayına açmış oluyorum bugün itibariyle.

FTP Push v1.1 - Screenshot1.1′e eklenen özelliklerin bazıları baştan beri benim de aklımda olan özelliklerdi. Ancak bir çok önemli özellik kullanıcı istekleri ile geldi. Yeni sürümün en önemli özelliği, ayar dosyalarını güncellemek için kullanılabilecek bir arabirime sahip olması. Bunun dışında 64bit desteği, dosya sıkıştırma, şifreleme, ayar dosyalarını güvenli kaydetme, sadece değişen/güncellenen dosyaları yükleme ve görsel arabirim sayesinde sadece otomatikleştirilmiş (unattended) kullanım değil, manuel (attended) kullanımın da pratik bir hale kavuşması sayılabilir. 1.0′daki özelliklerin tamamı tabi ki korunuyor. Pakete dahil etmek zorunda olduğum sıkıştırma kütüphaneleri sebebiyle download boyutu ilk sürüme göre daha büyük. Ancak bu amaçla kullanılacak bir araç için yine kabul edilebilecek seviyede (Zip paketi büyüklüğü: 1.00 MB, Exe büyüklüğü: 2.43 MB)

Yazılımın yeni sürümü ile ilgili bütün detay bilgilere kendi sayfasından ulaşabilirsiniz. FTP Push sayfasına ulaşmak için buraya tıklayabilirsiniz (Sayfa şimdilik sadece İngilizce, Türkçe’sini de hazırlamaya çalışıyorum). Bu sayfada tam özellik listesi, ekran görüntüleri, kullanım örnekleri ve download linkleri bulunuyor.

Yorum ve önerilerinize her zaman olduğu gibi açığım, umarım araç sizin de işinize yarar…

Bilişimcinin Olmazsa Olmaz 8 Google Chrome Eklentisi

February 17th, 2010 2 comments

Google Chrome 4 sürümü ile beraber, bir süredir beta sürümde açık olan extension özellikleri resmi olarak kullanıma açıldı. Bununla beraber yüzlerce extension hızla internette yayılmaya ve Google Chrome Extension Kütüphanesi’nde yerini almaya başladı.

Bunlardan bazıları çok gereksiz eklentiler olmakla beraber, bazıları da gerçekten işi çok hızlandıran ve elde etmek için uğraş verdiğiniz bazı özellikleri size hızla sunan eklentiler. Bir bilişimci olarak bu eklentileri bir süredir değerlendirdim ve en çok işim eyarayan 8 eklentiyi tespit ettim…

1. Speed Tracer
Google’ın kendisine ait bir eklenti olan Speed Tracer, sayfaların yüklenmesi ve yaşaması sırasında tarayıcının yaptığı işlemleri listeleyen, yüklediği dış kaynakları ve bunların yüklenme sürelerini görselleştiren, yapılan işlemlerin sisteme getirdiği yükleri; yükleme, script yorumlama, ekrana çizme gibi çok detay alt kırılımlara bölerek listeleyebilen bir eklenti. Web uygulama geliştiricilerinin optimizasyon aracı olarak başucu kılavuzu olacak bir eklenti. Diğer eklentilerden farklı olarak, Google Chrome tarayıcısının “–enable-extension-timeline-api” parametresi ile çalıştırılmasına ihtiyaç duyduğunu da belirteyim.

2. jQuery Selectors
Eğer bir web programcısıysanız, jQuery, Prototype vs. gibi bir javascript kütüphanesini mutlaka kullanıyor olmalısınız. Bunlardan (benim de favorim olan) jQuery için geliştirilmiş güzel bir eklenti. Eklentinin butonuna tıkladığınızda, aktif olan sayfa üzerinde jQuery değimlerini doğrudan çalıştırmanıza izin veriyor. İsterseniz css-seçiciler ile yakaladığınız nesneleri işaretleyebiliyor, isterseniz daha komplike fonksiyonları çalıştırabiliyor. Hem basit/hızlı hem de detaylı kullanım seçenekleri mevcut. jQuery kodu yazanlar için vazgeçilmez olmaya aday.

3. Cache
Tek tık ile bulunduğunuz sayfanın, Google Cache görüntüsüne erişmenizi sağlayan basit ve kullanışlı bir eklenti. Özellikle tarih geçtiği için arama sonuçlarında gördüğünüz cevaplara ulaşamadığınız forum vb. sitelerdeki bilgiye anında erişmek için çok kullanışlı olduğu kesin.

4. Chrome Flags
Firefox üzerinde kullandığımız “FlagFox” eklentisinin, daha başarılı bir Chrome uygulaması. Adres çubuğunun sağ tarafında, ziyaret ettiğiniz sitenin işaret ettiği sunucunun ülkesinin bayrağını görüntülüyor. Bu bayrağa tıkladığınızda da sunucunun IP’sini doğrudan görebiliyorsunuz. Ayrıca açılan menüden doğrudan “Google Trends”, “Whois”, “Alexa” gibi sorguları yapmanız için linklere ulaşabiliyorsunuz. Bununla beraber mevcutsa sitenin McAfee ve Web of Trust raporlarına da gidebiliyorsunuz. Hızlıca sunucu detaylarına erişmek için pratik bir eklenti.

5. FlashBlock
Her ne kadar Flash’çı arkadaşları biraz kızdırsa da, Flash konusunu abartmış siteleri rahatlıkla gezebilmek için birebir bir eklenti. Sayfaya girdiğinizde Flash görüntülenecek alanları bloklayıp yarı transparan olarak işaretliyor. İstediğiniz bir Flash varsa tıklayıp yine görüntüleyebiliyorsunuz. Ayrıca istediğiniz siteyi Whitelist’e alıp, her zaman Flash’ların görüntülenmesini de sağlayabiliyorsunuz. Muhteşem :)

6. Google Reader Notifier
Yine Google’ın kendisine ait eklentilerden biri. Eğer RSS beslemelerini takip etmek için benim gibi yoğun olarak Google Reader kullanıyorsanız ve sık sık Google Reader’ı kontrol ediyorsanız sizin için birebir bir eklenti. Chrome adres çubuğunun yanına yerleşen eklenti, üzerinde kaç adet okunmamış post olduğunu gösteriyor. Tıkladığınızda ise küçük bir pencere içerisinde okunmamış nesneleri anında listeliyor, tıklayarak doğrudan gidebiliyorsunuz. Seçiminize bağlı olarak Google Reader ekranını açmasını da sağlayabilirsiniz. Kontrol periyodu da eklenti ayarlarından değiştirileibliyor. Bence tek eksiği, hızlı görünüm ekranından okuduğunuz postları okundu olarak işaretlememesi. Yakında yaparlar herhalde…

7. Chrome Sniffer
Web geliştiricilerinin çok kullanndığı bookmarklet’lerden biri olan What The Framework bookmarklet’inin geliştirilmiş bir Chrome adaptasyonu diyebiliriz. Bulunduğunuz sitenin kullandığı kütüphaneleri (jQuery, Prototype, Dojo, MooTools, script.aculo.us vs.) ve altyapıda kullanılan ortamları/sistemleri (Blogger, WordPress, Google Analytics vs.) doğrudan adres çubuğunun içerisine yerleştirdiği simge ile gösteren bir eklenti. Simgeye tıkladığınızda sayfada birden fazla uygulama varsa hepsinin simgelerine erişebiliyorsunuz. Geliştiriciler için WTFramework’ün yerini alabilecek bir eklenti.

8. SEO Playground
Yine web geliştiricilerinin asli hedef kitleyi oluşturduğu bir eklenti. Bulunduğunuz sayfa ile ilgili oldukça detaylı teknik bilgiler veren bir eklenti. Bütün detayları deneyerek görebilirsiniz. Ama temel özellikleri sayarsam; sosyal bookmark sitelerine eklemek için doğrudan köprüler, TinyURL’ye doğrudan erişim, Alexa, Whois gibi domain araçlarına erişim, Google ranking ve indeksleme bilgileri, verilen/gelen linkler, dizin indekslemeleri, anahtar kelimeler, cümleler ve bunların tekrar oranları vs. Kullanmadan tam olarak keşfedemeyeceğiniz bir çok bilgiye daha bu eklenti sayesinde erişebilirsiniz.

Burada özet bilgilerine yer verdiğim bu 8 eklenti, benim gündelik tarayıcı kullanımımda işlerimi oldukça hafifletti ve aradığım bilgiye ulaşma süresini kısalttı. Dediğim gibi bir çok eklenti sadece benim profilimdeki kullanıcılara hitap edecek eklentiler. Ancak yine de herkes için denemeye değer bence ;)

IIS 7.5, Visual Studio and Problems (again)

February 17th, 2010 No comments

I was absolutely sure that I’ll get much more funny errors as I upgrade by office computer to Windows 7. All installations took a day long (because of updates). While installing my default environment triplet Visual Studio 2003-2005-2008, I learnt that VS2003 is no more supported by Windows 7 (and by Vista). Feeling thankful because I do not have to deal with my VS2003 projects recently. Then I tried a VS2005 project and got my beautiful error:

HTTP Error 500.23 – Internal Server Error: An ASP.NET setting has been detected that does not apply in Integrated managed pipeline mode.

After a short research, I’ve find out that performing the recommendation on page does not break down anything:

  1. Go to IIS 7.5
  2. Expand Sites/Default Web Site
  3. Right click on the application that causes problem and choose “Manage Application/Advanced Settings…”
  4. Change “Application Pool” parameter to “Classic .NET AppPool” and save

With glorious feelings solving this issue, I immediately switched to VS2008 and tried to compile a project and got an error telling about an access problem to somewhere under “Temporary ASP.NET Files” directory. I went to directory and gave access to nearly all users that comes to my mind. This time I get an error saying one of project’s dll is inaccesible:

After this point, I cycled through one access problem on “Temporary ASP.NET Files” folder and one access problem on project DLLs. My fight on giving permission and healing lasted about 4-5 hours splitted into two days. I was getting a similar error on browser:

After a long long internet research, the resolution I’ve found made me feel like I want to cry. All problems are resolved miraculously after setting “Special Permissions” on Microsoft .NET folder under Windows folder for “Users” group.

I feel that I’ll live much more funny days with this Windows 7 – Visual Studio double…

IIS 7.5, Visual Studio ve Sorun (yine)

February 17th, 2010 No comments

Ofis makinemi de Windows 7′ye güncelledikten sonra daha eğlenceli hatalar alacağımdan şüphem yoktu. Bütün kurulumlar (updateler yüzünden) tam bir gün sürdü. Makineme hep kurduğum Visual Studio 2003-2005-2008 üçlemesinden ilkini kurarken, artık bu Windows 7′nin (ve Vista’nın) VS2003 desteklemediğini öğrendim. Öneriler çok yaratıcıydı: “Virtual PC’de Windows XP kullanın”. Şimdilik VS2003 ihtiyacı olan projelerime bakmıyor olmamın sevinciyle bir VS2005 projesi denedim. İlk güzel hatayı aldım:

HTTP Error 500.23 – Internal Server Error: An ASP.NET setting has been detected that does not apply in Integrated managed pipeline mode.

Kısa bir araştırma sonrasında, 2005 projeleri için ekrandaki öneriyi uygulamanın bir problem yaratmayacağını öğrendim:

  1. IIS 7.5 Açılır
  2. Sites/Default Web Site dalı genişletilir
  3. Sorunlu Application’a sağ tıklanıp “Manage Application/Advanced Settings…” seçilir
  4. Açılan kutuda “Application Pool” “Classic .NET AppPool” olarak değiştirilip kaydedilir

Bu sorunu çözmenin yaşattığı mutluluk ile hemen bir VS2008 projesi açtım, compile etmeye çalıştım, “Temporary ASP.NET Files” dizini altında bir yerlere erişim problemi olduğu ile ilgili bir hata aldım. Gittim dizine aklıma gelen bütün kullanıcılara yetki verdim. Bu sefer de projenin DLL’lerinden birine ulaşılamadığı hatasını aldım:

Bu noktadan sonra bir “Temporary ASP.NET Files” dizini yetki hatası bir DLL erişim yetki hatası arasında döndüm durdum. Yetki verme denemeleri ve düzeltme uğraşım, iki güne bölünen yaklaşık 4-5 saatlik bir süreç boyunca devam etti. Tarayıcıda alınan hata da benzer bir hataydı:

Oldukça uzun bir internet araştırması sonucunda bulduğum çözüm insanı ağlatacak cinstendi. Windows altındaki Microsoft .NET dizinine “Users” grubu için “Special Permission” vermek bütün sorunu bir anda ortadan kaldırdı.

Bu Windows 7 – Visual Studio ekürisi ile çok eğlenceli günler bizleri bekliyor gibi…

An ASP.NET, IIS 7.5 story on Windows 7..

February 14th, 2010 No comments

I’m nearly-fully satisfied with the Windows 7, that I began to use at home nowadays. To be honest, I can say that I’m an addict of it because of performance.

Or “was”. Until it took 1 hour and 40 minutes to make a website working on IIS.

I didn’t expected it to be so smooth but I never guessed a bloody ending like this. I created my site as usual and wanted to see the empty page immediately. When I came by IIS 7.5 and see the jelly-candy interface, I felt that things will not do good. Anyway I defined the website and went to the browser and firs error:

ERROR 1: HTTP Error 500.19 / Error Code: 0×80070005 / Config Error: Cannot read configuration file due to insufficient permissions

Inspection phase began of course. It was obvious that this is an access problem. I permitted the IIS_IUSRS user to access web project folder. I Refreshed the page in browser and second error:

ERROR 2: HTTP Error 500.19 / Error Code: 0×80070021 / Config Error: This configuration section cannot be used at this path. This happens when the section is locked at parent level….

This was the most educating error in this story. Though the things I’ve learnt was not related with the error… After some research, I’ve found out an easy way.
Opening the file at location %windir%\system32\inetsrv\config\applicationhost.config and to change the “Deny” words into “Allow” in this portion:

<section name="handlers" overrideModeDefault="Deny" />
<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" />

By this way, I will be allowing sections to be overwritten in web.config.
It’s an easy thing to do but if you can find the file… I immediately switched to my Total Commander, navigated to path, and what? directory is empty? look around it’s empty? Then I switched to cmd. Navigated to path, nothing.
Then I learned the thing “SYSWOW32 Redirection” from a forum. In 64Bit operating systems, there are two system folders. One System32 and one SysWOW64. But because all software will try to access to system folder in same way, Microsoft redirects 32bit applications to 32Bit system folder by “SYSWOW32 Redirection”. This means if you use an 32bit application to view the folder (Total Commander and cmd in my case) the folder shows empty, because the folder is not actually that folder.
After I got this, I switched to 64bit Notepad and managed to open and change the file by pointing to it with full path. Returned to browser, refreshed and here comes the 3rd error:

ERROR 3: HTTP Error 401.3 / Error Code: 0×80070005 / Unauthorized

After a long research, I found out that the problem is related with site authentication in IIS 7.5. It’s needed to follow these steps in order to correct it:
1. Go to IIS7.5,
2. Expand “Sites” node, click the problem web site’s name.
3. Double click “Authentication” on the right.
4. Right click on “Anonymous Authentication” item and click “Edit…”.
5. Check the “Application Pool Identity” option
6. Save it.
I’ve completed all steps, returned to browser expecting “it’s ok this time”, F5 andddd

ERROR 4: HTTP Error 404.3 / Error Code: 0×80070032 / Not Found

I thought that ASp.NET handler is not working but how to find and correct in this jelly-candy IIS7.5? I began searching for it this time. I found out where the handlers are but no one was knowing about ASP.NET handlers over there. I then learned that requires manual activation of ASP.NET components even if you have Framework installed. For this, we go to “Programs and Features” from Control Panel and then say “Turn Windows Features on or off”. Then in the appearing tree, we go to this node: “Internet Information Services/World Wide Web Services/Application Development Features”. Then we pick all items here except “CGI”.

After completing these steps, I’ve refreshed browser then an error more. But this time I began to get good-old yellow error pages of ASP.NET. It was a meaningless error but I tried to compile project once more. Then it healed and lastly I managed to see my white good and empty Default.asp page…

These issues are not lived on an operating system installation that is screwed up and is living for ages. Operating system was 3-4 days old and Visual Studio installation was just 1 days old. In other words, platform was nearly out-of-the-box.

I hope this story heals somebody’s problems out there…