La Fontaine’den Masallar

05 Ocak 2010

La Fontaine’den Masallar – Nazım Hikmet

2009′da en çok zevk alarak okuduğum kitaplardan biri. Hani, ne La Fontaine ile ilgili ne de Nazım Hikmet ile ilgili cümle kurmak haddime :) . Hala ara ara dönüp, rastgele bir sayfa açıp okuyorum.
Çok güzel, çok çok güzel…

CISSP hazırlık Kitapları

05 Ocak 2010

CISSP Certified Information Systems Security Professional Study Guide – Michael Stewart, Ed Tittel, Mike Chapple
All in One CISSP Exam Guide – Shon Harris

2009′ un elimden düşmeyen, tuğla kalınlığındaki kitapları :) Çok zevkle okuduğumu iddia etmiyorum, ancak sanırım bu kitaplar olmasaydı, sınavda başarılı olma şansım oldukça düşük olurdu. CISSP sertifika sınavına hazırlanacaklara tavsiye ederim.

Liderin Takım Çantası

05 Ocak 2010

Liderin Takım Çantası – Cem Kozlu

Cem Kozlu’yu THY’nin eski yönetim kurulu başkanı olarak bilirdim ve bir gün yurtdışı seyahate çıkarken, Esenboğa havalimanındaki kitapçıda, “Bulutların Üstüne Tırmanırken THY, Bir Dönüşüm Öyküsü” isimli kitabına denk gelmiştim ve bir solukta okumuştum. THY’yi havayolları arasında 1. Lig’e çıkarırken yaşadıkları, problemlere yaklaşımı beni çok etkilemişti. Lider’in Takım Çantası’nı da diğer kitabın devamı gibi okumaya çalıştım. Tabii Liderin Takım Çantası sadece THY deneyimini değil Cem Kozlu’ nun tüm iş hayatında edindiği tecrübeleri kapsıyor.

Uzay Anıları

05 Ocak 2010

Uzay Anıları – Enki Bilal

Enki Bilal’e bir kez kaptırınca insan soluksuz okumaya başlıyor. Uzay Anıları 1974-1977 arasındaki kısa öykülerden oluşuyor. Kitapta aşağıdaki öyküler var:

- Bir Sömürge Trajedisi
- Kutsal Bağlantılar
- Son Müzakere
- Dönüşü Olmayan Gezegen
- Orlaon’un Ölümü
- Arıza
- Bir Sömürge Trajedisi
- ‘Plitch’

Canavar Üçlemesi

05 Ocak 2010

Canavarın Uykusu, 32 Aralık, Paris’te Randevu – Enki Bilal

Saraybosna’da tavanı havantopu ile delinmiş bir hastanede yanyana yatan 3 bebek: Nike, Amir ve Leyla Mirkovic… Hafıza etrafında dönen bi gelecek kurgusu.
Enki Bilan’in özgün çizimleri ve anlattığı hikayeler, insanı hayal dünyasında ordan oraya savurup duruyor.

Macbeth

05 Ocak 2010

Macbeth – William Shakespeare

Macbeth’in İskoçya kralı Duncan’ı öldürerek tahta geçmesi ve sonrasında yaşananları anlatan Shakespeare’in ünlü tragedyasını, NTV yayınları Çizgi Roman Dünya Klasikleri serisinin ilk kitabı olarak basmış.

Ağlama Palyaço Makyajın Bozulur

30 Aralık 2009

Ağlama Palyaço Makyajın Bozulur – Müjdat Gezen, Halit Kıvanç

İş Bankası Kültür Yayınları’nın nehir söyleşi serisinden çıkan Müjdat Gezen’in hayatından kesitler okuyabildiğimiz güzel bir kitap. Söyleşiyi yapan da Halit Kıvanç olunca, “yeme de yanında yat” bir kitap çıkmış ortaya.

Heidegger’in Gölgesi

30 Aralık 2009

Heidegger’in Gölgesi – Jose Pablo Feinmann

