Hayatım Script
Script Latince scribere, yazmak fiilinden. Yazılmış anlamına geliyor tam olarak.
Bizim çevrelerde ufak ve yazması, değiştirmesi kolay programlara verilen bir isim. Google Chrome gibi bir program aylarca süren bir bina inşaatı gibi üretiliyorsa, scriptler de evde montaj edilen mobilya gibi. Libre Office fabrikada envai çeşit süreçle üretilen bir içecekse, script de evde iki üç malzemeyi karıştırıp yaptığınız içecek gibi. Malzemeler yine dışardan (genelde işletim sisteminden) alınıyor ama onları kendi ihtiyacınıza mahsus değiştiriyorsunuz.
Buna Türkçe'de betik diyorlar ama etimolojik olarak fazla Türkçe bilen birinin işkembesine dayandığını düşündüğüm için kullanmıyorum. Script deyince, İngilizce bilen biri ne olduğunu az buçuk anlar, senaryo anlamına da geliyor çünkü. Betik yazdım deyince, içimdeki Orta Anadolu köylüsü betik ne la diye soruyor. Ey kelime uyduran adam, hadi eski ve püskü oldukları için ketebe ve neveşten kökenli bir şey üretmedin diyelim, (söylev gibi) yazlav da mı diyemedin, (sızıntı, kazıntı, sıkıntı gibi) yazıntı da mı olmadı, (kurmaca gibi) yazmaca da mı mesela, (salaşla uzaktan analog) yazlaş da mı hoşuna gitmedi? Ne şimdi, betik?
Neyse, konu işkembesel etimoloji değil.
Hayatımı artık scriptlerin idare ettiğini anlatacaktım. Günümü altı fasıla böldüm, saat 5'te başlayıp, 23'te biten, her biri 3 saatlik dilimler bunlar.
En azından kendim için, planlama kafası ve iş yapma kafasının farklı olduğunu düşünüyorum. Benim gibi işini kendi planlamak zorunda olanlar için önemli olabilen bir dert bu. Etrafta günümü nasıl doldurmam gerektiğini söyleyen biri olmadığı için kendi planımı kendim yapmak zorundayım. Ancak bir yandan iş yapıp, bir yandan plan yapmanın pek de sağlıklı sonuçları olmadığını gördüm. Ne yapacağına karar vermek (en azından benim için) yorucu bir faaliyet, sınırsız tembelliğimle sınırlı ihtiyaçlarımı karşılamaya çalışıyorum. Günümüzü geçirirken Ne, neden ve nasıl birbirinden farklı çapta düşünceler gerektiriyor. Her işin başında neden bunu yapıyorum? diye sormak gereksiz ve yıpratıcı, gitmek istemediği bir yere götürürken yanınızdaki eşinizin her sokağın başında şimdi neden gidiyoruz? deyip dırdıra vermesi gibi ancak bu soruyu hiç sormazsanız da hayatın sokakları arasında kaybolmak çok kolay.
Scriptler işte bu planlama kafasıyla, iş yapma kafasını birbirinden ayırmama yardımcı oluyor. Her sabah scriptlerimden biri, bana yapılacak işler listesi gösteriyor ve bunların hangilerini o gün yapabileceğimi başka bir metne yazdırıyor. Diğer biri her üç saatlik dilimin başında bana o dilimde tam olarak ne yapacağımı soruyor. Ben diyorum ki falanca programdaki şu hatayı düzelteceğim veya bloga bir yazı yazacağım veya filanca metinleri düzelteceğim. O da o dosyayı getirip önüme koyuyor.
Yalnız sadece bunları yapsa üç günde vazgeçeceğim için çeşitli kandırmacalar da var tabii. Script bana o dilimde ne kadar çalışacağımı soruyor, 120 dakika diyorum, bunun %10'unda Internette gezdiriyor veya oyun oynatıyor, %70'inde çalıştırıyor, %10'unda epostalara bakıyorum veya odamı topluyorum, %10'unda da okunacaklar listemden sırayla bir şeyler açıyor.
Tabii mesela bu okunacaklar listesini açıyor da başka bir script.
read-for 20
dediğim vakit, şu an içinde 1000'den fazla metnin
bulunduğu bir klasörden, en yeni 3 dosyayı sırayla açıyor.
(ls -t | head -n 3 | tac
) Bunları kapatınca da rastgele 4 tane daha
açıyor. (ls | sort -R | head -n 4
) Her okunacak dosyayla beraber adı
aynı (ama farklı uzantılı) metin dosyaları oluşturup, makale ve
kitaplardan kopyaladığım notları oraya gönderiyor.
Dün bir de seyredilecekler listesi scripti yazdım, indirdiğim ama seyretmeye sıra gelmeyen videoları da benzer şekilde sıradan gösteriyor. Video bitince veya kapatınca da arşivleyeyim mi? diye soruyor. Sanırım yakında bugün ne giyeyim? diye soracağım ve bana şu pijamanla bu terliğini giy diyecek bir script de yazacağım herhalde. Benden yemek yapmamı bekleyen olsa, muhtemelen onu da böyle bir sürece bağlardım.
Bunlar Linux komut satırının becerileriyle oluyor ama Windows'ta da PowerShell, Cygwin veya IPython yoluyla yapılabilir. Tamamen organik büyüdüğü için paylaşacak pek bir kod yok ama fikir vermesi açısından belki bir gün github'ıma koyarım.
Bu kıssadan iki hisse çıkarılabilir. Birincisi insan hayatında neyi çok düşünüp, neyi fazla düşünmemesi gerektiğini belirlemeli. Her daim tercihte bulunmak faydalı değil ve yorucu. Bu yorgunluk da enerjiyi emen cinsten bir yorgunluk, bunu günün ufak bir kısmına hasretmek hayatı kolaylaştırabilir. Plan yapmanın asıl faydası bu bence. Yoksa planları her zaman uygulayamazsınız, her daim yeni iş çıkar, acil bir şey olur; ancak plan sadece uygulanmak için yapılmaz, çerçöpü hayattan ayıklamak için de yapılır.
İkincisi daha önemli. Kendime mahsus bu programcıkları yazmak ancak elimde açık bir sistem olmasıyla mümkün oldu. Artık çoğu insanın cebinde mevcut olan akıllı telefonlar ve tabletler beş sene önceki bilgisayarlardan daha kuvvetli olduğu halde böyle imkanlar sunmuyor. Teorik olarak burada anlattığım işleri yapan telefon programları da yazmak mümkün ama App Store veya Google Play'le uğraşmanın değeceğinden emin değilim, ayrıca oraya verilen programların onların denetiminden geçmek gibi bir şartı var. Bu da telefon cihazları elinizde olsa da, ipin ucunun onların elinde olması demek. Hadi Android'lere fazla uğraşmadan dışardan program yüklenebiliyor ama iOS cihazlarında Jailbreak yapmadan o da mümkün değil.
Açık sistemler, açık Internet'in oluşmasını sağlayan en önemli etkendi. Para verip aldığınız bir cihazın üstünde gelen işletim sisteminin, onu kolayca değiştirmeye, özelleştirmeye izin vermesi gerekir. Cihazların giderek daha sevimli olması, bu sevimliliği sağlayan şirketlerin elinde oyuncak olmasına yol açmasa herkes için iyi olurdu. Ancak şunu da biliyoruz: İnsanların pek çoğu için sevimlilik özgürlükten daha önemli. O sebeple benim gibiler bir yolunu bulacak olsa da, insanların ekseriyeti için pek umutlu değilim.
[Ben Kendim Benliğim]