Sanırım hepimiz belli bir film türünü biliriz. Filmin göbeğinde bir şey vardır, bir meslek (itfayeci, bankaci, polis vs.), bir spor (basketbol, futbol vs.) ya da basitçe bir hobi (satranç, muzik, resim, poker vs.) ve filmin kahramanı bu konu ile takıntılı birisidir. Hobisi, işi, aşkı, takıntısı, heyecanı hepsi neyle ilgileniyorsa odur, hayatın geri kalanı ile de çok ilgilenmez.
İşte bu kahramanın başı bir gün bir şekilde belaya girer. Sorun artık oyun alanının dışındadır, gerçek dünyada gerçek insanlarla problemini halletmesi gerekmektedir. Peki kahramanımız ne yapar ? Hakim olduğu küçük dünyada modellediği çözümleri uygular ve bunları da seyirciye izah eder "Masadaki birisinin hileci olduğuna eminsen, bunu bile avantajına kullanabilirsin" gibi.
Burada uzmanlık/ilgi alanı ne olursa olsun çok önemli bir nokta vardır. O da hergün defalarca farkında bile olmadan yaptığımız bir şeyin yapılmasıdır. Bu; modellemedir. Kuralları ve sınırları belli bir oyun/hobi üzerinden, kuralları ve sınırları o kadar da belli olmayan daha karmaşık bir seti (hayat mesela ;) modellemek.
İşte bu noktada günümüzde uzmanlaşmanın etkisi ile kaybolmuş olan bir kavram devreye girer. Kişinin yaptığı işi bir hayat tarzı olarak benimseyip, kendisini ona yönlendirmesi, yaptığının bir iş olmaktan, hatta keyif olmaktan bile çıkıp nefes alıp vermek gibi bir hale gelmesi, meşk olması.
Jordan'ın nasıl basket oynadığını hatırlıyor musunuz ? Ya da bir zamanlar Michael Jackson'ın nasıl dansettiğini ? Bütün o zor hareketleri ne kadar kolay yaptıklarını. İşte herhangibiri olmakla işini meşkle yapan birisi olmak arasındaki fark bu.
Hiç bu insanlara, bu filmlere özendiğiniz oldu mu ? Böyle "benim de bir ustam olsa, ben onun çırağı olsam, bu ortamların kralı olsam" dediğiniz, ya da filmde hergun duzenli olarak calisarak kendisini geliştiren müzisyene gıpta ile baktığınız ?
Peki gelelim bugüne, bilgisayarlara, GPL'e, Linux'a, Unix'e hatta Fazlamesai'ye.
Ne yapıyoruz ?
Çoğumuz GNU/Linux dünyasını takip eden, günde en az birkaç saat Internet'te dolaşan insanlarız. Birçoklarının anlamadığı, anlasa bile ilgi çekmeyeceği konularla uğraşır saatlerimizi geçiririz. Teknoloji fetişistiyizdir genelde, sebepsizce daha hızlı daha güçlü olanı isteriz. Çok küçük detayları vurgularız, "bakın ben bunun farkına varabiliyorum" dercesine.
İşte bu doğrultuda şahsen kendi hayatımda etkin olduğunu düşündüğüm ve Unix Junkie olmama yol açan bazı ilkeleri sıraladım, bunlar eğer size de yakın geliyorsa siz de bir Unix Junkie olmuşsunuz demektir. Aralarında abartılı, eksik, yanlış gelenler illa ki olacaktır, buyrun onları da beraber tartışalım.
Bir yaşam tarzı olarak Unix ne demektir, nasıl Unix Junkie olunur ?
- Herşeyden önce, Unix/Linux işletim sistemini iyi biliyor olmak.
Peki neden Unix ? Çünkü "Bir yaşam tarzı olarak Windows" yazsam kimse bu yazıyı okumaya bile tenezzül etmezdi :P Şaka bir yana (kim şaka yapıyorsa) Unix, 1970'li yıllardan bu yana geliştirilen, kökenleri ticari kaygılarla, biranönce piyasayı domine etmektense, işe yarar bir şeyler yapabilir olmak olan, akademik tabanlı bir işletim sistemidir. Bu doğrultuda paralellik gösteren GNU (1983) ve Linux (1992) hareketleriyle birlikte (bir kısmını burada da anlatacağım) bazı ilkeler üzerine kurulmuştur. Ve bu ilkeler basitçe daha hızlı ve daha çok satmayı değil, işlerin gerektiği gibi yapılmasını hedeflemektedir.
Bu ve benzer bir çok sebeple Unix işletim sistemleri, iyi planlanmış ve güvenilir sistemlerdir, öyle ki yeteri kadar Unix'le uğraştıktan sonra "Bir yaşam tarzı olarak Unix" diye bir makale yazıp, gönül rahatlığıyla uyuyabilirsiniz :)
- İyi bilmek sadece başlangıçtır, UNIX'e o kadar hakim olmanız gerekir ki herhangibir bilgisayar işini UNIX üzerinde yapabilir olmalısınız.
Bu iki sebeple önemlidir
1) Muhtemelen karnınızı bu işten doyuracaksınız, ona saygı göstermeniz gerekir
2) Hayatınız modelleyeceğiniz altsistem olarak Unix'e ne kadar hakim olursanız, bu model üzerinden gündelik hayattaki problemlerinizi de o kadar kolay çözersiniz.
- Temel Unix prensiplerini hayat prensibi yapmanız gerekir. Nedir bu temel prensipler ?
1) Herşey bir dosyadır.
2) Her program belli "bir" işi mükemmel yapar ve sistem bu türden mükemmel parçaların biraraya gelmesinden oluşur.
Tabi ki bunlar Unix işletim sistemleri için geçerli ilkeler, fakat temelde bakarsanız kolaylıkla da hayata uygulanabilir. Basit bir benzetme, hayatınızdaki her problemi küçük parçalara ayırıp, bu parçaların her birini mükemmel olarak çözdüğünüz takdirde bütünün çözülmesini dert etmeyeceğiniz şeklinde yapılabilir.
-En az bir bilgisayar dilini çok iyi bilmek.
Bu Perl, C, Python ya da shell script olabilir. Önemli olan su geçirmez derecede hakim olmanız ve yeri geldiğinde elinizi taşın altına sokmanız gerektiğinde kullanabilmeniz. Böyle bir dile hakim olmayan bir Unix Junkie, mezhebi olmayan bir rahip gibidir.
Bunun sanırım en güzel örneği www.perlmonks.org. Gidin görün ve bilgeliğe saygınızı sunun :)
- Daha iyi olmak ve daha çok öğrenmek için devamlı çalışmak.
Bu çalışmanızın temel motivasyonu daha çok para kazanmak ya da daha çok ün sahibi olmak vs. olmamalı. Kendinden sebeplenen bir çaba olduğu sürece bu sizi geliştirir. Öbür türlü, para kazanmanın çok daha kolay yolları var.
- Problem çözmeyi hayat tarzı haline getirmek.
Burada amaç, yeterliliğin maksimuma çıkartılmasıdır. Unix/GNU/Linux camiasındakiler bilir ki bu sistemler altında çözülemeyecek bir problem yoktur, zira sistemi biraraya getiren bileşenler çok sağlam temeller üzerine oturtulmuş olup, herhangibir durumda sadece bu bileşenleri gerektiği gibi bir araya getirerek birçok sorununuza çözüm bulabilir, dahası en zor durumda direkt programın kaynağına inip çözümü orada arayabilirsiniz.
Buradaki yaklaşım bir Aikido hocasının düzenli olarak yeni formlar ve hareketler üzerine çalışması, rakibin muhtemel saldırı çeşitleri üzerine fikir yürütüp bunlara çözümler bulmasına benzetilebilir. Bahsedilen kesinlikle sokağa çıkıp bela aramak değildir :) Bu tür bir yaklaşımın hayatı kısaltacağı kesindir, öte yandan hazırlıklı olmak birçok durumda çok huzur verici olabilir.
- Yollar çoktur, bazıları çamurlu bazıları temiz, ama gidilecek yerler sayılıdır.
Unix'in bize sağladığı en önemli avantajlardan biri de bir işi yapmanın bir çok yolunu ortaya koyması ve herhangibirini dikte ettirmemesidir.
Burada bahsedilen herhangibir sunucunun killall -9 httpd ile öldürülebileceği gibi /etc/init.d/apache stop ile de durdurulabileceğidir. Bir büyük adam zamanında "Bir iş, yapılmayı hakediyorsa, büyük ihtimalle adam gibi yapılmayı da hakediyordur" demiş. Bizim yaklaşımımız da bu.
Eğer bir sistemi kurarken gerekli özenden kaçınmaz, detayları ihmal etmezseniz, sonuçta çıkan bütün birçok durumda problemlere karşı toleranslı olacak, sizin müdahalenizi bile gerektirmeyecektir.
Bu doğrultuda sistemlerin maksimum verimi verecek şekilde konfigüre edilmesi önemlidir. Fakat daha tam olarak oturmamış kişiliklerde bu nihayi amaç olarak görülebilir ve yanlış anlaşılabilir. Makinayı her boot edişte 1 sn kazandıracak bir konfigürasyon değişikliği için bir kaç saat harcamak, resetlenmeden yıllarca ayakta durabilen Unix sistemler sözkonusu olduğunda saf aptallık olabilir.
- Her sistemin bir zayıf noktası vardır, her sistem ele geçirilebilir, yıkılabilir, yakılabilir
Bütün bu çalışmalar, ideal Unix Junkie olma yolunda uzun süren meşk seansları sizi yanıltmasın. Bunlar sizi yenilmez yapmak için yapılan çalışmalar değildirler. Ne kadar çalışırsanız çalışın, ne kadar uğraşırsanız uğraşın, dışarda biri bir gün sizi yenebilir, özenle kurduğunuz sistemi darmaduman edebilir. Böyle bir anda duyduğunuz çaresizlik ve öfke belki de bu ilkelerden bile çok daha yararlı bir öğretmen olacaktır sizler için.
Tekrar ediyorum, bütün bu çabanın amacı yenilmez olmak değil, iyi çalışan ve problemlerle başedebilir bir sisteme sahip olmak ve bunun keyfini yaşamaktır.
Umarım hayatınız keyifli geçer.
KIVILCIM "Sundance" Hindistan www.fazlamesai.net/sundance