20 yy. felsefesinin en önemli isimlerinden olan ve Nazizm’e destek verdiği için suçlanan Martin Heidegger’i odağına alan felsefi bir roman. Bir solukta okudum.
Bakalım birgün Varlık ve Zaman‘ı okumayı başarabilecek miyim.

Dolu Dolu Yaşadım

30 Aralık 2009

Dolu Dolu Yaşadım – Isaac Asimov

Alınan kanların henüz HIV virüsü içerip içermediğinin test edilmediği seksenli yıllarda geçirdiği kalp ameliyatı sırasında verilen kan nedeniyle yakalandığı AIDS hastalığı nedeniyle kaybettiğimiz büyük usta Asimov’un özyaşam öyküsü.

Türbülans Çağı (Yeni Bir Dünya Serüveni)

30 Aralık 2009

En son mayıs ayında not almışım okuduğıum bir kitabı. Sanmayın ki boş oturdum bunca zamandır. Okuduklarımı not düşmeye başlayayım yıl bitmeden; kalan olursa da devam ederim daha sonra:

Türbülans Çağı (Yeni Bir Dünya Serüveni) – Alan Greenspan

Amerikada 20 yıl FED başkanlığı yapan Alan Greenspan’in  hayat öyküsü doğal olarak, Amerika ve dünya ekonomisinin dönem tarihine de bir bakış sağlıyor. Ekonomik krizleri yaratıcı yıkım olarak gören Greenspan’in olayların dinamiklerini açıkladığı kısımlar, benim gibi ekonomiden pek de anlamayan biri için oldukça bilgilendiriciydi.  Ayrıca kitabın hatırı sayılırı bir kısmı , Greenspan’in gelecek ile ilgili kapsamlı tahminlerini içeriyor.

Kitabı öneren Servet Güney’e teşekkürü borç bilirim.

I like AYK-BAYK very much :)

28 Aralık 2009

Herşey kurban bayramı öncesinde, tatil fırsatı bulmuşken kendimizi nasıl yoracağımıza dair kafa patlatırken, Fethiye’de Veli Kaptan’ın teknesi ile yelken yapma fikri ile başladı. Ekipcek uzun bir yolculuktan sonra Fethiye’ye varıp, Ece Marina’ya girdiğimizde galiba hepimiz heyecanlıydık; ben çok heyecanlıydım. İlk kez yelken ile tanışacaktım. Kahvaltı sonrasında teknemiz White Caps’in sahibi Veli Kaptan, arkadaşı Göksel Kaptan ve bizimle birlikte açılacak olan, tayfası olacağımız Selçuk Kaptan ile tanıştık.

Aslında herşey o zaman başladı.Bir kaptan, bir öğretmen ve bir dost ile tanışmış olduk. 4 gün boyunca, Göcek koylarında Sarsala’yı aradık durduk. :)   Tabii bu arada bolca alıştırma yaptık. Selçuk Kaptan, bıkmadan usanmadan, bize birşeyler anlattı durdu. denizin ortasına usturmaça atıp, defalarca yanaşma alıştırması yaptık, gece konakladığımız iskelelere yanaştık, sabah iskelelerden kendimiz ayrıldık. Kısacası, 4 günde olabildiğince birşeyler öğrendik, bolca cesaretlendik kaptanımız sayesinde. Ne yalan söyleyeyim sonunda ayrılmak hepimize koydu biraz.

Sonra, Selcuk kaptandan aldığımız cesaretle de, 12-13 Aralık’ta Bodrum’da yapılan AYK-BAYK (Ankara Yelken Kulübü – Bodrum Açıkdeniz Yelken Kulubü) yelken yarışlarına katıldık. Burda da şansımıza uyumlu bir ekip ve harika skipperlarımız Deniz Esen ve Tolga Kartaloğlu  ile ilk gün coğrafi rotada, ikinci gün de koy içi şamandıra yarışında yarıştık.

