Mutluluk

Mutluluk filmine gittim, izledim ve beğendim. Bir kaç hafta önce izleme hatasına düştüğüm 300 spartalı saçmalığından dolayı sinemaya sadece bağımsız sinema ve Türk filmleri için gitmeye karar verdim. Bu film ilaç gibi geldi :) Herkese tavsiye ediyorum. 300 spartalının gişe başarısını aşmasını deli gibi istiyorum...

Varsayılan Q klavyeyi F klavyeye dönüştürme

Bilgisayarınıza Windows işletim sistemi kurarken size hangi klavye türünü kullanmak istediğinizi sorar. Seçtiğiniz klayve varsayılan olarak atanır. Daha sonra klavye türünüzü her kullanıcı hesabı için ayrı ayrı değiştirebilirsiniz. ancak işletim sistemi varsayılan klavye ayarını değiştirmek için "registry(kayıt defteri)" üzerinde bir değişiklik yapmak gerekiyormuş.
Win2000 ve WinXP üzerinde, kayıt defterine girip şu değerleri yapıyorsunuz:

[HKEY_CURRENT_USER\Keyboard Layout\Preload] anahtarında ilk kaydı şöyle yapıyorsunuz
"1"="0001041F"

[HKEY_USERS\.DEFAULT\Keyboard Layout\Preload] anahtarında ilk kaydı şöyle yapıyorsunuz
"1"="0001041F"


0001041F değeri F klavyeyi
0000041F değeri ise Q klavyeyi belirtiyor

Ubuntu ve 3B Masa üstü

Ubuntu'nun uzun bir süredir (ve hatta bildiğim kadarıyla diğer GNU/Linux'lerin de) 3B masaüstünü desteklediğini duymuşsunuzdur. Ben bir kere denemiştim başaramamıştım. Bugün yapacak iş yok ya (:P kaytarma ("procrastination")) tekrar denedim ve başardım. Şu adreste Beryl ve Xgl kullanımıyla ilgili youtube'ta bulduğum videoyu inceleyebilirsiniz. Henüz videodaki çoğu şeyi başaramadım ama yavaş yavaş öğreneceğim :D

Masaüstümün ekran görüntüsü:

Videolar: Youtube Xgl Beryl Araması
Kurulum için: Install Beryl on Ubuntu

Haydi kızlar Elektrik Elektronik Mühendisliğine

Kampanya'ya destek verelim (:D)

Gmail'de aynı anda iki anlık ileti ekranı

İki farklı bilgisayarda, aynı anda gmail hesabınıza girerseniz, ve bütünleşik anlık ileti(chat) uygulamasını kullanırsanız; her iki bilgisayarda da yazdıklarınızı görebileceksiniz. A bilgisayarındaki yazışmalarınız B bilgisayarında açık olan yazışma ekranında da görüntülenecektir.Tek yaptığı pencereyi küçültmek. Bu ne işe yarar bilmiyorum, sadece merak ettim; sonuç böyle ;)

SQL Biçimlendirici

"Install SQL Formatter" çevrimiçi olarak kullanabilirsiniz. Arada sırada yazdığınız SQL'ın düzensiz hali sizi de benim gibi rahatsız ediyorsa tavsiye ederim.

Durum Tabanlı Çıkarsama (Case Based Reasoning)

Durum tabanlı çıkarsama (Diğer Türkçe karşılıklar (Olay|Durum|Vaka tabanlı çıkarsama|muhakeme|akıl yürütme|gerekçeleme))sunumunu Zeki Sistemler dersinde sundum. Merak ediyorsanız sunumu inceleyebilirsiniz.

Sunumu nasıl hazırladım: Bu ve önceki sunumu Latex Beamer kullanarak yaptım. Makaleleri ve sunumları artık sürekli Latex ortamında yazıyorum. İşimi çok kolaylaştırıyor. Diğer kelime işlem programlarındaki saçmalıklarla (biçimlendirmenin istediğiniz gibi olmaması) uğraşmak zorunda kalmıyorum (Hazır Latex sınıfları kullanarak biçimlendirme kolaylaşıyor). Yazma ortamı olarak Texmaker kullanıyorum. Debian ve Ubuntu'da güzel bir şekilde (Texlive altyapısını kullanıyor) çalışıyor. Ayrıca Lyx'te kullanabilirsiniz.

Bağlantılar: Ubuntu Texlive ve Texmaker kurulumu (İngilizce)
İnce bir Latex 2e Kitabı (Türkçe)
The beauty of LaTeX
LaTeX vs. MS Word

