6 Temmuz 2016 Çarşamba

Sorularla

Nasıl kandıralım kendimizi? Günleri bayram ilan etmek, onları bayram yapıyor mu? Kaç acı eskittik? Kaç ölüm gördük?

"Yüzlerce soru
Vardı aklımda,
Kulaklarımda
Bir garip uğultu
Ölümü kullanamazdım;
Biryerlerde
Birilerine
Mutlaka ayıp olurdu. "

demiş Metin Altıok, Sorularla şiirinde.
Derdi günü kedisiz ve sevgisiz getirmemekti ömrünün sonunu
Yakarak öldürdüler onu. Kedisiz ve sevgisiz...
O kadar acı var ki bu topraklarda nasıl ölürsen öl birilerine mutlaka ayıp edersin.

Ne zaman mutlu olmam beklense bu şiir gelir aklıma:

İşte yine kapıldım
O can sıkıntısına;
İçimde bir tozlu
Sarnıç boşluğu,
Gitmekle kalmak
Arasında kararsız
Yürüdüm kederle
Dağlara doğru.

Yüzlerce soru
Vardı aklımda,
Kulaklarımda
Bir garip uğultu
Ölümü kullanamazdım;
Bir yerlerde
Bilmediğim birilerine
Belki ayıp olurdu.

Belki de hiç
Ummadığım
Sevgisi tarazlı biri;
Koparıp bana ilişik
Umudunu
Bir kitabın arasında
Yamyassı
Kuruturdu

Bir gazetenin
Ölüm ilanlarında
Okuyup adımı,
Öfkeye dönüştürürdü
Sandık kokulu
Hüznünü
Ve ölümü inatla,
Yok yere savunurdu.

Ben bunca yıl
Bunca insan tanıdım
Yüreği zehir dolu;
Yine de insanlardan
Kesmedim umudu.
İnsan dedim
Yekindim;
Paylaştım varı yoğu.

Ben neden
Dudaklarının arasında
İğneler tutan
Bir terzi suskunluğunu
Prova ediyorum
Şimdi bu yol boyu
Kederle yürürken
Dağlara doğru?

Neden kedi seven
Bir insan
Olduğumu
Biliyorum da
Kedisiz ve sevgisiz
Getiriyorum
Yaşadığım günlerin
Yaprak döken sonunu?

Cevapsız sorunun
Boynu büküktür,
Hemen anlar
Yetim olduğunu.
Ben neden hala
Duyuyorum avucumda
Bir çocuk elinin
Sızlayan boşluğunu?

Hipodromda yatıp
Kalkan bir adamın
Ölü bulunduğunu
Yazdı gazeteler
Geçenlerde
Haber olarak.
Tokatlıymış
Ya da Çorumlu.

Bıraktığı nottan
Öğrenilmiş
Son isteğinin
Ölürse terminale
Götürülmek olduğu.
Hipodromda yatıp
Kalkan bir adam
Kimin umuru!

Acılarla sorularla
Tiftikledim
Bunca insanın
Mutsuzluğunu.
Düşündüm kendi sonumu.
Hayrettir;
İçim içime
Nasıl da sığıyordu!

Oysa ben kaç yıldır
Kaç acı eskittim
Unuttum
Kaç ölüm gördüğümü.
Bir omzumun
Alçaklığı ondandır;
Taşıdım kaç kişinin
Kanayan tabutunu.

Yıllar önce
Ölümü seçen sevgilim
Bunca sevgisizlik içinde
İyi biliyordu
Yetmeyeceğini
İki kişinin birbirine.
Bu yüzden döşeğinde
Ölümle buluştu.

Gömdük onu geçiştirip
Polis sorgusunu.
Onunla birlikte
Neleri gömdük;
Bir akşam içkisinin
Coşkusunu,
Sevincimizi gömdük
Kürek dolusu

Yüzlerce soru
Vardı aklımda,
Kulaklarımda
Bir garip uğultu
Ölümü kullanamazdım;
Biryerlerde
Birilerine
Mutlaka ayıp olurdu.

Dostlardan uzakta
Bir bozgun akşamında
Gerisingeri
Dönerken kasabaya;
Baktım gökyüzü
Birden yıldızla doldu.
Akşamın serinliği
Alnıma vuruyordu...

Metin Altıok