Yine öğrendik, çalıştık, paylaştık. İlk gün coğrafi rota yarışında son dakikalarda Tolga ve Deniz kaptanların yaptıkları yelken ayarları ile yarışı son saniyelerde bitirdik, ikinci gün şamadıra yarışı çok daha heyecanlı geçtü ve IRC chater sınıfında 3. olduk :)  Bana da başlıktaki cümleyi kurmak düştü.

Yukarıda, yarıştaki teknemiz “İkinci”‘nin artistik bir pozu var. İskele tarafında denize düşmemek için çırpınan soluk mavi montlu kişi benim.

Aşağıdaki fotoğraf ise elimdekiler içinde ekibimizden en çok kişinin olduğu fotoğraf. Fotoğrafı çeken Coşkun ve Muazzez Hanım yoklar ne yazık ki. Ortadaki bordo kazaklı yakışıklı insan bana bu dünyanın kapısını açan Selçuk Kaptan. O’nun sağında ve solunda ise bu işi daha da sevdiren Deniz ve Tolga kaptanlar.

Apache web sunucusunda PHP kullanarak kişiselleştirilmiş hata sayfası oluşturma

29 Ağustos 2009

Başlık uzun, yöntem kısa…

Hepimiz biliyoruz, web sunucudan olmayan bir sayfa istendiğinde “genelde” “HTTP 404″ kodlu sayfa bulunamadı hatası alıyoruz. Biz kendi web sunucumuzda ufak bir PHP betiği yardımıyla, olmayan sayfa istendiğinde web sunucumuzun istemcilere “HTTP 200″ kodu kişiselleştirilmiş hata sayfaları (Custom error page) göndermesini sağlayabiliriz.

Bunun için önce Apache web sunucumuzun httpd.conf yapılandırma dosyasına aşağıdaki gibi bir satır ekleyerek, “HTTP 404″ kodlu hata durumlarında bizim php betiğimizi çağırmasını sağlıyoruz:

# Ozellestirilmis Hata Sayfasi
ErrorDocument 404 /error-404.php

Şimdi de basit PHP betiğimizi DocumentRoot altında error-404.php olarak kaydedelim:

<?php
header("HTTP/1.1 200 OK");
echo $_SERVER['REQUEST_URI']. " Aradiginiz sayfa bulunamadi.";
?>

Bu küçük PHP betiği sayesinde web sunucu üzerinde olmayan bir URI istendiğinde de HTTP 200 kodlu bir sayfa döndürmüş olursunuz. Bu sayede nikto vb. tarama araçlarını yanıltmak da mümkün olacaktır.

Yapılan bir HTTP isteği ve yanıtı şöyle olacaktır:

$ telnet web_sunucu 80
Trying web_sunucu…
Connected to web_sunucu.
Escape character is ‘^]’.
GET /olmayan_sayfa HTTP/1.1
HOST: a

HTTP/1.1 200 OK
Date: Sat, 29 Aug 2009 14:12:45 GMT
Server: Apache
X-Powered-By: PHP
Vary: Accept-Encoding
Content-Length: 43
Content-Type: text/html

/olmayan_sayfa Aradiginiz sayfa bulunamadi.

100 Köprü

19 Mayıs 2009

Türkiye’nin Kültür Mirası 100 Köprü – Faruk Pekin, Hayri Fehmi Yılmaz

http://kitap.ntvmsnbc.com/#100Kopru

NTV’nin yayınladığı kitap, kimi şehrin ortasında, otoyollar arasında atıl kalmış, kimi yüzyıllardır ayakta olan, kimi adına şenlik düzenlenen, türkü yakılmış olan 100 köprümüzün mimari özelliklerini, hikayelerini anlatıyor. Kitabı olurken, Hakkari – Nehri Köprüsü gibi tek gözlü köprülerin de, Adana Alman Köprüsü gibi üzerinden demiryolu geçen dev köprülerin de fotoğraflarına dalıp gidiyor insan.

* Alman Köprüsü’nün fotoğrafı, Yusuf Metin tarafından çekilmiş ve www.fotokritik.com web sitesinde yayınlamıştır.

