|
K o d l a r
Sinbad IRC Bot
Perl ile yazılmıştır. GNU/Linux yüklü makinelerde çalışır. Bir veya daha fazla IRC sunucuya istenildiği kadar IRC bot sokar. Her bot, bulunduğu kanaldaki kişilerin listesini, belirtilen web sayfasına POST yöntemiyle gönderir. PHP, Perl, VbScript gibi herhangi bir dille hazırlanacak web sayfasından bu liste, sanki bir <FORM>'dan gönderiliyormuş gibi alınabilir.
Weechat Bigbrother Plugin
Python ile yazılmış Weechat eklentisi... Örnek olması için yazıldığından kodu çok basit. Bulunulan kanallarda yazılan bütün mesajları, server sayfasında görüntüler. Programı ~/.weechat/python/autoload/ klasörüne koymak gerekiyor.
Muhammed Esed Kuran'ı Kerim Meali
Meal veritabanını oluşturan SQL kodları... DarulKitap.com sitesinden temin edilen Muhammed Esed'in Kur-an'ı Kerim mealinden faydalanılarak hazırlanmıştır. Bu SQL kodları, Sqlite3 için hazırlanmış olmasına rağmen ufak değişikliklerle başka veritabanları için de kullanılabilir.
Muhammed Esed Kuran'ı Kerim Meali (SQL formatında)
Muhammed Esed Kuran'ı Kerim Meali (metin formatında)
Muhammed Esed Kuran'ı Kerim Meali (Sqlite3 veritabanı formatında)
Sözlük Hazırla
Python ile yazılmış bu betik, Türk Dil Kurumu web sitesinde yer alan imla kılavuzu ve sözlük bölümlerini kullanarak imla kılavuzu ve sözlük hazırlar. İmla kılavuzunu, düz metin biçiminde dosya olarak; sözlüğü, XML biçiminde dosya olarak hazırlar. Kodda ufak bir değişiklik yaparak sözlüğün sadece belli bir bölümünü de oluşturabilirsiniz.
İmla Kılavuzu ve Sözlük Verileri (tdk.tar.gz)
Heceleyici
Python ile yazılmış bu betik, Türkçe bir metinde yer alan heceleri tesbit eder. Aslında tesbit ettiği şeyin hece olduğunu söylemek tam doğru değil. Heceden ziyade, ses parçacıklarını tesbit eder. Örneğin 'stratosfer' kelimesini 'sıt-ra-tos-fer' şeklinde ses parçalarına böler.
Bu betiği yazmaya, Türkçe metni sesli okuyacak bir uygulama yazmak için başladım ama daha sonra bunu zaten yapan bir uygulama olduğunu görünce yarım bıraktım. Belki bu hali ile birinin işine yarar. Şu anki hali ile noktalama işaretlerini henüz değerlendiremiyor.
BeyHouse
Tcl ile yazılmış bir AMSN eklentisidir. MSN kullanıcılarının yazdığı İngilizce kelimenin Türkçe karşılığını, cevap olarak gönderir. Bu eklentinin çalışması için:
- AMSN ve mysqltcl paketlerinin yüklenmesi
- Sözlük veritabanının oluşturulması
- Eklentinin, .amsn/plugins/beyhouse/ klasörüne konulması
- Aynı klasörde plugininfo.xml dosyasının oluşturulması
- AMSN'i çalıştırıp eklentinin yüklenmesi gerekmektedir.
IP Gönder
Python ile yazılmıştır. Çalıştırıldığında, bulunduğu makinenin IP adresini www.whatismyip.com'a sorarak öğrenir. Sonra bu IP adresini, belirtilen siteye bildirir. Sabit IP'si olmayan makineleriniz varsa, bu uygulamayı cron'a ekleyip saatte bir çalıştırabilirsiniz. Böylece makinelerinizin IP adreslerini bir web sunucudan takip edebilir ve gerektiğinde makinelerinize erişebilirsiniz.
Bu uygulamayı ben, sabit IP'si olmayan ama ADSL ile sürekli Internet'e bağlı makinelerimi takip etmek için kullanıyorum. IP adresini whatismyip.com'a sormasının nedeni araya Türk Telekom'un proxy sunucunun girmesidir. Web sunucu makinem "bana bağlananın IP adresi nedir" diye baktığında bağlantıyı kuran makinenin değil, Türk Telekom proxy'sinin IP'sini görüyor. O nedenle IP adresi www.whatismyip.com'a soruluyor ve bu IP adresi POST metodu ile gönderiliyor.
HTML Mail Gönder
Python ile yazılmıştır. İçine resim gömülü HTML mail gönderir. SMTP sunucunun,
localhost'ta kurulu olduğu ve yerel kullanıcılar için parola istemediği
farzedilmiştir.
DNS Proxy Sunucu
Python ile yazılmıştır. DNS sunucu ve DNS istemci arasına girer. İstemciden aldığı DNS sorgusunu, sunucuya iletir
ve sunucudan gelen cevabı, istemciye iletir.
Squid için Authentication Programı
Python ile yazılmıştır. Squid kullanıcıları için bir metin dosyadaki listeye bakarak kimlik doğrulama yapar. Squid, transparent proxy olarak kullanıldığında çalışmaz.
POP3 Mail Kontrolcü
Python ile yazılmıştır. Mail hesabımıza yeni email gelip gelmediğini kontrol eder. Geldiyse, uyarı mesajı görünür.
Mevcut kodun çalışması için Kdialog'un yüklü olması gerekir. Gdialog kullanılacaksa kodda ufak bir değişiklik yapmak gerekmektedir.
C++ ile Socket
Bu basit uygulama, C++ ile nasıl socket kullanılacağını göstermek için yazılmıştır. Bir web sayfasına bağlanıp sayfa kodlarını alır.
Güvenli HTML
PHP ile yazılmış bu fonksiyon, herhangi bir kaynaktan gelen HTML formatındaki veriyi, HTML formatını koruyarak güvenli hale getirir. Bu amaçla, veri içindeki JavaScript, VbScript kodlarını, <Applet> ve <Object> etiketlerini düzgün bir şekilde temizler; W3C'nin tanımladığı HTML 4.01 içinde yer almayan etiketleri ve etiketlerin, standartta yer almayan özelliklerini siler. İşlenen verinin <BODY> etiketi içinde kullanılacağı düşünüldüğünden, bu bölümde yer alamayacak etiketlere de izin vermez.
SMS Gönder
PHP ile yazılmış bu fonksiyon, Türk Telekom'un SMS sayfasından, SMS mesajı gönderir. SMS gönderebilmek için öncelikle Türk Telekom'dan kullanıcı adı ve parola almak gerekmektedir.
Clickatell SMS Gönder
Python ile yazılmış bu betik, Clickatell üzerinden SMS mesajı gönderir. SMS gönderebilmek için öncelikle Clickatell hesabı açtırmak ve HTTPS API almak gerekmektedir.
Btrieve Kurcalama
Python ile yazılmış bu betik, BUTIL adlı Btrieve aracını da kullanarak bir muhasebe programının tablolarındaki TL bilgilerini, YTL'ye çeviriyor. Aynı muhasebe programını kullanmayanların işine yaramayacak olsa da fikir almak amacıyla bakılabilir. BUTIL adlı uygulama ücretsiz olarak Pervasive'in sitesinden temin edilebiliyor. Benim kurcaladığım Btrieve tablolarında TL bilgileri, double (8 Byte'lık kayan noktalı sayı) biçiminde tutulmaktaydı.
Bilyalı Burç için G/M Kod Üretici
Python ile yazılmış bu betik, kalıp setlerinde kullanılan bilyalı burçları, C eksenli CNC tornada işlemek için kullanılabilecek G/M kodunu üretir.
Delta MODBUS Modülü
Python ile yazılmış bu modül, Delta ASDA-A, Delta ASDA-B serisi servo sürücüler veya Delta PLC'ler ile MODBUS protokolüyle haberleşebilmek için gerekli altyapıyı sağlar. Bağlantı için bilgisayarın seri portlarından biri kullanılmalıdır.
Delta Port Tarama
Python ile yazılmış bu kod, Delta ASDA-A, Delta ASDA-B serisi servo sürücü veya Delta PLC tarafından kullanılan haberleşme protokolünü tesbit eder. Desteklenen baudrate, databits, stopbits v.b. bilgileri listeler. Kodun çalışması için aynı klasöre Delta MODBUS modülünü de koymak gerekmektedir.
Delta ASDA-A Parametre Yedekle
Python ile yazılmış bu kod, Delta ASDA-A serisi servo sürücünün bütün parametrelerini okuyup yedeklemek için kullanılır. Kodun çalışması için aynı klasöre Delta MODBUS modülünü de koymak gerekmektedir.
Delta ASDA-B Parametre Yedekle
Python ile yazılmış bu kod, Delta ASDA-B serisi servo sürücünün bütün parametrelerini okuyup yedeklemek için kullanılır. Kodun çalışması için aynı klasöre Delta MODBUS modülünü de koymak gerekmektedir.
Delta ASDA-B Parametre Yaz
Python ile yazılmış bu kod, Delta ASDA-B serisi servo sürücünün istenilen parametrelerini grup halinde set etmek için kullanılır. Kodun çalışması için aynı klasöre Delta MODBUS modülünü de koymak gerekmektedir.
SEW MoviDrive Seri Haberleşme Modülü
Python ile yazılmış bu kod, SEW servo sürücüler ile MOVILINK protokolü ile haberleşmek için gerekli altyapıyı sağlar. Bağlantı için bilgisayarın seri portlarından biri kullanılmalıdır.
Barkod Okuyucu
Python ile yazılmış bu kod, seri porttan haberleşen barkod okuyucudan barkod bilgisini alır ve bunu MySQL veritabanında ilgili tabloya kaydeder. SICK barkod okuyucu ile denenmiştir, ufak değişikliklerle başka okuyucularla da çalışabilir.
Markem CimComms Modülü
Python ile yazılmış bu kod, Markem yazıcılarla ethernet üzerinden CimComms protokolü ile haberleşmek için gerekli altyapıyı sağlar.
Hattaki Ürünü Tanıma ve Etiketleme
Python ile yazılmış bu kod, bir hattan gelen ürünler üstündeki barkodu, SICK barkod okuyucu ile okur ve Markem yazıcıya, bu ürün üstüne basacağı etiketi yükler. Yazıcı kafalarını, Sew servo motoru vasıtası ile kontrol ederek pozisyonlar.
RS-232 Sniffer
Python ile yazılmış bu kod, seri porttan haberleşen iki cihazın arasına girerek trafiği dinler, iki cihazın haberleşmesi normal devam eder. Programı çalıştırmadan önce cihazın birini birinci seri porta, diğerini ikinci seri porta bağlamak ve seri port ayarlarını cihazlara uygun şekilde ayarlamak gerekmektedir.
BIOS Reset
C ile yazılmış bu kod, bazı tip BIOS'ları resetler. root olarak çalıştırılması gerekmektedir.
Servis Başlat
Bu kabuk betiği, bir uygulamayı servis olarak başlatmak ve durdurmak için gereken kodları içerir. Betiğin /etc/init.d/ klasörüne konması ve update-rc.d ile makine açıldığında otomatik başlatılacak şekilde ayarlanması gerekir.
|