7 Şubat 2016 Pazar

Mutluluğun formülü: Özgür Yazılım Projeleri Yapmak/Katkı vermek

Dünyanın büyük çoğunluğu yaşam savaşı verirken benim gibi durumu iç güveysinden hallice beyaz yakalı tayfasının sınıfsal olarak arada derede kalmış, bir türlü mutlu olamayan, sürekli boşluk içinde kıvranan hayatının tek arayışı olan mutluluk...

Tarihin başlangıcından bu yana mutluluğun ne olduğu ve nasıl yakalanacağı konusunda bir hayli lakırdı edildi ve edilmeye devam ediyor. Tabi ki bu yazıyı bitirdiğinizde de bu sorularınıza cevap bulmuş olmayacaksınız. Ama kendi yapmaktan mutlu olduğum şeyleri, başkaları da yapınca mutlu olur belki diye paylaşmak istedim.

Mutluluğun sürekli bir fonksiyon olmadığını bir türlü kabul edemememiz sürekli mutsuz kalmamızdaki birinci neden. İkincisi ise insan bencildir öğretisi. Hayatta kalmamızı bu içgüdü sağlıyormuş. Bunu tam olarak yalanlayamayız evet ama özgeciliğin (diğerkamlık) canlı türlerinin (sadece insan topluluklarının değil diğer canlı türlerinin de) hayatta kalabilmesine sağladığı katkıya hakkı yeterince teslim edilmemektedir. Hatta biraz daha ileri giderek bu katkının bilerek, sistematik bir şekilde görmezden gelindiğini söyleyebilirim. Bize hep ne kadar bencil olursak o kadar mutlu olacağımız söyleniyor ve hatta dünyanın bu fikir tarafından yönetildiğini hepimiz biliyoruz (ayrıca bakınız: kapitalizm, bireycilik, rasyonel bencillik). Mutluluğun gerçekten de bencillikte olmadığını her gün giderek üstel olarak artan bir doğrultuda öğreniyorum.


Gelelim bu üç paragrafın özgür yazılım ile alakalı kısmına. Yaklaşık bir sene önce, Akademik Bilişim 2015 konferansı öncesi kurslarda üniversiteden arkadaşım Ahmet Can ile dört günlük “Python ve Django ile web uygulaması geliştirme” kursu vermiştik. Kursa kayıt süreçlerinin çok fazla bilek gücü gerektirmesi ve Mustafa Akgül hocanın bunlarla tek başına başa çıkmaya çalışması dolayısıyla bu süreci mümkün olduğunca otomatik hale getirmek için kolları sıvadık. Bir kayıt paneli oluşturmaya karar verdik. Lakin bir çok konuda defalarca tartışıp, kavga edip, küsüp sonra tekrar barıştıktan sonra Akademik Bilişim 2016 öncesi kurslara kayıt almaya başlama tarihi olan 2 Ocak'tan yaklaşık 1 ay öncesine kadar didişmekten pek bir şey kodlayabildiğimizi söyleyemeyeceğim:) Bir aylık sürecin sonunda kayıt almaya başlayıp ve dahi kurslar başlayana kadar bu sistemi adam etmek için uğraştık. Bizim için küçük insanlık için önemli bir adımmış. Bu işe girişmeden önce ve yaparken hep neden bu işe bu kadar takıldığımı düşünüp durdum. Çoğu zaman iş yerinde girdiğimden daha çok strese girip bu işi bitirmek için uğraştık Ahmet'le. Ne içindi? Buna şöyle cevap veriyordum: ikimizde çalışmayı çok seven insanlarız ve insan enerjisini her zaman sadece patronları bir üst model araba alabilsin diye harcamamalı. Akademik Bilişim öncesi kursların bir çok insanı bilişime kazandırdığına ve dokunduğu insanlara gerçekten değer kattığına inanıyorum. Bu kurslardan daha fazla insanın faydalanabilmesi için bilek gücü gerektiren işlerin azalması gerekiyor. Sadece bu düşünce bile insanı motive etmeye yeterli iken bir de kurslar esnasında neredeyse her gören eğitmenin dönüp teşekkür etmesi ayrı bir mutluluk kaynağı oldu bizim için. Günlük hayatta 8-17 mesai saatleri içerisinde (ne kadar özveri ile yapmış olursanız olun) yaptığınız işler için teşekkür almazken (ya da lafın gelişi teşekkür ediliyorken), topluluğa yapılan katkıların böyle içten teşekkürleri insanı gerçekten mutlu ediyor. Mutlu olmak için siz de bir özgür yazılım projesi oluşturun veya katkı verin. Emin olun yüzde yüz çalışıyor;)