Bir Şapka, Bir Tabanca

19 Mayıs 2009

Bir Şapka, Bir Tabanca – Celil Oker

Celil Oker’in kendini “Remzi Ünal… Şu Hava Kuvvetleri’nden müstafi, THY’den kovulma, kendisine saygısı olan hiçbir ‘freequent flyer’ın adını bile duymadığı sekizinci sınıf ‘charter’ şirketlerinde bile tutunamayan, şu sıralar sayenizde MS Flight Simulator’ın Cessna’sını her çakışında inatla bir daha yükselen eski pilot, ex-kaptan, nevzuhur özel dedektif Remzi Ünal.” diye tanıtan karakterinin bir macerası daha. Bu sefer kahramanımız, babasının ölümünden sonra evde bir şapkanın altına gizlenmiş bir silah bulan reklamcı Noyan Bey’e yardım etmek için işe koyuluyor.

Bab-ı Esrar

19 Mayıs 2009

Devam..

Bab-ı Esrar – Ahmet Ümit

Konya’da ki bir otel yangını olayını inceleyen sigorta uzmanı Karen “Kimya” Greenwood’un Mevlana ve Şems-i Tebrizi ile, aşk ve bilinmezlik ile içiçe geçen günlerini anlatan bir gerilim romanı. “Masal Masal İçinde”, “Patasana” ve “Başkomser Nevzat, Çiçekçinin Ölümü” gibi daha önce okuduğum Ahmet Ümit kitaplarına benzer şekilde nefes almadan okudum.

TÜBİTAK

10 Mayıs 2009

TÜBİTAK – Emrah Ablak

“Kardeşim!.. Bu radyasyonu kullanmayacaksan kapağını kapat. Dolaba koy… Soora ışıma yapıyo yine ben temizlemek sorunda kalıyorum..”

Tübitak’ta çalışan bir temizlik neferi olan Bayram Efendi’nin , profesör Azmi Cankuş ve ekibinin her deneyine bir şekilde karışmayı başardığı maceraları kimbilir kaçıncı kez gülmekten kırılarak okudum :)

Emrah Ablak bu aralar çizdiği Sarı Ceketliler’i de bir albüm yapsa diye dört gözle bekliyorum.

Bilim Tarihindeki En Güzel 10 Deney

10 Mayıs 2009

Bilim Tarihindeki En Güzel 10 Deney – George Johnson

Bir kısmının ayrıntılarını Lise/Üniversite eğitiminden hatırladığımız, Fizik, Kimya ve Biyoloji dallarında yapılmış en güzel 10 deney çalışmasınıın ayrıntılarını içeriyor kitap.

Eğitim hayatımda formüle boğulmuş olarak anlatılan, Galileo’nun eğik düzlem deneyi, William Harvey’nin kalbin çalışma prensipleri ortaya koyduğu deney, Newton’un merceklerle yaptığı renklerle ilgili deney gibi deneylerin ayrıntılarını okumak gerçekten çok zevkliydi.

Kitapta deneyleri açıklanan bilim insanlarının listesi ise şöyle:

- Galileo

- William Harvey

- Isaac Newton

- Antonie-Laurent Lavoisier

- Luigi Galvani

- Michael Faraday

- James Joule

- Michelson

- Ivan Pavlov

- Robert Millikan

Öteki Defterler

10 Mayıs 2009

Ocak sonundan beri okuduğum kitapları not almadığımın farkındayım. son 3 aydır okuduklarımı hatırladığım sıra ile yazmaya çalışacağım.

Öteki Defterler – Nazım Hikmet

“… bir defter al. Hergün duyduklarını yaz. Eminim ki mektupların kadar güzel olacaktır..”

Beni derinden etkileyen, bu sevgi dolu sözcükler, Piraye’nin Nazım Hikmet’e tutuklu iken yazmış olduğu bir mektupta yer alıyor ve bu kitapta yer alan her defterin girişine yazılmış. Sanırım Nazım Hikmet bu cümleden çok etkilenmiş, ve yazmaya başlamış.

