Okoca’s Zip Comment Adder

Okoca’s Zip Comment Adder (OZCA) Delphi’deki ilk göz ağrılarımdan biri. Program ZIP arşivlerine toplu olarak yorum eklemeye yarıyor. WinZip programından Actions->Comment… seçeneği ile arşive yorum eklenebiliyor. Bu arrşiv WinZip programı ile açıldığında varsayılan olarak bir karşılama penceresinde görüntülenir. Zip dosyasındaki materyale ait reklam veya telif hakkı mesajının görüntülenmesi için faydalı olabilecek bir yöntem. Bu işlev  WinRAR’da da geçerli, yalnızca karşılama penceresinde yerine yan çerçevede görüntüleniyor. Program en büyük özelliği belirtilen bir dizinin alt dizinleri de dahil olmak üzere içerdiği tüm ZIP dosyalarına aynı yorumu eklemesi.

Biraz da teknik olarak açıklamak gerekirse;

Yorum bilgisi ZIP  dosyasının en sonunda uzunluk bilgisi ile beraber tutulur. OZCA bulduğu dosyaları ikili modda açar ve sonuna mesajı ve uzunluğunu ekleyerek kaydeder.

Programın kaynak kodu: zip_comment_adder.rar ~300KB

Yazan: Tankado

Projedeki formları tespit etmek

Program projede yer alan formları çalışma anında tespit etmek ve onlara erişmeyi gösteren deneysel bir çalışma. Application.ComponentCount özelliği projede yer alan tüm nesnelerin sayısını verir. Application.Compnents dizisi ise bu nesnelerin veri yapısına işaret eden Tcomponent sınıfını içerir. Projedeki tüm nesneler taranarak is işleci ile TForm sınıfından olup olmadığına bakılır. as işleci ise dinamik olarak erişilen component’in istenilen sınıf gibi yorumlatılması için kullanılıyor.

Program projede yer alan formları çalışma anında tespit etmek ve onlara erişmeyi gösteren deneysel bir çalışma. Application.ComponentCount özelliği projede yer alan tüm nesnelerin sayısını verir. Application.Compnents dizisi ise bu nesnelerin veri yapısına işaret eden Tcomponent sınıfını içerir. Projedeki tüm nesneler taranarak is işleci ile TForm sınıfından olup olmadığına bakılır. as işleci ise dinamik olarak erişilen component’in istenilen sınıf gibi yorumlatılması için kullanılıyor.

Okumaya devam et “Projedeki formları tespit etmek”

Delphi’de düşük boyutlu program yazmak

Derlendiğinde 3.5KB ‘lık çalıştırılabilir kod üreten deneysel bir çalışma. Program delphi IDE’si veya doğrudan Delphi kod derleyicisi (dcc32) kullanılarak derleniyor. Ana program kodunu ve üniteleri derlemek için bat dosyaları kullanılıyor.

Küçük boyutları elde etmek için IDE aracılığyla derlemekten kaçınılabilir, Delphi IDE si varsayılan derleme seçenekleri ile programa fazladan kod ve kontrol blokları ekler. Bu özellik programın çevikliğini artırırken diğer yandan çalıştırılabilir kodun belli ölçüde büyümesine ve yavaşlamasına neden olur.

Çoğu zaman programa dahil edilen yerel Delphi üniteleri de programın boyutunu artırır. Bir nesnenin kullanılmayan bazı özellik ve yordamlari da ana koda dahil olur. Birbirinden türeyen bazı nesnelerin yapısı  türedikleri sınıfa bağlı olarak uzun bir zincir oluşturabilir ve bu durum doğal olarak programın boyutunun artmasına neden olur. Bunun yerine örnek programda olduğu gibi en sade sınıfları ve nesneleri kendiniz hazırlayabilirsiniz. Aslında bu yöntem kalın uygulamalar hazırlarken pek uygulanabilir değildir.

Programın bellek kullanımını da derleyici direktiflerini kullanarak sınırlandırabilirsiniz.

Derlendiğinde 3.5KB ‘lık çalıştırılabilir kod üreten deneysel bir çalışma. Program delphi IDE’si veya doğrudan Delphi kod derleyicisi (dcc32) kullanılarak derleniyor. Ana program kodunu ve üniteleri derlemek için bat dosyaları kullanılıyor.

Küçük boyutları elde etmek için IDE aracılığyla derlemekten kaçınılabilir, Delphi IDE si varsayılan derleme seçenekleri ile programa fazladan kod ve kontrol blokları ekler. Bu özellik programın çevikliğini artırırken diğer yandan çalıştırılabilir kodun belli ölçüde büyümesine ve yavaşlamasına neden olur.