25 Ağustos 2013 Pazar

Bir acayip memleket - Karadeniz



İşte başlamıştı aylarca gitmek için deli gibi heyecanlandığımız gezimiz. Hakkında çok güzel olduğu ve derelerinin katledildiği dışında hiçbir bilgimin olmadığı coğrafyaya doğru yolculuk oldukça heyecanlıydı benim için.
İlk durak Kastamonu… Bahsi güncel hayatımda hiç geçmeyen bir şehirden bu kadar güzel olmasını beklemiyordum açıkçası. Otobüs duraklarının bile tarihi yapıya uygun yapılması hayranlığımı arttıran bir unsur oldu.

Kastamonu’dan sonra birçok acı olayın yaşandığı ünlü bir cezaevini de içerisinde bulunduran Sinop’a doğru yola çıktık. Öncelikle Hamsilos koyuna ulaştık. Tüm turda geçirilen zamanı sadece Hamsilos’ta denizin tadını çıkararak da geçirebilirdim. (Benzer cümleyi gezdiğim birkaç başka yer için de kullanacağım.)


Hamsilos koyu - Sinop

Bana göre bir yeri gezmek orayı tanımaya yetmiyor tat duyusu ile taçlandırmak gerekli.  Hamsilos’tan sonra Sinop merkeze, çok övdükleri Sinop mantısından tatmaya gittik. Şehrin yemekleri o bölge tarihinin nişanesi gibidir. Cevizli mantı Gürcü halkının Sinop üzerindeki etkisi hakkında belge niteliğindeydi. Çok da lezzetliydi:)


                     Yoğurtlu/Cevizli Karışık Sinop Mantısı

Sinop kotralarını da unutmamak gerekli. Bölgede önemli bir geçim kaynağı olur kendisi. (bkz.: kotracılık)


                       Kotracılık

Kotra satın alıp ekonomiyi canlandırdıktan sonra sıra gezmesi oldukça hüzün veren Sabahattin Ali’nin “Aldırma Gönül” şiirini yazdığı Sinop cezaevine geldi. Benim 2-3 dakika bile duramadığım koğuşlarda, kapısından içeri bakmaya korktuğum zindanlarda insanların yıllarca yattığını düşünmek gerçekten acı vericiydi. Orada kalanlar suçlu da olsa azami olarak insani şartların sağlanmasını bekliyor insan.



"Dışarıda serbest gezene
Hapiste yatan hor gelir."
Sabahattin Ali
Sinop cezaevinin hemen yakınında Diyojen’in heykelini bulmak bana oldukça ironik geldi. Hayatın anlamını sorgulatırcasına duruyordu orada:


“Gölge etme başka ihsan istemem.”

Sinop’tan sonra Ordu’ya geçip orada konakladık. Sabah Boztepe’de Ordu manzarasıyla içilen kahvenin tadı bir başka oluyormuş. Manzara için bkz.:


           Boztepe - Ordu

Kiliseden müzeye, müzeden camiye dönüştürülen Ayasofya’ya gelmişti sıra. Oranın da bende bıraktığı hissiyat faşizm en çok da din üzerinden gösteriyor kendini olmuştu. Adım başı cami varken (bir tane daha camiye hiç ihtiyaç yokken), içinde köklü bir tarihi barındıran bir kiliseyi cami yaparak güç gösterisi yapılmaya çalışılması faşizmden başka bir şeyle açıklanamaz doğrusu.


               Ayasofya Müzesi - Trabzon

Ayasofya’dan çıkıp telkari alışverişimizi yaptıktan sonra Akçaabat’ta yemeğimizi yedik. Tıkabasa yemek yemiş olmama rağmen tatlı sevmeyen bir insan olarak “ikinci porsiyonu istesem mi” diye düşündüğüm fındıklı saray burması hala aklımdan çıkmıyor:)