Ubuntu, Anjuta ve OpenGL

Daha önce Windows ortamında OpenGL kullanımını anlatmıştım. Fakat yaklaşık bir yıldır tamamen Linux kullandığım için OpenGL kullanma ihtiyacı doğduğunda aynı şekilde tercih ettiğim Linux C geliştirme ortamı olan Anjuta için de ayarlama yapmam gerekti.

Aşağıdaki aşamaları izleyerek OpenGL örnek kodumu çalıştırmayı başardım:

  1. İlk olarak OpenGL geliştirmesi yapabilmek için gereken paketi (freeglut3-dev) Synaptic paket yöneticisinden (veya sudo apt-get install freeglut3-dev komutuyla) kurmak gerekiyor. OpenGL geliştirmemiz için gereken başlık ve kütüphane dosyalarını bu paket kuruyor.
  2. Daha sonra Anjuta'yı açıp örnek bir kod yazıyoruz (Yazının sonunda bu kodu bulabilirsiniz)
  3. Anjuta'da derleme işini yapıyoruz (F9 tuşu veya menüden Build->Compile) ve derlemenin başarıyla tamamlandığını görüyoruz.)
  4. Çalıştırabilmek için önce Build komutunu (F11 veya menüden Build->Build) kullanmalıyız. Büyük ihtimalle hata verecektir. Çünkü uygun kütüphane ayarlarını yapmamız gerekiyor.Menüden Settings->Compiler and linker options açarak Libraries kısmına sırasıyla glut, GL ve GLU kütüphaneleri yukarıdaki metin kutusuna yazarak ve Add düğmesine basarak ekliyoruz. Şimdi Build dediğimizde hatasız çalışacaktır.
  5. Çalıştır dediğimizde (F3 veya Build->Execute) mavi üçgen içeren ufak bir pencere görmelisiniz (Bakınız aşağıdaki resimdeki ufak pencere).
Anjuta kullanmayarak komut satırından dosyanızın bulunduğu klasörde aşağıdaki resimdeki aşamaları izleyerek derleme ve çalıştırma işlemlerini yapabilirsiniz.(Kaynak kodu masaüstünde deneme klasörü altında Main.c dosyası içerisine yazdığınızı farz ediyorum)
Yukarıdaki penceredeki üçgeni görüyorsanız tebrikler, Linux içerisinde OpenGL kullanmaya başlayabilirsiniz.

Kaynak Kod:

#include <GL/gl.h>
#include <GL/glut.h>
void init(void);
void display(void);

int main(int argc, char *argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
glutInitWindowSize(250,250);
glutInitWindowPosition(100,200);
glutCreateWindow("Ýlk OpenGL/GLUT Programým");
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}

void init(void)
{
glClearColor(0.0f ,0.0f ,0.0f ,0.0f);
glColor3f(0.0f,0.0f,1.0f);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0f,(GLfloat)250/(GLfloat)250,0.1f,100.0f);
}

void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLES);
glVertex3f( 0.0f, 1.0f, -10.0f);
glVertex3f(-1.0f,-1.0f, -10.0f);
glVertex3f( 1.0f,-1.0f, -10.0f);
glEnd();
glutSwapBuffers();
}


Bağlantılar: http://www.cs.mcgill.ca/~msuder/557/tutorial/tutorial.html

Bağımlılık

Şimdi bugün internet kopmasıyla genel olarak yaşadığım sıkıntılardan birini yaşadım. İnternete olan bağımlılığımı yine farkettim (Evet Alternatif yaşam günlüğünde yazar olarak gözüken biriyim. Ancak daha çok teknik detaylarıyla uğraşıyorum. Pek alternatif bir hayat yaşadığım söylenemez.). Bu vesileyle şu soruyu sorma ihtiyacı duydum; sürekli olarak açık kalan siteleriniz var mı?

Evet benim var, sürekli takip ettiğim mutlaka açık olan siteler var. Önceden bu sayı daha fazlaydı. Sürekli olarak (günde en az bir kere) baktığım siteleri (özellikle haber ve günlük şeklinde olanları) google reader yardımıyla tek sayfada toplamayı başardım. Bu Firefox üzerinde tab çokluğu ve siteleri sürekli açma sıkıntımı aşmama yardımcı oldu. Şimdi en azından 4 tab (gmail, reader, pandora ve okunması gereken ama zaman bulunamayan en az 1 yazı) sürekli açık olarak kalıyor. Arada sırada da her ne kadar nefret etsem de milliyet'i açmadan duramıyorum. Bu bağımlılıktan da kurtulmayı istediğimi pek söyleyemem. İnternet o hale getirdi ki artık haberleri okumasam çıldıracakmışım gibi hissediyorum :P (tamam bu biraz abartı) Gerçi benim durumum da iyi sayılır. En azından msn bağımlılığım yok :)