Nazım Hikmet’in 1938 yılında İstanbul Tevkifhanesi’ndeyken kullandığı defterler, tamamlanamamış roman ve hikayeler “Orası”, “Zeytin ve Üzüm Adası”, “Bayram” dan parçalar içeriyor. Kitap, Piraye’nin Nazım Hikmet’e yazdığı bir mektupla başlıyor, kitaptaki son kısım ise Nazım Hikmet’in Piraye’ye hitaben yazdığı bir metin ile son buluyor.

SplunkForPostgreSQL – Bir Splunk uygulaması geliştirmek

09 Nisan 2009

Yıllarca sistem yöneticiliği yaparken en büyük dertlerimden biri,  problem olduğunda GB’larca ham kayıt dosyası içinden problemin izini sürmeye çalışmaktı. Tabii sunum hazırlamak gerektiğinde geçmişe yönelik istatistikler çıkarmak, o veriyi işleyip grafiiğe dönüştürmek gibi zaman öldüren işler de cabası. İşte bu yüzden Splunk‘ı ilk kullanmaya başladığımda başardıkları karşısında çok etkilenmiştim; sağladığı indeksleme altyapısı ile bilgiyi biriktirip, çok hızlı arama ve raporlama imkanı sağlayan Splunk‘ın en beğendiğim özelliklerinden biri de kendi uygulamanızı geliştirmenize ve bunu SplunkBase üzerinden diğer kullanıcılar ile paylaşmanıza imkan sağlaması.

PostgreSQL ile ilgili birşeyler araştırırken, SplunkBase dünyasında bu veritabanı yönetim sistemi ile ilgili birşey yapılmamış olduğunu gördüm. Ben de ufak ufak birşeyler yapayım, ileride büyür birilerinin derdine derman olur belki diye düşünerek SplunkforPostgreSQL‘ e başladım. Bu uygulama ile amacım, PostgreSQL sunucularda aktif bağlantı sayısı gibi bazı performans değerlerini gözlemek.
Bu çalışmalar sırasında yaptıklarımı adım adım anlatmaya çalışacağım.

* Ara not: Splunk bir python geliştirme ortamı sunduğu için iş yapan kodları -hakim olmadığım bir dil olan- python ile yazmaya çalıştım, siz istediğiniz dil/kabuk ile işinizi görebilirsiniz. Şimdiden ne kusur ettiysem affola :)

Splunk uygulamaları öntanımlı olarak /opt/splunk/etc/apps dizini altında bulunuyor:

# pwd
/opt/splunk/etc/apps/SplunkForPostgreSQL
# ls -al
total 20
drwxr-xr-x 4 splunk splunk 4096 2009-03-26 22:28 .
drwxr-xr-x 15 splunk splunk 4096 2009-04-09 22:19 ..
drwxr-xr-x 2 splunk splunk 4096 2009-04-09 22:23 bin
drwxr-xr-x 2 splunk splunk 4096 2009-04-09 22:23 default
-r-xr-xr-x 1 splunk splunk 22 2009-04-09 22:23 README.txt

/opt/splunk/etc/apps/SplunkForPostgreSQL/bin dizini altında çalıştırılabilir dosyalarımız (betikler vb.), /opt/splunk/etc/apps/SplunkForPostgreSQL/default dizininde ise konfigürasyon dosyaları bulunmakta.

Önce /opt/splunk/etc/apps/SplunkForPostgreSQL/bin dizinindeki, veritabanı üzerindeki aktif bağlantı sayısını kontrol eden uygulamamıza bir bakalım:

# pwd
/opt/splunk/etc/apps/SplunkForPostgreSQL/bin
# cat active_connections.py 

import pgsql, sys

try:
        connection = pgsql.connect(host="localhost", database="template1", user=
"postgres", password="postgres_pass")
except:
        print "Failed to connect to the database"
        sys.exit()