Sıra Sümela Manastırı’nda idi. Yükseklik korkusu olan bir insan için 1150 rakıma çıkmak ciddi anlamda bir macera:) Karester yaylasına(2200 rakım) çıkana kadar yaşadığım en büyük macera buydu. Ama gördüğüm güzelliğe değdi doğrusu.


Sümela Manastır’ından

Burayı gördükten sonra İstanbul’a nasıl dönebildiğime hala şaşırıyorum.



O gece Maçka’da konakladıktan sonra sabahına tura dahil olmayan, Karadeniz ile Orta Anadoluyu birbirine bağlayan Zigana geçidine oradan da Hamsiköy’de sütlaç yemeye gittik. Sütlaç çok lezzetliydi.


Hamsiköy Sütlacı

Sonrasında Fırtına deresi, Fırtına vadisi, Çamlıhemşin ve Zilkale. Üzerine de Ayder’e çıkınca Karadeniz’e aşık olmamak elde değil. Cennetin tasviri buralar baz alınarak yapılmış olmalı diye düşünüyorum. Ama maalesef HES denilen baş belası buradaki dereleri de yok etmeye ant içmiş gibi.



                                             Rize

Turda beni en çok meraklandıran kısım Batum olmuştu. İlk kez Türkiye sınırları dışına çıkıcak olmamın da bunda etkisi vardı tabi. Gümrükte Gürcü memurların muameleleri hakkında hiç güzel şeyler duymamama rağmen memurun, “Ozge, hoşgeldin” diye beni karşılaması çok hoşuma gitmişti:)
Batum hakkında söylenecek çok fazla şey varken ve söylenmişken bir nokta benim oldukça dikkatimi çekti. Sovyet Rusya zamanından kalma köylerden gelen işçilerin konaklaması için yapılmış lojmanları şehrin birçok yerinde görmek mümkün. Şehrin her tarafına Avrupai mimariyi hakim kılma çabası dikkati çekerken bu lojmanların göze hoş gelmediğini itiraf etmem gerekiyor. Ama burada yalnız ve güzel ülkemdeki mevsimlik işçilerin hallerini aklıma getirmeden edemedim. Doğudaki illerden Çukurova bölgesine gelen tarım işçilerinin 21. yy Türkiye'sinde hala çadırlarda berbat şartlarda konaklıyor olduğunu görmek burun kıvırdığımız Sovyet Rusya’dan öğrenmemiz gereken çok şey olduğunu hatırlattı bana bu lojmanlar. Tabi bahsettiğim lojmanların, özellikle sahil şeridinde olanların yıkıldığını ve yerine otellerin dikildiğini gördüm. Bir çokları için yeni hali daha güzel. Ama bana sorarsanız lojmanların balkonundan denizi seyredebilme özgürlüğüne sahip halkın görüntüsünü hiçbir otelin görüntüsüne değişmem.



Batum’da genel olarak meydanlara ve halkın ortak kullanımına açık alanlara oldukça önem veriliyor.
Batum’daki tek misafirperver ibadethane olduğu için Ermeni kilisesinin fotoğrafını buraya koymayı bir vefa borcu bilirim. (Not: Kiliseye ayakkabıyla girdik.)



Ertesi gün sıra Uzungöl ve Karester Yaylasına gelmişti.

                                                 Uzungöl


                                        Karester Yaylası (rakım 2200)

8 günlük gezi sadece bu iki yerden ibaret olsaydı bile yeterdi:)

Buradan sonra Trabzon’daki Atatürk köşkünü ziyaret ettik. Burada bulunan bir haritada Dersim bölgesi üzerinde Atatürk’ün yapmış olduğu bazı karalamalar mevcut. Atatürk'ün Dersim katliamı sırasında burada bulunuyor olması da dikkat çekiciydi benim için.




Sonraki gün Samsun’da Bandırma vapurunu ve Amasya’yı ziyaret ettik. Amasya hakkında elmasından başka bildiğim hiç bir şeyin olmaması garipti ve bilmediğim ne kadar çok güzellik  olduğunu hatırlatır nitelikteydi burası.