RADIUS Server Nedir?

RADIUS (Remote Authentication Dial-in User Service) sunucular uzaktan bağlanan kullanıcılar için kullanıcı ismi-şifre doğrulama (authentication), raporlama/erişim süresi (accounting) ve yetkilendirme (authorization) işlemlerini yapar. Örneğin işyeri dışından şirket ağına bağlanmak için bu yapı kullanılabilir, kullanıcılar tek tek yetkilendirilebilir.

Daha çok internet servis sağlayıcıları tarafından kullanılsalar da, kendi kullanıcılarına hesap açma ve yetkilendirme yapabilmek için merkezi bir kontrol kurulmak istenen tüm ağlarda kullanılabilir. Geniş Wi-Fi (kablosuz) ağlarda da sıklıkla kullanılır.

RADIUS, UDP protokolü üzerine dayalıdır. 1812 nolu UDP portunu kullanır.

RADIUS için geliştirilmiş özgür yazılımlardan biri FreeRADIUS. Bu yazılımla yapabileceklerinizin bir kısmı şöyle:
  • Kişi bazında yetkilendime yapılabilir.
  • Gruplar tanımlanıp, farklı erişim hakları verilebilir.
  • Yapılan girişlerin kaydı tutulabilir.
  • Sisteme o an bağlı kullanıcı listesini gösterebilir.
  • Tek kullanıcının aynı anda iki bağlantı yapması engellenebilir.
  • Proxy kullanımını destekler
FreeRADIUS, şu işletim sistemleri üzerinde çalışabiliyor :AIX, Cygwin, FreeBSD, HP-UX, Linux (CentOS, Debian, Mandriva, RedHat, SUSE, Turbolinux, Ubuntu), Mac OSX, NetBSD, OpenBSD, OSF/Unix, Solaris.


Kaynak:
www.freeradius.org

Quilapayun

Seviyorum ben müziği...

Hele şu davulların gümbürtüsü beni çoşturuyor.

Normalde sadece Inti Illimani'yi biliyordum. Ama bir şekilde Quilapayun adını duydum. Müziklerini bulma şansım olmamıştı ama Pandora'da kendime güzel bir (Inti Illimani, Quilapayun ve Gustavo Santaolalla temelli) kanal oluşturdum sürekli dinliyorum. Çok hoşuma gidiyor Güney Amerika halk müziği....

Pandora Profil Sayfam

DMZ senaryoları

Kendi ağınızda bir DMZ oluşturmak için kullanılması uygun gibi görünen iki yaklaşım var:

Birincisi "three-homed firewall configuration" olarak adlandırılıyor ve bir makina üzerine 3 ethernet kartı takılmasını gerektiriyor. Şekilde bu yapı görülebilir.


Her ağ kartı ayrı bir ağa bağlanmak için kullanılıyor.

Ağ kartı 1 iç ağa bağlanır.
Ağ kartı 2 DMZ ağına bağlanır.
Ağ kartı 3 Internet'e bağlanır.

Bu yapıda DMZ ve iç ağ tek bir yerden yönetilebilir ancak saldırılara karşı çok güçlü değildir.


Diğer yöntem ise "Back-to-Back Firewall Configuration" olarak bilinir ve iki ayrı sunucunun "firewall" olarak kullanılmasını gerektirir.


Bu yapı öncekine göre, saldırılara karşı daha dayanıklıdır. Bunun yanında ağ yönetimde daha detaylı çalışmalar yapabilmenizi sağlar. Ancak daha karmaşık bir yapıda olması nedeniyle,kurulum ve gerekli ayarların yapılıp sistemin devamlılığını sağlamak daha zordur.

Kaynak: http://www.samspublishing.com/articles/article.asp?p=25488&seqNum=8&rl=1

DMZ ( De-Militarize Zone / Silahsızlandırılmış Bölge )

Dmz nedir ?

Cevap : DMZ ( De-Militarize Zone / Silahsızlandırılmış Bölge ) ;
Ağınızda Internet'den erişimi olması gereken web, posta gibi sunucular bulunabilir. Bu sunuculara erişimi iki yoldan vermeniz mümkündür:

· Silahsızlandırılmış bölge uygulaması (DMZ - Demilitarized Zone)

· İç ağınızda bu servislere doğrudan filtreleme yaparak.

DMZ, güvenlik duvarı tarafından daha az korunan, daha fazla erişime izin verilen bir bölgedir. Güvenlik duvarına üçüncü bir ağ çıkışı eklenmesi ve Internet'e servis verecek olan makinaların buraya konulması ile oluşturulur. Örneğin DMZ'deki makinalara NAT uygulanmayabilir, tahsisli IP numaralarına sahip olabilirler. Güvenlik duvarı, telnet, ssh gibi kimi protokollerin buraya erişimini filtreleyerek DMZ bölgesindeki makinalara güvenlik sağlar. Dikkat edilecek nokta, DMZ'de bulunan makinaların daha fazla erişime (ve dolayısıyla saldırıya) açık olmasıdır. Buradaki makinalar dikkatli kurulmalı, güvenliğe aykırı protokoller vs. burada yer almamalıdır.


Kaynak : http://www.cozum.com.tr/billiond.asp#dmz

Python ve Kabuk (Shell) Programlama

Daha önce yapmış olduğum python örneğini bir kabuk programı (shell script) olarak çalıştırmak isterseniz aşağıdaki gibi yazmanız ve çalıştırma izni vermeniz daha sonra kabuk programları şeklinde çalıştırmanız işe yarayacaktır. Diyelim python'a iyice alıştınız o zaman bash yerine python scriptleri yazmak için kullanabilirsiniz. Hatta python yerine diğer kurulu dilleri de kullanabileceğinizi düşünüyorum.
#!/usr/bin/python
import commands,sys,os

def DU(girdi):
try:
#Parametre olarak verilen dizinin boyutlarini bulacagiz
#Boyut 1024 byte'in katlari seklinde
for dizin in girdi:
komut = commands.getstatusoutput("du -ks '"+dizin+"'")
#komut[0] komutun durumunu, komut[1] ciktisini sakliyor
print komut[1]
except:
print "Unexpected error:", sys.exc_info()[0]
raise
#Programi calistiralim
if(len(sys.argv)>1): DU(sys.argv)
else: DU(["/home/emre"])
sys.exit()

Yukarıdaki kodu (aşağıdaki resimdeki satırların içte olması gibi yazmalısınız python buna göre blokları (mesela for döngüsü) belirlemektedir) mesela DiskUsage adında bir dosyaya yazın (nano DiskUsage diyorsunuz açılan yere kodu yapıştırıp CTRL+X ile çıkıyorsunuz ve kaydetme sorusuna Evet (Yes'te olabilir) diyorsunuz. Dilerseniz gedit veya kwrite tarzı editörler kullanabilirsiniz.).
Daha sonra chmod +x DiskUsage komutunu çalıştırın. ./DiskUsage komutuyla yukarıda yazdığınız komut çalışacaktır. Komuta argüman verip dilediğiniz bir klasörün kullanım bilgilerini de inceleyebilirsiniz. Erişemediğiniz klasörler için sudo komutu işe yarayabilir.
Aşağıda komut satıri resmini inceleyebilirsiniz:
Elbette siz de diğer betik dilleri (mesela ruby falan) için bunu deneyebilirsiniz.
Kaynaklar:
http://www.ibiblio.org/g2swap/byteofpython/read/index.html
Dive Into Python For Loops
Linux altında pratik programlama

"Sağ tarafta Oz dizisinin 1. sezonunun 7. bölümü oynuyordu."

musicovery.com

Gün içerisinde canınız sıkılırsa şu siteyi tavsiye ederim:

musicovery.com

Çok Bilinmeyenli Denklemler

Bunu yazmadan edemeyeceğim, internette çok bilinmeyenli denklemler veya dört bilinmeyenli denklemler diye aratıyorsanız doğal olarak matematik ile ilgili sayfalar beklersiniz. Karşınıza ne çıkıyor? Google'ın sonuçlarının ilk sayfasında ben işime yarayacak bir bağlantı bulamadım. Zaten dört bilinmeyenli denklem diye aratınca hem daha az sonuç çıkıyor hem de aynı şekilde işe yarar bir bağlantı yok :) Demek ki bu terimin ingilizce karşılığını bulup o şekilde aratmak gerekecek.

"Yürüdüğüm bütün yollar yokuş çıktı"