Çoğu zaman programa dahil edilen yerel Delphi üniteleri de programın boyutunu artırır. Bir nesnenin kullanılmayan bazı özellik ve yordamlari da ana koda dahil olur. Birbirinden türeyen bazı nesnelerin yapısı  türedikleri sınıfa bağlı olarak uzun bir zincir oluşturabilir ve bu durum doğal olarak programın boyutunun artmasına neden olur. Bunun yerine örnek programda olduğu gibi en sade sınıfları ve nesneleri kendiniz hazırlayabilirsiniz. Aslında bu yöntem kalın uygulamalar hazırlarken pek uygulanabilir değildir.

Programın bellek kullanımını da derleyici direktiflerini kullanarak sınırlandırabilirsiniz.

Okumaya devam et “Delphi’de düşük boyutlu program yazmak”

PopuCheck: Domain name popularity checker

 PopuCheck (Popularity Checker) bir alan adının tanınırlığı ya da popülaritesi hakkında fikir sahibi olmak için yazdığım bir araç. Araç verilen listedeki alan adlarını alexa ve birkaç ünlü arama motorunda sorgulayarak değerler getiriyor. Bir Amazon sitesi olan Alexa sahip olduğu milyonlarca araç çubuğu ile ziyaret edilen site ve sayfaların kaydını tutan bir şirket. Tuttuğu kayıtları kullanarak tercih edilme sıklığına göre internet sitelerini sıralıyor (Toplist). Örneğin, şuan izlemekte olduğunuz site 782,000. sırada yer alıyor. PopuCheck çok kanallı (Multi thread) bir araç ve internet hızınıza bağlı olarak bir alan adı listesini kısa sürede tarayabilir.

PopuCheck (Popularity Checker) bir alan adının tanınırlığı ya da popülaritesi hakkında fikir sahibi olmak için yazdığım bir araç. Araç verilen listedeki alan adlarını alexa ve birkaç ünlü arama motorunda sorgulayarak değerler getiriyor. Bir Amazon sitesi olan Alexa sahip olduğu milyonlarca araç çubuğu ile ziyaret edilen site ve sayfaların kaydını tutan bir şirket. Tuttuğu kayıtları kullanarak tercih edilme sıklığına göre internet sitelerini sıralıyor (Toplist). Örneğin, şuan izlemekte olduğunuz site 782,000. sırada yer alıyor. PopuCheck çok kanallı (Multi thread) bir araç ve internet hızınıza bağlı olarak bir alan adı listesini kısa sürede tarayabilir.
Okumaya devam et “PopuCheck: Domain name popularity checker”

Hasarlı elektrolitik kondansatörler

Bugün, enerji verildiğinde mavi ekrana düşerek kendini yeniden başlatan bir bilgisayarın sorununu çözmek için, oldukça uzun ve zorlu dakikalar geçirdim. İlk olarak hasar görmüş ya da bozulmuş BIOS Setup ayarlarından kaynaklanabileceğini düşünerek, Load Setup Defaults seçeneğini uyguladım, düzelmeyince ardından da reset jumper’ını kullanarak BIOS Setup ayarlarını sıfırladım. Sorun devam etti. RAM den kaynaklanabileceği varsayarak çalışır olduğundan olduğum bir başka RAM’i takarak denedim. Parça eksiltme yöntemiyle tüm parçaları kontrol ettim. Malesef arıza çözülmemekle kalmadı, artık sistem hiç açılmaz olmuştu.

Bugün, enerji verildiğinde mavi ekrana düşerek kendini yeniden başlatan bir bilgisayarın sorununu çözmek için, oldukça uzun ve zorlu dakikalar geçirdim. İlk olarak hasar görmüş ya da bozulmuş BIOS Setup ayarlarından kaynaklanabileceğini düşünerek, Load Setup Defaults seçeneğini uyguladım, düzelmeyince ardından da reset jumper’ını kullanarak BIOS Setup ayarlarını sıfırladım. Sorun devam etti. RAM den kaynaklanabileceği varsayarak çalışır olduğundan emin olduğum bir başka RAM’i takarak denedim. Parça eksiltme yöntemiyle tüm parçaları kontrol ettim. Malesef arıza çözülmemekle kalmadı, artık sistem hiç açılmaz olmuştu.
Okumaya devam et “Hasarlı elektrolitik kondansatörler”

Hiren’s Boot CD v9.0 Download

Hiren’s Boot CD’nin 9.0 sürümü hazır. Yeni sürümde aşağıdaki programlar eklenmiş güncellenmiş:

+ Monitor Tester 1.0
+ Xp-AntiSpy 3.96.4
+ PC Wizard 2007 1.73
HiJackThis 2.0 Beta
Ghost 8.3 (v11 is buggy)
Partition Saving 3.40
System Analyser version 5.3q
QuickView Pro 2.58
MpxPlay 1.55 alpha 2
Unstoppable Copier 3.01b
CCleaner 1.39.502
Partition Table Doctor 3.5
WinKeyFinder 1.72
Ad-Aware SE Personal 1.06 (2504)
F-Prot Antivirus 3.16f (2504)
McAfee Antivirus 4.40 (2504)
PCI 32 Sniffer 1.1 (2504)
PCI and AGP info Tool (2504)
Spybot – Search & Destroy 1.4 (2504)
SpywareBlaster 3.5.1 (2504)
Unknown Devices 1.2 (2504)
* Fixed Seagate Tools
* Boot from USB Drive Faster

Hiren’s Boot CD’nin 9.0 sürümü hazır. Yeni sürümde aşağıdaki programlar eklenmiş güncellenmiş:

+ Monitor Tester 1.0
+ Xp-AntiSpy 3.96.4
+ PC Wizard 2007 1.73
HiJackThis 2.0 Beta
Ghost 8.3 (v11 is buggy)
Partition Saving 3.40
System Analyser version 5.3q
QuickView Pro 2.58
MpxPlay 1.55 alpha 2
Unstoppable Copier 3.01b
CCleaner 1.39.502
Partition Table Doctor 3.5
WinKeyFinder 1.72
Ad-Aware SE Personal 1.06 (2504)
F-Prot Antivirus 3.16f (2504)
McAfee Antivirus 4.40 (2504)
PCI 32 Sniffer 1.1 (2504)
PCI and AGP info Tool (2504)
Spybot – Search & Destroy 1.4 (2504)
SpywareBlaster 3.5.1 (2504)
Unknown Devices 1.2 (2504)
* Fixed Seagate Tools
* Boot from USB Drive Faster

Okumaya devam et “Hiren’s Boot CD v9.0 Download”

Milgram deneyi

İlk olarak 1963 yılında Yale Üniversitesinden psikolog Stanley Milgram tarafından yayınlanan "İtaat üzerine davranışsal inceleme" isimli makalede açıklanmış olan çok meşhur bir bilimsel deneydir. Kendisinin daha sonra 1974 yılında yayınladığı "Otoriteye boyun eğmeye deneysel bir bakış" isimli kitabında özetlediği gibi, deneyin amacı katılımcının kişisel vicdanıyla çelişen bir emre itaat etmekteki gönüllülüğünü ölçmektir.

İlk olarak 1963 yılında Yale Üniversitesinden psikolog Stanley Milgram tarafından yayınlanan “İtaat üzerine davranışsal inceleme” isimli makalede açıklanmış olan çok meşhur bir bilimsel deneydir. Kendisinin daha sonra 1974 yılında yayınladığı “Otoriteye boyun eğmeye deneysel bir bakış” isimli kitabında özetlediği gibi, deneyin amacı katılımcının kişisel vicdanıyla çelişen bir emre itaat etmekteki gönüllülüğünü ölçmektir.
Okumaya devam et “Milgram deneyi”

Hanson Robotics’den sosyal robotlar

Hanson Robotcis firması bilim kurgu filmlerde görmeye alışık olduğumuz android leri gerçekleştiren bir firma. Amacı sosyal yeteneği olan robotlar oluşturmak olan firma çalışmalarını bu amaca hizmet eden mekanik, yazılım ve yeni malzemeleri geliştirmek gibi ana başlıklarda yürütüyor. Textzone‘dan Katana bildirdi.

Hanson Robotcis firması bilim kurgu filmlerde görmeye alışık olduğumuz android leri gerçekleştiren bir firma. Amacı sosyal yeteneği olan robotlar oluşturmak olan firma çalışmalarını bu amaca hizmet eden mekanik, yazılım ve yeni malzemeleri geliştirmek gibi ana başlıklarda yürütüyor. Textzone‘dan Katana bildirdi.
Okumaya devam et “Hanson Robotics’den sosyal robotlar”

cPanel ile veritabanı ve ev dizinini düzenli yedeklemek