Ve son güne geldiğimizde bütün günümü son gün olmasına üzülmekle geçirdim. Bir hafta boyunca, daha önce hiç mutlu olmadığım kadar mutlu olmuştum. Ben her ne kadar hüzünlü olsam da o gün de diğer günler kadar güzeldi. Son gün Safranbolu ve Amasrayı gezdik. Safranbolu, yaşayan tarih. Oradaki saat kulesinin bakımını yapan seksen beş yaşında bir amca varmış ve bu işi bilen yaşayan tek kişiymiş. O amcanın çırağı olup bütün hayatımı saat bakımı yaparak geçirmeyi ciddi ciddi düşündüysem de şuan yaptığım işi de sevdiğimden bu hayalimi ileri bir tarihe erteledim şimdilik:)



Son durağımız Amasra oldu. Fatih Sultan Mehmet’in buranın güzelliği ile ilgili söylediklerine hak vermemek mümkün değil.


    “Lala lala, çeşm-i cihan bu m’ola?” - Fatih Sultan Mehmet

Amasra’dan sonra İstanbul’a doğru yola koyulduk. Ancak burada bize rehberlik eden Okan Sarıdiken’den bahsetmeden edemeyeceğim. Karadeniz aşığı bir Karadenizli ile Karadeniz’i gezmek kendimi çok şanslı hissettirdi. Tam bir yoldaştır kendisi. Tanıştığınıza gerçekten memnun olacağınız ender insanlardan:)



Turun tek kötü tarafı oraları gördükten sonra İstanbul’daki hayat daha az katlanılabilir bir hal alıyor. Bir sonra ki çıkacağım kültür turlarını düşünerek bir nebze kendimi teselli etmeye çalışıyorum.



31 Ağustos 2010 Salı

Python soket programlama

Python'la soket programlama:

1.socket modülü
socket() fonksiyonu: soketin oluşturulması için kullanılır.

İstemci Program

host= "localhost"
port= 21567
buf = 1024
addr = (host,port)

  • host: Bir host ismi veya IP adresi olabilir. Ben yerel olarak programları denemek istediğim için host="localhost" yazdım. Sunucu internet üzerindeyse IP adresi ve ya domain name kullanılır.
  • port: Bir numara veya sembolik servis ismi olabilir.
  • buf: Soketten transfer edilecek verinin maximum büyüklüğünü ayarlamak için kullanılan değişkendir.
  • addr: İki elemanlı bir demettir ( tuple ). Bu değişken sunucuya mesaj gönderirken kullanılır.
Soketin oluşturulması:

TCPSock=socket(AF_INET, SOCK_STREAM)

Bu kod haberleşmenin TCP protokolüyle yapılacağını gösterir. Bununla yapmamın sebebi FTP 'nin TCP üzerinde çalışması.

Bu parametrelerin anlamı:

  • AF_INET: TCP ve UDP için IPv4 protokolleri
  • AF_INET6: TCP ve UDP için IPv6 protokolleri
  • AF_UNIX: UNIX domain protokolleri
Soket tipi,soket akışında kullanılan iletişim tipidir.Bunlar beş çeşit:
  • SOCK_STREAM: İletişim tabanlı TCP byte akışı
  • SOCK_DGRAM: Datagramların UDP ile transferi, sunucu- istemci doğrulamasına gerek duymayan kendi kendine yeten IP paketleri için...
  • SOCK_RAW: Henüz olgunlaşmamış soketler
  • SOCK_RDM: Güvenilir datagramlar için
  • SOCK_SEQPACKET: Bağlantı üzerinden kayıtlar için bir dizi transfer.
sendto() fonksiyonunu kullanarak sunucuya mesaj göndermek için kod

msg="Sunucuya gönderilecek mesaj"

TCPSock.sendto(data,addr)
--------------------------------------
#!/usr/bin python
# -*- coding:utf-8 -*-



from socket import *

# Soket parametreleri oluşturulur
host = "localhost"
port = 21567
buf = 1024
addr = (host,port)

# Soketin oluşturulması
TCPSock = socket(AF_INET,SOCK_STREAM)

def_msg = "===Sunucuya gönderilecek mesajı giriniz===";
print "\n",def_msg

# Mesajın gönderilmesi
while (1):
data = raw_input('>> ')
if not data:
break
else:
if(TCPSock.sendto(data,addr)):
print "Sending message '",data,"'....."

# Soketin Kapatılması
TCPSock.close()
----------------------------------------------------------------------------------------
Sunucu Programı
Sunucu programda socketi aynı şekilde kuruyoruz. İlk başta değişkenleri oluşturuyorulur:

host= "localhost"
port= 21567
buf = 1024
addr = (host,port)

Soket oluşturulur:

TCPSock = socket(AF_INET,SOCK_STREAM)
Adresi bağlamak için gerekli kod:

TCPSock.bind(addr)

data,addr=TCPSock.recvfrom(buf)
print data
--------------------------------------------------------
#!/usr/bin python
# -*- coding: utf-8 -*-

# Server program

from socket import *

# Set the socket parameters
host = "localhost"
port = 21567
buf = 1024
addr = (host,port)

# Create socket and bind to address
TCPSock = socket(AF_INET,SOCK_DGRAM)
TCPSock.bind(addr)

# Receive messages
while 1:
data,addr = TCPSock.recvfrom(buf)
if not data:
print "Client has exited!"
break
else:
print "\nReceived message '", data,"'"

# Close socket
TCPSock.close()

-------------------------------------------------------------------------------------------
Ben projemde öncelikle ftp protokolünü kullanacağım. Bunun için pythonda ftplib modülü bulunmaktadır.

Python'da FTP istemcisi oluşturmak

İlk adım ftplib modülünü import etmektir.

import ftplib

"socket" modülü arayüze ihtiyac duyan tüm python modülleri tarafından kullanılır. FTP kütüphanesi bunlardan farklı değildir. FTP kütüphanesi öncelikle SOCKS modülüne dayanır, ama eğer model bulunmazsa socket modülüne başvurulur.

Bağlantının başlatılması

Python'a hangi siteye bağlanması gerektiğini söylüyoruz:

ftp = ftplib.FTP('ftp://baglantikurulacaksite.com')

Burada ftplib kütüphanesinin FTP sınıfından bir nesne oluşturuyoruz. Bu sınıftan bir nesne oluşturabilmek için gerekli minimum argüman sunucunun URL'sidir. Bu URL başlangıç değeridir ve geriye bir soket nesnesi döndürür. Bunu ftp değişkenine atadık. Eğer istersek log in bilgilerini de buradan girebiliriz. Bunun söz dizimi şöyle;

handle=ftplib.FTP(host,username,passwd,account_name)

Soket bağlantısı oluşturuldu ama henüz sunucuda oturum açamadık. FTP sınıfı sunucuda oturum açmak için şöyle bir metoda sahip;

ftp.login("mylogin","mypassword")

Daha sonra ne yapılacağı ftp bağlantısını neden açtığımıza bağlı. ftplib modülü binary ve text formatında saklama ve bulup getirmek için metod sağlar.

Text formatı için metodlar:

  • x.storlines(command,file): satır modunda bir dosyayı saklamak için kullanılır.
  • x.retrlines(command,callback): satır modunda bir dosyayı getirmek için kullanılır.
Her method için minimum 2 argüman verilmesi lazım. Her ikiside çalıştırılacak olan komutun açıkça deklare edilmesine gereksinim duyar.

Saklamak için en yaygın komut 'STOR', bulup getirmek içinse 'RETR' dir. Bunlardan başka kullanılan komutlarda vardır.


Söz konusu olan her iki komutun ikinci bölümü dosya ismidir.


'STOR filename' 'RETR filename'

Her metodun ikinci argümanı ne yaptığımızla alakalıdır. Saklamak için dosya nesnesi getirmek için bir callback içerir. Bu callback dosya getirildiğinde ne yapılacağını söylemek için bir fonksiyondur.

Binary mode'ta FTP saklama (store) ve getirme (retrieve)

Binary mode'taki metodların söz dizimi de bir önceki ile aynı ;

  • x.storlines(command,file[,blocksize]): satır modunda bir dosyayı saklamak için kullanılır.
  • x.retrlines(command,callback[,blocksize[,rest): satır modunda bir dosyayı getirmek için kullanılır.
Binary ve text arasında 2 önemli fark vardır.

Birincisi her iki binary komutu seçimli blocksize argümanı için olanak sağlıyor. Bu yüzden binary mode daha hızlıdır.

İkincisi binary retrieve fonksiyonlu seçimli rest argumanına sahiptir. Bu argüman bir dosyanın ortasından indirmeye başlamaya yarar. Bu fonksiyon bütün FTP serverlar tarafından desteklenmez. Eğer sunucu desteklemiyorsa bir error_reply uyarısı alınır.