mark = connection.cursor()
statement = 'SELECT COUNT(*) FROM pg_stat_activity'
mark.execute(statement)
connection.commit()
rows = mark.fetchall()
for row in rows:
        active_conn = row[0]

print "PostgreSQL active connections: pg_active_conn =", active_conn

Bu betik Splunk tarafından çalıştırıldığında PostgreSQL veritabanı sunucumuza bağlanıp, aktif bağlantı sayısını alacaktır. Splunk’da ilgili kayıtları sourcetype=”pg_active_conn” sorgusu ile aradığınızda aşağıdaki gibi bir görüntü ile karşılaşıyoruz :

Şimdi amacımız bu sorguyu belli aralıklarla çalıştırıp, grafiğe dokmek. Bunun için /opt/splunk/etc/apps/SplunkForPostgreSQL/default dizini altındaki konfigürsyon dosyalarını kullanacağız.

# pwd
/opt/splunk/etc/apps/SplunkForPostgreSQL/default
# ls -al
total 32
drwxr-xr-x 2 splunk splunk 4096 2009-04-09 22:23 .
drwxr-xr-x 4 splunk splunk 4096 2009-03-26 22:28 ..
-r-xr-xr-x 1 splunk splunk 351 2009-04-09 22:23 bundles.conf
-r–r–r– 1 splunk splunk 154 2009-04-09 22:23 eventtypes.conf
-r-xr-xr-x 1 splunk splunk 235 2009-04-09 22:23 inputs.conf
-r–r–r– 1 splunk splunk 141 2009-04-09 22:23 props.conf
-r-xr-xr-x 1 splunk splunk 727 2009-04-09 22:23 savedsearches.conf
-r–r–r– 1 splunk splunk 3994 2009-04-09 22:23 transforms.conf

Şimdi tek tek dosyalara bir göz atalım:

bundles.conf
Uygulmanın amacı ve yazarı hakkında kısa bir bilgiyi bu dosya içerisnde veriyoruz. Ayrıca uygulamanın geriye doğru uyumluluk ile ilgili bir sorunu var ise çalışabildiği en düşük Splunk sürümünü de yine bu dosyada belirtiyoruz.

# Copyright (C) 2005-2008 Splunk Inc.  All Rights Reserved.  Version 3.3
[SplunkForPostgresql]
author = Ahmet Ozturk
version = 0.1
minsplunkversion = 3.3
contactemail = ahmet.ozturk@pro-g.com.tr
description = This application is a collection of saved searches, eventtypes,
field extractions, dashboards, and scripted inputs that support the PostgreSQL DBMS

eventtypes.conf:
Şu anda bizim uygulamamız için bir eventtype tanımı yapmadık. Gerektiğinde bu dosya içinde tanımlayacağız.

inputs.conf
Periyodik olarak çalıştırıp veritabanındaki aktif bağlantı sayısını alacak betiğimizi burada tanımlıyoruz. “interval” değişkeni saniye biriminde tanımlanıyor. Aramalarda kullanacağımız “source” ve “sourcetype” türlerini burada tanımlıyoruz. Son satırdaki “disabled” parametresne dikkat. Bu değeri “false” yaparak, uygulamanın çalışmasını sağlıyoruz:

# Copyright (C) 2005-2008 Splunk Inc.  All Rights Reserved.  Version 3.0
[script://$SPLUNK_HOME/etc/apps/SplunkForPostgreSQL/bin/active_connections.py]
interval = 60
sourcetype = pg_active_conn
source = pg_active_conn
disabled = false

props.conf
Tanımladığımız pg_active_conn sourcetype’ın özelliklerini bu dosyada belirtiyoruz:

[pg_active_conn]
SHOULD_LINEMERGE=false
LINE_BREAKER=^()$
TRUNCATE=1000000
DATETIME_CONFIG = CURRENT
REPORTS-pg_active_conn = pg_active_conn

savedsearches.conf
Yaptığımız aramaları kaydedip, her sferinde aynı işi yapmaktan bizi kurtaran bir özellik savedsearch özelliği. İlk satırda közeli parantezler içinde verdiğimiz isim Splunk’ın giriş sayfasında “Saved Seraches” kısımıda göreceğimiz isim. “search” parametresi ile son 1 saat içinde pg_active_conn sourcetype’ındaki olayları arayıp, sunucu bazında grafik çiziyoruz. “viewstate.chart.plotMode” parametresi ile de grafiğimizin özelliğniverebiliyoruz. Duruma göre pasta, çubuk gibi grafikler de çizmek mümkün:

[SplunkForPostgreSQL - pg_active_connections by host]
action_rss = 0
search = sourcetype="pg_active_conn" pg_active_conn starthoursago=1 | timechart avg(pg_active_conn) by host
schedule = */60 * * * *
sendresults = 0
userid = 1
viewstate.chart.formatting.dateTimeFormat = %m/%d/%Y %H:%M:%S
viewstate.chart.formatting.height = 300
viewstate.chart.formatting.padding.bottom = 10
viewstate.chart.formatting.padding.left = 0
viewstate.chart.formatting.padding.right = 0
viewstate.chart.formatting.padding.top = 20
viewstate.chart.formatting.textColor = 3355443
viewstate.chart.formatting.width = 788
viewstate.chart.plotMode = line
viewstate.prefs.selectedKeys = source host sourcetype action linecount
viewstate.resultView = reportView

transforms.conf
Kayıt satırlarının nasıl yorumlanacağına ilişkin tanımların yapıldığı bir dosya. Şimdilik bu dosya ile ilgili birşey yapmıyoruz.

Bu kadar lafın üstüne biraz da ekran görüntüsü inceleyelim:
Splunk “main” menü kısmında tanımladığımız sourcetype (pg_active_conn) ve savedserach ( “PostgreSQLForSplunk – pg_active_connections by host) değerlerini görebiliriz:



Saved Seraches kısmından, tanımladığımız aramaya tıkladığımızda yukarıda açıkladığım şekilde grafiğimizi görebiliriz:

Uygulamayı bu ilkel hali ile denemek, yada göz atmak isterseniz, buradan indirebilirsiniz.

Başta da belirttiğim gibi bu bir başlangıç. Şimdilik listemde aşağıdaki konular var:
- Daha fazla performans değerinin gözlenmesi
- SMS/RSS gibi haber verme mekanizmalarının kullanılması

Buraya kadar katlanıp okuduğunuz için teşekkür ederim.

bookp ile kağıt harcamalarını azaltmak..

10 Mart 2009

Bazen bilgisayar ekranından birşey okumak yorucu olduğunda ya da bilgisayar olmayan bir ortamda birşey okumak için yazıcıdan çıktı alırken, eğer harcadığınız kağıt miktarına acıyorsanız ve kağıt miktarını azaltarak A4 boyutunda bir kağıda 4 sayfa sığdırıp çıktınızı bir de ortadan zımbalayarak kitapçık haline getirmek isterseniz, huzurlarınızda eski dost “bookp” :)

Çıktısını almak istediğiniz postscript dosyayı, yazıcıdan önlü arkalı basarak doğrudan kitapçık haline getirmenize yardımcı olur, Emre’nin tabiriyle “enscript ile birlikte her derde devadır.”

#!/bin/sh
outfile=`echo $1|sed 's/ps$//'`book.ps
if [ $# -lt 1 ]; then
   echo usage: $0 ps_file [booklet size]
   exit 1
fi

if [ ! -r $1 ]; then
   echo cannot read file $1
   exit 1
fi

if [ $# -gt 1 ]; then
   psbook -s$2 $1 |\
   pstops '2:0L@.7(21cm,00)+1L@.7(21cm,14.85cm)' |\
   pstops '2:0,1U(209.9mm,297mm)'>$outfile
else
   psbook $1 |\
   pstops '2:0L@.7(21cm,00)+1L@.7(21cm,14.85cm)' |\
   pstops '2:0,1U(209.9mm,297mm)'>$outfile
fi

echo
echo output written to $outfile