Web sunucusunda yönetim paneli olarak cPanel’i kullananların işine yarayabilecek bir konudan bahsetmek istiyorum. Konu sunucudaki dosya ve veritabanlarının yedeklenmesi ile ilgili. cPanel yedeklemeyi yapacağınız bir sayfayı içeriyor. Buraya gidip istediğinizi yedekleyebilir veya geri yükleyebilirsiniz. Aslında esas mesela yedeklerin düzenli olarak yapılması ve güvenli bir yere kaydedilmesi. Site Backup CP ismindeki program ile veritabanı ve sitenizin ev dizinini istediğiniz zamanlarda yedekleyip yerel bilgisayarınıza kaydedebiliyorsunuz. Ayrıca ZBackup isminde başka bir program var fakat indirebileceğim bir adresi henüz bulamadım.

Yedekleme yapmak için atadan kalma ve oldukça özgün bir yöntem de .bat (batch: toplu işlem dosyası) dosyalarını kullanmak. Aşağıdaki gibi bir işlem dosyasını zamanlanmış görevlere ekleyerek düzenli olarak çalıştırılmasını sağlayabilirsiniz.

Web sunucusunda yönetim paneli olarak cPanel’i kullananların işine yarayabilecek bir konudan bahsetmek istiyorum. Konu sunucudaki dosya ve veritabanlarının yedeklenmesi ile ilgili. cPanel yedeklemeyi yapacağınız bir sayfayı içeriyor. Buraya gidip istediğinizi yedekleyebilir veya geri yükleyebilirsiniz. Aslında esas mesela yedeklerin düzenli olarak yapılması ve güvenli bir yere kaydedilmesi. Site Backup CP ismindeki program ile veritabanı ve sitenizin ev dizinini istediğiniz zamanlarda yedekleyip yerel bilgisayarınıza kaydedebiliyorsunuz. Ayrıca ZBackup isminde başka bir program var fakat indirebileceğim bir adresi henüz bulamadım.

Yedekleme yapmak için atadan kalma ve oldukça özgün bir yöntem de .bat (batch: toplu işlem dosyası) dosyalarını kullanmak. Aşağıdaki gibi bir işlem dosyasını zamanlanmış görevlere ekleyerek düzenli olarak çalıştırılmasını sağlayabilirsiniz.

Okumaya devam et “cPanel ile veritabanı ve ev dizinini düzenli yedeklemek”

uncaught exception: XMLHttpRequest.open methodunun çağrılması için gerekli izniniz yok.

Gece vakti aşırı korumacı bir tarayıcıyla başım dertte. Firefox yerel bir dosyadaki XMLHttpRequest kodu ile uzak bir siteden veri çekeceğinde bu hatayı verdi. Aslında uyarı demek daha doğru olacak. Bununla karşılaşana kadar Internet Explorer 6 da böyle bir durumun varlığından bile haberim yoktu. İşin aslı burada yazdığına göre yüce tarayıcı Firefox’un bir güvenlik özelliği. Kısaca Firefox çapraz-alan adı (cross-domain) sorgulamalarına izin vermiyor. Yani isteyensiten.com alan adından baskabirsite.com adresindeki bir veri kaynağından AJAX ile XML olarak veri istemek pek mümkün değil. Denerseniz şöyle bir hata mesajı alıyorsunuz, benden söylemesi ;)

Error: uncaught exception: 
Permission denied to call method XMLHttpRequest.open

Gece vakti aşırı korumacı bir tarayıcıyla başım dertte. Firefox yerel bir dosyadaki XMLHttpRequest kodu ile uzak bir siteden veri çekeceğinde bu hatayı verdi. Aslında uyarı demek daha doğru olacak. Bununla karşılaşana kadar Internet Explorer 6 da böyle bir durumun varlığından bile haberim yoktu. İşin aslı burada yazdığına göre yüce tarayıcı Firefox’un bir güvenlik özelliği. Kısaca Firefox çapraz-alan adı (cross-domain) sorgulamalarına izin vermiyor. Yani isteyensiten.com alan adından baskabirsite.com adresindeki bir veri kaynağından AJAX ile XML olarak veri istemek pek mümkün değil. Denerseniz şöyle bir hata mesajı alıyorsunuz, benden söylemesi ;)

Error: uncaught exception: Permission denied to call method XMLHttpRequest.open

Okumaya devam et “uncaught exception: XMLHttpRequest.open methodunun çağrılması için gerekli izniniz yok.”

Denver: "The Last Dino"

Danver The Last Dinosour isimli çizgi filmi kuşaktaşlarımız iyi hatırlarlar. Hatırlayamayanlar için burada ekran görüntüleri mevcut. Eski günleri hep birlikte yadetmek adına Textzone’dan Hemera‘nın gönderdiği bu denver müziğini paylaşmak istiyorum . Ayrıca youtube‘da da iki fransız veledinin bu müzikle coşmasını izlemek eğlenceli gelebilr. :)