Efenim, blogumuz blogger beta'ya taşınmıştır. Teması, kötü görünen linkleri vb şeyleri yarın bu saatlerde değiştirilmiş / düzeltilmiş olacaktır.
Görüşmek üzere.
18.12.2006 / Saat 09:00 itibari ile gelen güncelleme: Yeni temamıza geçtik, düzenimizi oturttuk yolumuza devam ediyoruz. Beğenmeniz dileği ile.
17 Aralık 2006
Pardus 2007'ye bir kala...
Her şey çok uzun zaman evvel başlamıştı. Çağlar (o zamanlar sıkı bir gentoo debian hayranı idi, şimdi benim sıkı debian hayranı olduğum gibi), UluDağ projesine geçmek istediğinden bahsetmişti ama; çok mümkün görünmüyordu. Derken rüyası gerçek oldu ve UluDağ projesinde çalışmaya başladığını öğrendim. O zamandan beri pek görüşemiyoruz (hiç bir zaman tembel biri değildi zaten :) ) ama; yaptıklarını elimden geldiğince takip etmeye çalışıyorum.
Daha sonraları bu insanların Pardus adında bir dağıtım çıkarmak için kolları sıvadıklarını duydum ve gidip sitelerinden o zaman ellerinde ne varsa (çalışan - alpha ya da çalışan - beta) indirdim, denedim. O zamanlar doğruyu söylemek gerekirse Müdür ve Pisi tam olgunlaşmadığı için çok farklı bir dağıtım değildi. Hatırladığım kadarı ile sadece Kaptan ve Tasma'nın bir kısmı bitmiş, Çalışan'a entegre edilmişti.
Daha sonra büyük bir sevinç gösterisi eşliğinde Kurulan 1.0 çıktı (Çağlar'a bir tebrik maili atmıştım ama görecek vaktinin olduğunu sanmıyorum o zamanlar :) ). Doğruyu söylemek gerekirse, 1.0 ile pek ilgilenecek vaktim olmadı çünkü; bitirmem gereken bir proje (T-Storm'un ilk Java hali, SHZ), 7 tane ders, alışmam gereken bir işletim sistemi ve daha bir çok şey vardı ve dediğim gibi çıktı; sevenleri ve sevmeyenleri oldu. Ben sempati beslememe rağmen deneyememiştim.
Zaman geçti aradan... OsNews'da bir haber çıktı. Adı sanırsam "Speeding up Linux: On..." olarak çıkmıştı live bookmarkta. Tıkladım, sayfa geldi: "Speeding up Linux: One Step Further with Pardus". Şaşırdım, sevindim, kafam karıştı. Müdür, sysInitV ye ciddi bir alternatif olarak incelenmiş ve bir çok görüş toplamıştı. Bunların bir kısmının olumlu bir kısmının da olumsuz olması daha güzeldi çünkü bu bir gerçek tartışma demekti...
Bir çok insan verimin bu kadar nasıl arttığına hayret etmesinin yanında bir çok insanın da init için gereksinimlerin artmasından hoşnut olmadığı kesindi. Bu haberin bende yarattığı etki ise bundan tamamen farklıydı: Pardus ölü doğmamıştı; gürültü koparıyordu ve bu gerçekten gurur vericiydi. Sanki kendi projemmiş gibi sevindim.
Daha sonra, Fazlamesai.net te yurt dışından bir insanın Pardus hakkındaki görüşlerini içeren bir yazı linki belirdi. Bu yazı da doğruyu söylemek gerekirse oldukça olumluydu ve yazının çıktığı zamanlarda ben Tunus'taki eğitimde sunmak için slaylarımı hazırlıyordum. Oraya bir laptop ile gidecektim ve çalıştıktan sonra istediğimi yapmakta serbesttim... O anda fikir belirdi. "Madem herkes deniyor, ben neden sunuma giderken Pardus kurmuyorum?" Son gece bir elimde laptop, diğer elimde Pardus, kuruluma giriştim. Sistem oldukça yavaş kuruluyordu (sonra sabit diskin bozuk olduğu ortaya çıktı, neyse) ama kuruluyordu işte.
Sistem kuruldu, aynen o yazıda dendiği gibi oldukça aheste biçimde boot oldu ve sisteme giriş yaptım. Kaptan ile masaüstümü düzenleyip Tasma'dan ayarlarımı yaptım. Yatmadan evvel şeytan dürttü, composition'ı açtım KDE masaüstünde. Gayet güzel çalıştı, zorlanmadan. Masaüstümü istediğim şekle soktuktan sonra, sistemi reboot ettim (Pardus, KDE'nin bütün "session management" özelliklerini göstermediği için masaüstünü otomatik olarak saklıyor, sonraki açılışta hepsi geri geliyor).
Ve evet, o kısıtlı dizüstü bilgisayar (Pentium-M 1.6 GHz, 256MB RAM, i910 VGA) 40 sn içerisinde açıldı, sisteme giriş yapıp herşeyin açılması ile 70-80 sn içinde bütün her şey tamamlandı. Bu hız benim masaüstü bilgisayarımdaki (A64 3700+, 2GB RAM, X1600 Pro VGA) sistemim ile neredeyse aynı hız demekti. Pardus çok daha az servis ile çalışıyordu ama; Yine de öyle bir sistem için gerçekten seriydi. Kısaca Müdür, gerçekten açılışı hızlandırmayı başarmıştı. Kpowersave; Hibernate, Suspend to RAM ve CPU throttling yapmak konusunda hiç korkmadı.
Sonuç olarak, ben Pardus üzerinde hiç bir ince ayar yapmadan her şeyimi kullanmaya başlayabilmiştim. Sistem stabildi, seriydi. İnsanların dediğinin aksine Beta 1 de dahi hiç bir program patır kütür çökmüyordu.
Tunus'ta Pardus ile sunumumu yaptım, sistemi Beta2 ye güncelledim. Ufak tefek olan sorunlar da ortadan kaybolmuştu ve ben hiçbir endişe ya da engelle karşılaşmadan laptopumu kullanabildim.
Evet. Bugün 17 Aralık. Yarın Pardus 1.1 resmen çıkıyor. Eminim ki ATA ve Sait Faik üzerine bir çok güncelleme, düzeltme ve yerelleştirme yapıldı ve bu gerçekten başarılı ve stabil dağıtım bir adım daha ileri götürüldü. Emeği geçen herkese tebrikler. Her yeni sürümde böyle heyecanlanmak dileği ile.
Böyle bir şeyin ortaya çıkmasında gösterdiğiniz emek için hepinize teşekkürler.
Edit: caglar10ur'u bugün gördükten sonra blog adresimi vermiştim, commentlerde hafızamın yanıldığı (kusura bakma =) ) bir noktayı düzeltmiş, ben de bu düzeltmeyi yazıya taşıdım.
Daha sonraları bu insanların Pardus adında bir dağıtım çıkarmak için kolları sıvadıklarını duydum ve gidip sitelerinden o zaman ellerinde ne varsa (çalışan - alpha ya da çalışan - beta) indirdim, denedim. O zamanlar doğruyu söylemek gerekirse Müdür ve Pisi tam olgunlaşmadığı için çok farklı bir dağıtım değildi. Hatırladığım kadarı ile sadece Kaptan ve Tasma'nın bir kısmı bitmiş, Çalışan'a entegre edilmişti.
Daha sonra büyük bir sevinç gösterisi eşliğinde Kurulan 1.0 çıktı (Çağlar'a bir tebrik maili atmıştım ama görecek vaktinin olduğunu sanmıyorum o zamanlar :) ). Doğruyu söylemek gerekirse, 1.0 ile pek ilgilenecek vaktim olmadı çünkü; bitirmem gereken bir proje (T-Storm'un ilk Java hali, SHZ), 7 tane ders, alışmam gereken bir işletim sistemi ve daha bir çok şey vardı ve dediğim gibi çıktı; sevenleri ve sevmeyenleri oldu. Ben sempati beslememe rağmen deneyememiştim.
Zaman geçti aradan... OsNews'da bir haber çıktı. Adı sanırsam "Speeding up Linux: On..." olarak çıkmıştı live bookmarkta. Tıkladım, sayfa geldi: "Speeding up Linux: One Step Further with Pardus". Şaşırdım, sevindim, kafam karıştı. Müdür, sysInitV ye ciddi bir alternatif olarak incelenmiş ve bir çok görüş toplamıştı. Bunların bir kısmının olumlu bir kısmının da olumsuz olması daha güzeldi çünkü bu bir gerçek tartışma demekti...
Bir çok insan verimin bu kadar nasıl arttığına hayret etmesinin yanında bir çok insanın da init için gereksinimlerin artmasından hoşnut olmadığı kesindi. Bu haberin bende yarattığı etki ise bundan tamamen farklıydı: Pardus ölü doğmamıştı; gürültü koparıyordu ve bu gerçekten gurur vericiydi. Sanki kendi projemmiş gibi sevindim.
Daha sonra, Fazlamesai.net te yurt dışından bir insanın Pardus hakkındaki görüşlerini içeren bir yazı linki belirdi. Bu yazı da doğruyu söylemek gerekirse oldukça olumluydu ve yazının çıktığı zamanlarda ben Tunus'taki eğitimde sunmak için slaylarımı hazırlıyordum. Oraya bir laptop ile gidecektim ve çalıştıktan sonra istediğimi yapmakta serbesttim... O anda fikir belirdi. "Madem herkes deniyor, ben neden sunuma giderken Pardus kurmuyorum?" Son gece bir elimde laptop, diğer elimde Pardus, kuruluma giriştim. Sistem oldukça yavaş kuruluyordu (sonra sabit diskin bozuk olduğu ortaya çıktı, neyse) ama kuruluyordu işte.
Sistem kuruldu, aynen o yazıda dendiği gibi oldukça aheste biçimde boot oldu ve sisteme giriş yaptım. Kaptan ile masaüstümü düzenleyip Tasma'dan ayarlarımı yaptım. Yatmadan evvel şeytan dürttü, composition'ı açtım KDE masaüstünde. Gayet güzel çalıştı, zorlanmadan. Masaüstümü istediğim şekle soktuktan sonra, sistemi reboot ettim (Pardus, KDE'nin bütün "session management" özelliklerini göstermediği için masaüstünü otomatik olarak saklıyor, sonraki açılışta hepsi geri geliyor).
Ve evet, o kısıtlı dizüstü bilgisayar (Pentium-M 1.6 GHz, 256MB RAM, i910 VGA) 40 sn içerisinde açıldı, sisteme giriş yapıp herşeyin açılması ile 70-80 sn içinde bütün her şey tamamlandı. Bu hız benim masaüstü bilgisayarımdaki (A64 3700+, 2GB RAM, X1600 Pro VGA) sistemim ile neredeyse aynı hız demekti. Pardus çok daha az servis ile çalışıyordu ama; Yine de öyle bir sistem için gerçekten seriydi. Kısaca Müdür, gerçekten açılışı hızlandırmayı başarmıştı. Kpowersave; Hibernate, Suspend to RAM ve CPU throttling yapmak konusunda hiç korkmadı.
Sonuç olarak, ben Pardus üzerinde hiç bir ince ayar yapmadan her şeyimi kullanmaya başlayabilmiştim. Sistem stabildi, seriydi. İnsanların dediğinin aksine Beta 1 de dahi hiç bir program patır kütür çökmüyordu.
Tunus'ta Pardus ile sunumumu yaptım, sistemi Beta2 ye güncelledim. Ufak tefek olan sorunlar da ortadan kaybolmuştu ve ben hiçbir endişe ya da engelle karşılaşmadan laptopumu kullanabildim.
Evet. Bugün 17 Aralık. Yarın Pardus 1.1 resmen çıkıyor. Eminim ki ATA ve Sait Faik üzerine bir çok güncelleme, düzeltme ve yerelleştirme yapıldı ve bu gerçekten başarılı ve stabil dağıtım bir adım daha ileri götürüldü. Emeği geçen herkese tebrikler. Her yeni sürümde böyle heyecanlanmak dileği ile.
Böyle bir şeyin ortaya çıkmasında gösterdiğiniz emek için hepinize teşekkürler.
Edit: caglar10ur'u bugün gördükten sonra blog adresimi vermiştim, commentlerde hafızamın yanıldığı (kusura bakma =) ) bir noktayı düzeltmiş, ben de bu düzeltmeyi yazıya taşıdım.
Etiketler:
düşünceler,
foss,
linux,
özgür yazılım,
pardus
16 Ekim 2006
informaphobia
Amerika'ya yapılan 11 Eylül saldırıları ve İngiltere'de metroya düzenlenen saldırı sonucunda dünyanın batı tarafı terör ile tanıştı. Bunun sonucunda devletler kendilerine göre önlemler almakta gecikmediler. İngiltere neredeyse her kavşağa ve otopark girişine üzerinde hoparlör ve mikrofon olan kameralar yerleştirdi. Amerika ise tam anlamı ile paranoyak bir ülke haline geldi.
Haber ise şöyle: seattle911 sitesi, Seattle İtfaiyesi'ne yapılan yangın aramalarını sitenin RSS feedlerinden çekerek google maps üzerinde göstermek gibi bir hizmet sunmaya başlayınca 911 yetkilileri RSS feedleri kapatma kararı almışlar. Nedeni ise, nasıl denir, trajikomik. 911'den yapılan açıklamaya göre; "bu tarz bir kullanım ile yangın ekiplerinin nerede olduğu bilinebilir ve yangın ekiplerinin o anda kısa sürede müdahele edemeyeceği yerlere terör saldırısı düzenlenebilir." ama; durum bu kadarla bitmiyor. İşi trajikomikleştiren şey itfiayenin kendi sitesinden bu bilgileri vermeye (belli aralıklarla güncellenen bir jpg olarak) devam ediyor.
Eğer bilgi bu kadar gizli ve tehlikeli ise neden RSS feed olarak yayınlandı. Madem hatanın farkına varıldı? Bilgi neden hala düzenli olarak yayınlanıyor? Madem bilgi gizli değil, o zaman neden RSS feedlerini kaldırıyorsunuz.
Amerika'nın kendi toplumu üzerinde baskı kurması, ya da toplumsal paranoyaklık böyle bir şey olsa gerek...
Haber ise şöyle: seattle911 sitesi, Seattle İtfaiyesi'ne yapılan yangın aramalarını sitenin RSS feedlerinden çekerek google maps üzerinde göstermek gibi bir hizmet sunmaya başlayınca 911 yetkilileri RSS feedleri kapatma kararı almışlar. Nedeni ise, nasıl denir, trajikomik. 911'den yapılan açıklamaya göre; "bu tarz bir kullanım ile yangın ekiplerinin nerede olduğu bilinebilir ve yangın ekiplerinin o anda kısa sürede müdahele edemeyeceği yerlere terör saldırısı düzenlenebilir." ama; durum bu kadarla bitmiyor. İşi trajikomikleştiren şey itfiayenin kendi sitesinden bu bilgileri vermeye (belli aralıklarla güncellenen bir jpg olarak) devam ediyor.
Eğer bilgi bu kadar gizli ve tehlikeli ise neden RSS feed olarak yayınlandı. Madem hatanın farkına varıldı? Bilgi neden hala düzenli olarak yayınlanıyor? Madem bilgi gizli değil, o zaman neden RSS feedlerini kaldırıyorsunuz.
Amerika'nın kendi toplumu üzerinde baskı kurması, ya da toplumsal paranoyaklık böyle bir şey olsa gerek...
28 Eylül 2006
Son kullanıcı neden program yazmayı bıraktı?
Son ama hatırlamadığım zamanda slashdot'ta bir haber okudum: "Why Johnny can't code?" Son kullanıcı ve çocukların neden program yazmadığını, yazamadığını ve neden yazmak istemediğini araştıran bir gazete haberine gidiyordu link. Hatırladığım kadarı ile konu oyunlara, tüketim toplumuna bağlanmıştı. Bu konu üzerine ben de bir şeyler yazmak istedim.
Program yazmak, üretmek bilgisayarı öğrenmenin en kolay ve güzel yoludur bana göre. Bir otomatik saatin işleyişini görmek gibidir. Neyin neyi tetiklediğini seyredebilir, x'e 5 vermenin 4 vermekle farkını anlayabilirsiniz. Hatta bu bir birimlik değişikliğin cennet ile cehennem arasındaki çizgiyle haşır neşir edebileceğini de...
Peki, neden eskiden çocuklar, büyükler program yazarken artık bu işlerle pek ilgilenmiyorlar. Bunun esasında bir çok nedeni var ama; bunlar arasındaki bir nedenin yeri bunlardan fazla. Bu yazıda bu noktalara değinmeye çalışacağım.
1- Toplumun tüketime kayması: Bilgisayarlarda program yazılmamasının en yüzeysel sebeplerinden biri budur. Toplumda üreten bir hizmet sektörü vardır. Size programlar, aparatlar, işletim sistemleri, hizmetler üretir / sunar; sizi rahat ettirirler. Bir tanıdığımın ettiği bir laf vardı: "Eğer bir şeye ihtiyacın varsa ve bu şey yeterince primitif ise mutlaka biri senden önce yazmıştır." Bu düşünce yapısına sahip bir toplum oluştuğu zaman zaten otomatik olarak programcıların sayısının düşmesi kaçınılmaz bir hal alıyor, zaten almış vaziyette. Böyle düşünen bir toplumun bir kısmı üretmeyi sevmediği için (evet, bu da bir haktır, sadece tüketmek) ya da üretimin verdiği hazzı henüz tatmadığı için hazır paketlere yönelirler ve poşet çay programlarına bile para verebilirler (ya da bedava alternatifleri kullanırlar).
2- Oyunlar, sosyal hayatın ve trendlerin değişmesi: Eski zamanlarda çocuklar ve gençler arasında popüler olan şey program yazmak, demo yazmak gibi hobilerdi. Oyun oynamak bu kadar popüler olmasa bile yine vardı. İnternet, MMORPG, MSN Messenger gibi şeyler icad edilmemiş olduğundan dolayı, insanlar bilgisayarın başına çoğul olarak oturur; oyun oynar ya da yazdıkları programları yarıştırırlardı. Eskiden "demoscene" denilen şeyler prestij ifade ederdi, yer altı gruplar olarak anılmazlardı. Teknolojinin primitif olmasının da yan etkisi olan bu durum; bu teknolojiyi kullanmak isteyen herkese onu iyi bilmeyi şart koşardı. Bu nedenlerden dolayı BBS lerden Hüseyin Uslu'nun telefon rehberlerini başka birinin yazdığı telnet prprogramını çeker, kullanırken heyecanlanır, içine bakıp; adam yapmış derdik. Herkes az çok neyin ne anlama geldiğini bilirdi.
Bugüne geldiğimizde ise o zamanlarda hayal edemediğimiz hızların alınabilir fiyatlarda (kota ve ucuzluğu karıştırmayın, yarama basmayın) olduğunu, laptopların cep telefonları gibi satıldığını, insanların sabahtan akşama kadar World of Warcraft oynadığını hatta orada evlendiğini, akradaş çevresi edindiğini, sözlükten tanışıp komün olduklarını görüyoruz. HP bile reklamlarını yapıyor. "Computer is personal again". Bugünlerde topluluklar internet üzerinden kuruluyor, dersler evden yapılıyor, programlar intenetten servis olarak kullanılıyor ve bu bilgi denizinde insanlar herşeyi bulabildiği için şunu yapsak nasıl olur pek demiyorlar.
3- Programlanabilirliğin bir özellik olmaktan çıkışı: Bu yazıyı okuyan sizin hala çalışan bir Amiga'sı, Commodore'u var mı? Ya da onlarla hiç tanıştınız mı? Datasette kullanıp kafa ayarı yaptınız mı? Ferhat'tan ya da Mikromedya'dan disket, kaset çektirdiniz mi? Hala pinball fantasies oyununu özlüyor musunuz? Bu terimlere aşina olan okuyucular o zaman bilgisayarların "programlanabilir kişisel bilgisayar" ve "kendi programlarınızı da yazabileceğiniz oyun, eğlence ve iş makineleri" olarak lanse edildiğini hatırlayacaklardır. Commodore kitabındaki ilk bölümün basic'e giriş olmasını da...
Bilgisayarın emekleme dönemlerini yaşadığı o zamanlarda insanların bilgisayarlarına program yazabilir olması büyük bir gelişmeydi ve bu insanlara pazarlanıyordu. O zamanlar bir bilgisayarın hızından ve özelliklerinden öte; desteklediği / kullandığı programlama dili dahi piyasa payını belirleyebilmekteydi. PC'nin gelişi ve DOS bunu çok değiştirmemiş olsa bile; Windows'un gelmesi ile bu özellik yavaş yavaş kaybolmaya başlamıştı ama; PC demoscene daha henüz yeni doğuyordu.
4- İşletim sistemlerinin karmaşıklaşması ve programlanabilirliğin saklanması: ve sonunda olan olmuştu. Microsoft'un her eve bir bilgisayar vizyonu çerçevesinde kolay kullanılabilir, insanların kafasını karıştırmayan işletim sistemleri üretilmeye başlandı. Önceleri bazı işlerin daha kolay hale getirilmesi için yazılmış olan windows shell, zamanla bilgisayarın ana kabuğu olmaya başlamış, MacOS'u tarihe gömmek için her sene çıkartılmak için uğraşılmış olan her cici windows DOS ve DOS prompt'u daha gerilere atmıştı. Windows 2000 ile Microsoft zafer ilan etti. Windows artık DOS tabanlı bir işletim sistemi değildir. Böylece DOS tarihe gömülmüş, kara ekran sadece emüle edilen ve "öcü" bir yer ilan edilmişti. Böylece basit programların çalışabileceği alan lanetlenmiş ve programlama öğrenmek isteyenlere başka yollar görünmüştü.
Windows üzerinde yazdığınız programın görünebilmesi için bir pencereye sahip olması şart hale gelmişti artık. Peki bunu nasıl yapacaktık? Fortran, Pascal ile bu imkansızdı fakat; C++ ve win32 API ile bu gayet mümkündü. İşin kötüsü ise bu durumun göründüğü kadar iç açıcı olmadığı idi. Win32API; güç ve kullanılabilirlik dengesini kaçırmış, anlamsız derecede zorlaştırılmış bir yapı olup çıkmıştı. Bunun iki sebebinden biri çok büyük bir hızla geliştirilip hiç ama hiç son kullanıcının düşünülmemiş olmasıydı. Diğeri ise son kullanıcıyı kuvvetli dillerden soğutup iş ortaklarına para kazandırmaktı. Çünkü Windows aynı zamanda ticari bir platformdu ve iki tarafa da para kazandırmalıydı. Microsoft ayrıca herkesi kendi platformuna bağlayabilmek için visual dil ailesini çıkardı ve böylece tüketicilerin yazdığı programların kendi platformuna bağımlı olmasını sağladı.
Sonuç olarak, daha önceleri bir özellik olarak lanse edilen ve sonra diğerlerine "güzel" para kazandırdığı için kullanıcıdan soyutlanan programlanabilme özelliği nedeni ile son kullanıcı program yazmayı bırakmak yerine, program yazmayı unuttu. Bunu unutmayan, merak eden insanlar için ise genel geçer dillerin işletim sistemi ile olan interface'leri son derece zorlaştırılarak daha basit ve high level diller üretildi (VC++, C#, J# vb. Microsoft dilleri). Daha önceki zamanlarda Sun ise tamamen farklı bir felsefe ile (Bir kere yaz her yerde kullan) Java'nın temelini attı. (.NET ailesi aynı zamanda Microsoft'un java'ya açtığı ve başka bir sürü amaç içeren , ki bunlar başka yazıların konularıdır). Sonuç olarak son kullanıcı high-level ve yavaş programlama dillerinde kendi egolarını tatmin ediyorlar. (Biliyorum, java ve .NET çok gelişmiş sistemler, yapılar vs. ama; ben aynı kodu da C++ ve WxWidgets ile yazabilir bu programları toza boğabilirim). Bu ekolün karşısında ise şu anda yavaş ama kararlı şekilde kök salan GNU/Linux durmakta ve bilgisayar meraklısı bir çok insan bu işletim sistemini windows'un yanına ikinci ya da birinci işletim sistemi olarak kurmakta, kullanmakta ve isteyenler çok rahat şekilde büyük / küçük programlar yazabilmekte. Şimdi sorun, daha sonraki nesillere bu işletim sistemlerini ve üretmenin zevkini tattırabilmekte...
Program yazmak, üretmek bilgisayarı öğrenmenin en kolay ve güzel yoludur bana göre. Bir otomatik saatin işleyişini görmek gibidir. Neyin neyi tetiklediğini seyredebilir, x'e 5 vermenin 4 vermekle farkını anlayabilirsiniz. Hatta bu bir birimlik değişikliğin cennet ile cehennem arasındaki çizgiyle haşır neşir edebileceğini de...
Peki, neden eskiden çocuklar, büyükler program yazarken artık bu işlerle pek ilgilenmiyorlar. Bunun esasında bir çok nedeni var ama; bunlar arasındaki bir nedenin yeri bunlardan fazla. Bu yazıda bu noktalara değinmeye çalışacağım.
1- Toplumun tüketime kayması: Bilgisayarlarda program yazılmamasının en yüzeysel sebeplerinden biri budur. Toplumda üreten bir hizmet sektörü vardır. Size programlar, aparatlar, işletim sistemleri, hizmetler üretir / sunar; sizi rahat ettirirler. Bir tanıdığımın ettiği bir laf vardı: "Eğer bir şeye ihtiyacın varsa ve bu şey yeterince primitif ise mutlaka biri senden önce yazmıştır." Bu düşünce yapısına sahip bir toplum oluştuğu zaman zaten otomatik olarak programcıların sayısının düşmesi kaçınılmaz bir hal alıyor, zaten almış vaziyette. Böyle düşünen bir toplumun bir kısmı üretmeyi sevmediği için (evet, bu da bir haktır, sadece tüketmek) ya da üretimin verdiği hazzı henüz tatmadığı için hazır paketlere yönelirler ve poşet çay programlarına bile para verebilirler (ya da bedava alternatifleri kullanırlar).
2- Oyunlar, sosyal hayatın ve trendlerin değişmesi: Eski zamanlarda çocuklar ve gençler arasında popüler olan şey program yazmak, demo yazmak gibi hobilerdi. Oyun oynamak bu kadar popüler olmasa bile yine vardı. İnternet, MMORPG, MSN Messenger gibi şeyler icad edilmemiş olduğundan dolayı, insanlar bilgisayarın başına çoğul olarak oturur; oyun oynar ya da yazdıkları programları yarıştırırlardı. Eskiden "demoscene" denilen şeyler prestij ifade ederdi, yer altı gruplar olarak anılmazlardı. Teknolojinin primitif olmasının da yan etkisi olan bu durum; bu teknolojiyi kullanmak isteyen herkese onu iyi bilmeyi şart koşardı. Bu nedenlerden dolayı BBS lerden Hüseyin Uslu'nun telefon rehberlerini başka birinin yazdığı telnet prprogramını çeker, kullanırken heyecanlanır, içine bakıp; adam yapmış derdik. Herkes az çok neyin ne anlama geldiğini bilirdi.
Bugüne geldiğimizde ise o zamanlarda hayal edemediğimiz hızların alınabilir fiyatlarda (kota ve ucuzluğu karıştırmayın, yarama basmayın) olduğunu, laptopların cep telefonları gibi satıldığını, insanların sabahtan akşama kadar World of Warcraft oynadığını hatta orada evlendiğini, akradaş çevresi edindiğini, sözlükten tanışıp komün olduklarını görüyoruz. HP bile reklamlarını yapıyor. "Computer is personal again". Bugünlerde topluluklar internet üzerinden kuruluyor, dersler evden yapılıyor, programlar intenetten servis olarak kullanılıyor ve bu bilgi denizinde insanlar herşeyi bulabildiği için şunu yapsak nasıl olur pek demiyorlar.
3- Programlanabilirliğin bir özellik olmaktan çıkışı: Bu yazıyı okuyan sizin hala çalışan bir Amiga'sı, Commodore'u var mı? Ya da onlarla hiç tanıştınız mı? Datasette kullanıp kafa ayarı yaptınız mı? Ferhat'tan ya da Mikromedya'dan disket, kaset çektirdiniz mi? Hala pinball fantasies oyununu özlüyor musunuz? Bu terimlere aşina olan okuyucular o zaman bilgisayarların "programlanabilir kişisel bilgisayar" ve "kendi programlarınızı da yazabileceğiniz oyun, eğlence ve iş makineleri" olarak lanse edildiğini hatırlayacaklardır. Commodore kitabındaki ilk bölümün basic'e giriş olmasını da...
Bilgisayarın emekleme dönemlerini yaşadığı o zamanlarda insanların bilgisayarlarına program yazabilir olması büyük bir gelişmeydi ve bu insanlara pazarlanıyordu. O zamanlar bir bilgisayarın hızından ve özelliklerinden öte; desteklediği / kullandığı programlama dili dahi piyasa payını belirleyebilmekteydi. PC'nin gelişi ve DOS bunu çok değiştirmemiş olsa bile; Windows'un gelmesi ile bu özellik yavaş yavaş kaybolmaya başlamıştı ama; PC demoscene daha henüz yeni doğuyordu.
4- İşletim sistemlerinin karmaşıklaşması ve programlanabilirliğin saklanması: ve sonunda olan olmuştu. Microsoft'un her eve bir bilgisayar vizyonu çerçevesinde kolay kullanılabilir, insanların kafasını karıştırmayan işletim sistemleri üretilmeye başlandı. Önceleri bazı işlerin daha kolay hale getirilmesi için yazılmış olan windows shell, zamanla bilgisayarın ana kabuğu olmaya başlamış, MacOS'u tarihe gömmek için her sene çıkartılmak için uğraşılmış olan her cici windows DOS ve DOS prompt'u daha gerilere atmıştı. Windows 2000 ile Microsoft zafer ilan etti. Windows artık DOS tabanlı bir işletim sistemi değildir. Böylece DOS tarihe gömülmüş, kara ekran sadece emüle edilen ve "öcü" bir yer ilan edilmişti. Böylece basit programların çalışabileceği alan lanetlenmiş ve programlama öğrenmek isteyenlere başka yollar görünmüştü.
Windows üzerinde yazdığınız programın görünebilmesi için bir pencereye sahip olması şart hale gelmişti artık. Peki bunu nasıl yapacaktık? Fortran, Pascal ile bu imkansızdı fakat; C++ ve win32 API ile bu gayet mümkündü. İşin kötüsü ise bu durumun göründüğü kadar iç açıcı olmadığı idi. Win32API; güç ve kullanılabilirlik dengesini kaçırmış, anlamsız derecede zorlaştırılmış bir yapı olup çıkmıştı. Bunun iki sebebinden biri çok büyük bir hızla geliştirilip hiç ama hiç son kullanıcının düşünülmemiş olmasıydı. Diğeri ise son kullanıcıyı kuvvetli dillerden soğutup iş ortaklarına para kazandırmaktı. Çünkü Windows aynı zamanda ticari bir platformdu ve iki tarafa da para kazandırmalıydı. Microsoft ayrıca herkesi kendi platformuna bağlayabilmek için visual dil ailesini çıkardı ve böylece tüketicilerin yazdığı programların kendi platformuna bağımlı olmasını sağladı.
Sonuç olarak, daha önceleri bir özellik olarak lanse edilen ve sonra diğerlerine "güzel" para kazandırdığı için kullanıcıdan soyutlanan programlanabilme özelliği nedeni ile son kullanıcı program yazmayı bırakmak yerine, program yazmayı unuttu. Bunu unutmayan, merak eden insanlar için ise genel geçer dillerin işletim sistemi ile olan interface'leri son derece zorlaştırılarak daha basit ve high level diller üretildi (VC++, C#, J# vb. Microsoft dilleri). Daha önceki zamanlarda Sun ise tamamen farklı bir felsefe ile (Bir kere yaz her yerde kullan) Java'nın temelini attı. (.NET ailesi aynı zamanda Microsoft'un java'ya açtığı ve başka bir sürü amaç içeren , ki bunlar başka yazıların konularıdır). Sonuç olarak son kullanıcı high-level ve yavaş programlama dillerinde kendi egolarını tatmin ediyorlar. (Biliyorum, java ve .NET çok gelişmiş sistemler, yapılar vs. ama; ben aynı kodu da C++ ve WxWidgets ile yazabilir bu programları toza boğabilirim). Bu ekolün karşısında ise şu anda yavaş ama kararlı şekilde kök salan GNU/Linux durmakta ve bilgisayar meraklısı bir çok insan bu işletim sistemini windows'un yanına ikinci ya da birinci işletim sistemi olarak kurmakta, kullanmakta ve isteyenler çok rahat şekilde büyük / küçük programlar yazabilmekte. Şimdi sorun, daha sonraki nesillere bu işletim sistemlerini ve üretmenin zevkini tattırabilmekte...
Etiketler:
kullanıcıi düşünceler,
programcılık,
toplum,
trendler,
üretkenlik
03 Temmuz 2006
Güncelleme: Üslubun getirdikleri
Emre ile ilgili olan görüşlerimi yazdığım yazının ardından Emre'nin blogunda yeterince yakışıksız bir cevap belirdiği için kendisine cevap verme ihtiyacı hissetmemiştim ve hissedeceğimi zannetmiyorum fakat; bunu es geçemedim:
Emre dün öğlen bu düşüncelerini yazdıktan sonra ahmetaa adlı kullanıcı en güzel cevabı vermiş. "Lisp kullanmayacağız, kusura bakmayın :P"
Daha fazla söyleyecek bir şey yok zaten. Ne demiştik? Üslup, Hymn of the big wheel and Lisp üzerine... Evet.
Emre dün öğlen bu düşüncelerini yazdıktan sonra ahmetaa adlı kullanıcı en güzel cevabı vermiş. "Lisp kullanmayacağız, kusura bakmayın :P"
Daha fazla söyleyecek bir şey yok zaten. Ne demiştik? Üslup, Hymn of the big wheel and Lisp üzerine... Evet.
22 Haziran 2006
Güncelleme: Sound Blaster X-Fi GNU/Linux Sürücüleri
Bu sabah Creative'a attığım maile bir cevap geldi. Creative opensource sitesi'nin sorumlusu Garin Hiebert , konu ile ilgili oldukça açıklayıcı ve kibar bir cevap göndermiş.
Garin, Creative'in şu anda bütün gücü ile Vista için sürücü geliştirdiğini ve şu anda X-Fi'nin dökümantasyonunu yazabilecek durumda olmadıklarından bahsetmiş ki bence şu durum için yeterince haklılar. Sonuç olarak bir donanıma sürücü geliştirilebilmesi için yazılması gereken dökümantasyon oldukça karışık ve çok düzgün şekilde yazılması gerekiyor. Diğer yandan zaten Vista yeterince gecikmiş durumda ve donanım üreticileri de kötü sürücüler yazıp Vista'ya geçiş sürecinin hem Microsoft'a hem de kendilerine zarar vermesini istemiyorlar.
Ayrıca Garin, X-Fi nin kendine has bir mimarisi olduğunu ve bunun diğer insanların eline geçmesini pek istemediklerinden bahsetmiş ki bu durum biraz farklı. Evet X-Fi tamamen farklı bir mimariye sahip ve bunun kopyalanmasının önlenmesi Creative'e pazar liderliğini sürdürmesini sağlayacak bir avantaj fakat; tamamen açık kaynaklı olarak yaşayan bir proje olan GNU'nun buna ne diyeceğini kestirmek zor. Fakat Garin, driverlar kapalı olacak başka yolu yok demek yerine; Vista piyasaya çıktıktan sonra ekibe dökümantasyon için baskı yapmaya niyetli olduğundan bahsediyor ki bu bence iyi bir gelişme.
Sonuç olarak, Creative'deki mühendis amcalar yeni ürettikleri oyuncağın mimarisinin çalınmasından küçük çocuklar gibi korkuyorlar ve bunda da kabul edilebilir bir derecede de haklılar. Ayrıca driver konusunda açık kapı bırakmış olmaları da bence takdire şayan. Kısacası bu kapalı sürücü durumu geçici bir dönem gibi duruyor, umarım öyledir.
P.S: Keşke herkes Garin gibi konu ile ilgili olup, iletişime geçenleri ciddiye alsa, teknoloji piyasası çok daha yaşanılabilir bir hale gelir, eminim.
Garin, Creative'in şu anda bütün gücü ile Vista için sürücü geliştirdiğini ve şu anda X-Fi'nin dökümantasyonunu yazabilecek durumda olmadıklarından bahsetmiş ki bence şu durum için yeterince haklılar. Sonuç olarak bir donanıma sürücü geliştirilebilmesi için yazılması gereken dökümantasyon oldukça karışık ve çok düzgün şekilde yazılması gerekiyor. Diğer yandan zaten Vista yeterince gecikmiş durumda ve donanım üreticileri de kötü sürücüler yazıp Vista'ya geçiş sürecinin hem Microsoft'a hem de kendilerine zarar vermesini istemiyorlar.
Ayrıca Garin, X-Fi nin kendine has bir mimarisi olduğunu ve bunun diğer insanların eline geçmesini pek istemediklerinden bahsetmiş ki bu durum biraz farklı. Evet X-Fi tamamen farklı bir mimariye sahip ve bunun kopyalanmasının önlenmesi Creative'e pazar liderliğini sürdürmesini sağlayacak bir avantaj fakat; tamamen açık kaynaklı olarak yaşayan bir proje olan GNU'nun buna ne diyeceğini kestirmek zor. Fakat Garin, driverlar kapalı olacak başka yolu yok demek yerine; Vista piyasaya çıktıktan sonra ekibe dökümantasyon için baskı yapmaya niyetli olduğundan bahsediyor ki bu bence iyi bir gelişme.
Sonuç olarak, Creative'deki mühendis amcalar yeni ürettikleri oyuncağın mimarisinin çalınmasından küçük çocuklar gibi korkuyorlar ve bunda da kabul edilebilir bir derecede de haklılar. Ayrıca driver konusunda açık kapı bırakmış olmaları da bence takdire şayan. Kısacası bu kapalı sürücü durumu geçici bir dönem gibi duruyor, umarım öyledir.
P.S: Keşke herkes Garin gibi konu ile ilgili olup, iletişime geçenleri ciddiye alsa, teknoloji piyasası çok daha yaşanılabilir bir hale gelir, eminim.
19 Haziran 2006
Virus found: Norton Antivirus
Kısa bir süre önce, yine burada, Windows'da yaşadığım sorunlardan bahsetmiş; artık bir programcı olarak Windows üzerine herhangi program yazmayı düşünmediğimden bahsetmiştim. Bugün ise bir kullanıcı olarak Windows'dan nasıl bıktığımdan bahsedeceğim.
Bugün yeni bir işe başladım. Her yeni işe başlayan insan gibi henüz bir masam, kendime ait bir bilgisayarım vs. yok doğal olarak. Oyalanmam ve sistemi öğrenmem için dökümanlara bir göz atmam istendi. Bunu yapabilmem için de, yeni Windows kurulmuş bir laptop bana geçici olarak verildi (gülmeyin çünkü bütün işler GNU/Linux üzerinden yürütülüyor çalıştığım yerde). Laptop ile ilk tanışmamız eğlenceliydi çünkü; üzerinde firefox ve thunderbird gibi şeyler vardı. Tabii bir de anti virus yazılımı. Ofis, en iyisi olsun diye Norton Antivirus satın almıştı...
Komiklikler on dakika içinde başgöstermeye başladı. İlk önce Spyware Quake adında bir program açıldı (Scheduled task idi sanırım) ve Norton çığlığı bastı: "Virus var: Spyware Quake". Norton'u saçmaladığına ikna ettikten sonra, bu sefer abuk subuk pop-uplar çıkmaya başladı. Bunların bazıları bilmemne virüsünün son versiyonu olan 2.1.403 (yada bunun gibi bir şey)ün bilgisayarıma bulaştığından bahsediyor, diğerleri mesajı iyi okumam gerektiğini, OK dersem bana bunu temizlemek için gereken yazılımın sitesine götüreceğini söylüyordu...
Biraz cebelleştikten sonra Norton'dan tam bir sistem taraması istedim ve sonuçların ortaya çıkması ile suçlu belli oldu: Norton bilgisayarımda iki tane tehdit bulmuştu. Bunların biri Spyware Quake idi ve tehlikesi orta olarak belirlenmişti. Norton silmem gerektiğini söylüyordu, kabul ettim. Diğeri ise bilmemne adında bir spyware'dı. Norton bunun tehlike oluşturmadığını ve yoksayılmasının uygun olduğunu söyledi. Ben ise silmesi konusunda ısrar ettim.
Norton, istediklerimi yaptığını ama bilgisayarımı başlatırsam geri kalan dosyaların da silineceğini söyledi. Ben de dediğini yaptım tabii.
Bilgisayarı açtığımda ne Spyware Quake (ki kendisi bir program, virüs değil) ne de o kasti yerleştirilen ve beni bir şeyler satın almaya iten adware silinmişti. Sonuç ise belli olmuştu. Norton Antivirüs, anlaşması olmayan programlar için virüs uyarısı yapıyor, anlaşmalı olduğu programların propagandacı adware programlarını kasten kendi bulaştırıyordu. Sonunda yıllardır en iyi anti virüs yazılımlarından birini üreten Symantec firması, son kullanıcıyı resmen kandırıyordu.
Symantec firması bunun yanına kalacağını düşünüyorsa sanırım satışlarının düşüşünü izlerken çok eğleneceğiz.
İyi geceler.
Güncelleme: Avast! Antivirus Home Edition, aynı bilgisayarda yaklaşık 16 tane virus buldu ve temizledi. Hmm...
Bugün yeni bir işe başladım. Her yeni işe başlayan insan gibi henüz bir masam, kendime ait bir bilgisayarım vs. yok doğal olarak. Oyalanmam ve sistemi öğrenmem için dökümanlara bir göz atmam istendi. Bunu yapabilmem için de, yeni Windows kurulmuş bir laptop bana geçici olarak verildi (gülmeyin çünkü bütün işler GNU/Linux üzerinden yürütülüyor çalıştığım yerde). Laptop ile ilk tanışmamız eğlenceliydi çünkü; üzerinde firefox ve thunderbird gibi şeyler vardı. Tabii bir de anti virus yazılımı. Ofis, en iyisi olsun diye Norton Antivirus satın almıştı...
Komiklikler on dakika içinde başgöstermeye başladı. İlk önce Spyware Quake adında bir program açıldı (Scheduled task idi sanırım) ve Norton çığlığı bastı: "Virus var: Spyware Quake". Norton'u saçmaladığına ikna ettikten sonra, bu sefer abuk subuk pop-uplar çıkmaya başladı. Bunların bazıları bilmemne virüsünün son versiyonu olan 2.1.403 (yada bunun gibi bir şey)ün bilgisayarıma bulaştığından bahsediyor, diğerleri mesajı iyi okumam gerektiğini, OK dersem bana bunu temizlemek için gereken yazılımın sitesine götüreceğini söylüyordu...
Biraz cebelleştikten sonra Norton'dan tam bir sistem taraması istedim ve sonuçların ortaya çıkması ile suçlu belli oldu: Norton bilgisayarımda iki tane tehdit bulmuştu. Bunların biri Spyware Quake idi ve tehlikesi orta olarak belirlenmişti. Norton silmem gerektiğini söylüyordu, kabul ettim. Diğeri ise bilmemne adında bir spyware'dı. Norton bunun tehlike oluşturmadığını ve yoksayılmasının uygun olduğunu söyledi. Ben ise silmesi konusunda ısrar ettim.
Norton, istediklerimi yaptığını ama bilgisayarımı başlatırsam geri kalan dosyaların da silineceğini söyledi. Ben de dediğini yaptım tabii.
Bilgisayarı açtığımda ne Spyware Quake (ki kendisi bir program, virüs değil) ne de o kasti yerleştirilen ve beni bir şeyler satın almaya iten adware silinmişti. Sonuç ise belli olmuştu. Norton Antivirüs, anlaşması olmayan programlar için virüs uyarısı yapıyor, anlaşmalı olduğu programların propagandacı adware programlarını kasten kendi bulaştırıyordu. Sonunda yıllardır en iyi anti virüs yazılımlarından birini üreten Symantec firması, son kullanıcıyı resmen kandırıyordu.
Symantec firması bunun yanına kalacağını düşünüyorsa sanırım satışlarının düşüşünü izlerken çok eğleneceğiz.
İyi geceler.
Güncelleme: Avast! Antivirus Home Edition, aynı bilgisayarda yaklaşık 16 tane virus buldu ve temizledi. Hmm...
Sound Blaster X-Fi için GNU/Linux Sürücüleri
Creative, bir çok ürününün (ses kartları, kameralar, MP3 çalarlar, vb.) GNU/Linux altında düzgün çalışabilmesi için ürün spesifikasyonlarının tümünü ya da bir kısmını ilgili kod yazan insanlara vermesi ya da herkese açması ile benim gönlümde her zaman farklı bir yerdedir. Fakat son çıkardıkları X-Fi serisi ses kartları için böyle bir hamlede bulunmamış olmaları uzun zamandır kafamda soru işaretleri yaratmaktaydı.
Bu kartlar sıradan kartlara göre çok daha fazla işlem gücü ve çok farklı bir mimari bulundurduğundan dolayı reverse engineer edilerek sürücüsü yazılması pek mümkün olan kartlar değiller ve bu yüzden bir çok GNU/Linux kullanıcısı ve ciddi anlamda ses kartına ihtiyaç duyan insanlar (müzisyenler, müzik dinlemeyi sevenler ya da 7/24 film seyredenler) bu kartı alıp kullanamıyordu.
Creative 18 mayıs 2006 da, X-Fi kartları için kapalı kodlu bir driver yazmaya karar verdiğini, bu driver'ın kartın tüm özelliklerini kullanabileceğini (EAX, kayıt, midi vs.) ve driver'ın 2007 ortalarında elimizde olacağını duyurdu. Haber çok güzel aslında. Yeni bir kart için yeni driverlar. Oldukça geç bile olsa... ama; bu driverların kodları neden kapalı? Açıkçası merak etmekteyim ve bu konu hakkında bir mail atıp cevabını sizinle paylaşacağım. Acaba Creative Labs, teknolojilerini kaybetmekten mi korkuyor yoksa, amaç GNU/Linux'u baltalamak mı?
İyi geceler.
Bu kartlar sıradan kartlara göre çok daha fazla işlem gücü ve çok farklı bir mimari bulundurduğundan dolayı reverse engineer edilerek sürücüsü yazılması pek mümkün olan kartlar değiller ve bu yüzden bir çok GNU/Linux kullanıcısı ve ciddi anlamda ses kartına ihtiyaç duyan insanlar (müzisyenler, müzik dinlemeyi sevenler ya da 7/24 film seyredenler) bu kartı alıp kullanamıyordu.
Creative 18 mayıs 2006 da, X-Fi kartları için kapalı kodlu bir driver yazmaya karar verdiğini, bu driver'ın kartın tüm özelliklerini kullanabileceğini (EAX, kayıt, midi vs.) ve driver'ın 2007 ortalarında elimizde olacağını duyurdu. Haber çok güzel aslında. Yeni bir kart için yeni driverlar. Oldukça geç bile olsa... ama; bu driverların kodları neden kapalı? Açıkçası merak etmekteyim ve bu konu hakkında bir mail atıp cevabını sizinle paylaşacağım. Acaba Creative Labs, teknolojilerini kaybetmekten mi korkuyor yoksa, amaç GNU/Linux'u baltalamak mı?
İyi geceler.
05 Haziran 2006
Düşüncelere değer vermek
Kimseye söylemeyin, artık commentler açıldı. E yazsanıza. Ne duruyorsunuz?
Bir de temayı değiştirdim canlı olsun diye. Umarım beğenirsiniz...
Bir de temayı değiştirdim canlı olsun diye. Umarım beğenirsiniz...
03 Haziran 2006
Üslubun getirdikleri...
Geçtiğimiz günlerde Linux Gezegeni'nde linkteki girdi yapıldı. Bu entry'nin hedefi ileriseviye'de yazan Emre Sevinç'ten ve onun blogundan başkası değildi. Bu, O'nun blog girdileri ile ilgili görüp duyduğum en sert tepkiydi.
Bu blog esasında egzotik programlama dilleri, teorilerin kullanım amaçları vb. konular için açılmış olsa da; haklı şekilde Emre Sevinç'in en sevdiği şeyi, LISP'i anlatıyor en çok. Her girdi, bir LISP konferansı ya da bir teorinin LISP ile uygulanmasına dair örnekler içeriyor. Bunda hiç bir yanlış yok. İnsan istediği dili sevebilir, istediği konuyu blogunda işleyebilir. Peki nedir bu tepkiyi ortaya çıkaran, insanların sabır limitlerinin ötesine geçen?
Doğruyu söylemek gerekirse Emre'nin (böyle dediğim için kızmayacağını umuyorum) blog'unu ben de okuyorum. İşlediği konu(lar/y)a merakım olsa da blogu çok rahat okuyabildiğim söylenemez. Emre'nin üslubu ve anlatım tarzı durumu bu hale getiren yegane şey maalesef...
(İki paragraf arası not: Benim blogumda 24 mart'ta yazılmış olan bu yazı da esasında Emre'nin Bilgi Üniversitesi CS-Discuss mailing listine attığı bir yazıya cevaben yazılmış, önce listeye gönderilmiş, daha sonra da buraya eklenmiştir. Yazıda, kendisini rencide etmemek adına hiç bir şekilde ne adını ne de ona ulaşılabilecek bir adresi vermemiştim.)
Evet ne demiştik? Anlatım tarzı, evet. Emre'nin anlatım tarzı'nın blogunu okunamaz ve sinir bozucu hale getirdiğinden bahsetmiştim. Peki nedir bu üslup, nasıl sinir bozucu olabiliyor?
Emre'nin sinir bozuculuğu LISP'i sevmesinden, Tekdüze bir blog olmasından, bir caz parçasını LISP ile bağlayabilmesinden gelmiyor. Bu sinir bozuculuk, "ben biliyorum, ben söylüyorum ve evet, sizi eziyorum" havasından kaynaklanıyor. Emre bunu istemiyor olabilir ama; maalesef bu şekilde yazıyor. Blogunda her zaman ulu programlama dili LISP ve minik ve ezik köleleri diğer programlama dilleri var.
Emre'ye göre her şey LISP de bitiyor. Bütün programlama dilleri LISP den türetilme, LISP uğraşılırsa en hızlı, gurusu olunursa bütün dünyanın anahtarı... Bazı insanlar "LISP-aware" programlama ortamlarında 15dk içinde web server yazıyorlar ama ufak bir sorun var. Kodu siz değil bilgisayar yazıyor, ve LISP syntaxı yüzünden okunamaz bir şekilde yazıyor. Arkada çalışan kod ise Apache. Yeni bir şey yok yani.
İnsanları ve beni delirten şey de bu işte. Birileri diğer programlama dilleri ile ülkeyi, dünyayı değiştirıyor (Pardus); Emre ise burada diğer insanların yaptıklarını ve başkarının bulduklarını anlatıp, savunuculuğunu yapıyor. O da lazım ama; bu şekilde değil.
Ben şahsen Emre'nin LISP'te bugün blogunda kendi yaptığı şeyleri, kendi özgün düşncelerini (kişisel "kıssadan hisse" ve "bir yıl içinde ben bunları öğreneceğim" lerini değil) ve kendi üretimlerini görmek; "X, Y dilinide bu şeklde yapılırken; bu X, LISP'te Z şekilde daha rahat ve daha hızlı yazılabiliyor ya da, LISP bu konuda yetersiz bence siz bunu Y de yazmaya devam edin." tarzı şeyler okumak, kendi yaptıklarını görmek istiyorum (Ayrıca araya sıkıştırmak istiyorum, bir şeyin diğerinden kötü olması çok doğaldır. Benim yeni projem T|Storm'un ilk versiyonu, konvansiyonel sıkıştırma algoritmalarına göre ancak %35-40 efektif ama; olsun, ilk üreten biziz, geliştirip açacak olan da. Sonra başkaları geliştirecek belki?).
Son söz olarak söylemek istediğim şey Emre: Biraz daha objektif, daha hoş görülü, daha uysal ve esnek yazılar yazman. En iyi programlama dili, amacına o anda en çok hizmet edenlerin arasında senin en sevdiğindir ama maalesef, bir C++, bir LISP tek başına bütün dünyayı ele geçiremiyor...
İyi günler.
Bu blog esasında egzotik programlama dilleri, teorilerin kullanım amaçları vb. konular için açılmış olsa da; haklı şekilde Emre Sevinç'in en sevdiği şeyi, LISP'i anlatıyor en çok. Her girdi, bir LISP konferansı ya da bir teorinin LISP ile uygulanmasına dair örnekler içeriyor. Bunda hiç bir yanlış yok. İnsan istediği dili sevebilir, istediği konuyu blogunda işleyebilir. Peki nedir bu tepkiyi ortaya çıkaran, insanların sabır limitlerinin ötesine geçen?
Doğruyu söylemek gerekirse Emre'nin (böyle dediğim için kızmayacağını umuyorum) blog'unu ben de okuyorum. İşlediği konu(lar/y)a merakım olsa da blogu çok rahat okuyabildiğim söylenemez. Emre'nin üslubu ve anlatım tarzı durumu bu hale getiren yegane şey maalesef...
(İki paragraf arası not: Benim blogumda 24 mart'ta yazılmış olan bu yazı da esasında Emre'nin Bilgi Üniversitesi CS-Discuss mailing listine attığı bir yazıya cevaben yazılmış, önce listeye gönderilmiş, daha sonra da buraya eklenmiştir. Yazıda, kendisini rencide etmemek adına hiç bir şekilde ne adını ne de ona ulaşılabilecek bir adresi vermemiştim.)
Evet ne demiştik? Anlatım tarzı, evet. Emre'nin anlatım tarzı'nın blogunu okunamaz ve sinir bozucu hale getirdiğinden bahsetmiştim. Peki nedir bu üslup, nasıl sinir bozucu olabiliyor?
Emre'nin sinir bozuculuğu LISP'i sevmesinden, Tekdüze bir blog olmasından, bir caz parçasını LISP ile bağlayabilmesinden gelmiyor. Bu sinir bozuculuk, "ben biliyorum, ben söylüyorum ve evet, sizi eziyorum" havasından kaynaklanıyor. Emre bunu istemiyor olabilir ama; maalesef bu şekilde yazıyor. Blogunda her zaman ulu programlama dili LISP ve minik ve ezik köleleri diğer programlama dilleri var.
Emre'ye göre her şey LISP de bitiyor. Bütün programlama dilleri LISP den türetilme, LISP uğraşılırsa en hızlı, gurusu olunursa bütün dünyanın anahtarı... Bazı insanlar "LISP-aware" programlama ortamlarında 15dk içinde web server yazıyorlar ama ufak bir sorun var. Kodu siz değil bilgisayar yazıyor, ve LISP syntaxı yüzünden okunamaz bir şekilde yazıyor. Arkada çalışan kod ise Apache. Yeni bir şey yok yani.
İnsanları ve beni delirten şey de bu işte. Birileri diğer programlama dilleri ile ülkeyi, dünyayı değiştirıyor (Pardus); Emre ise burada diğer insanların yaptıklarını ve başkarının bulduklarını anlatıp, savunuculuğunu yapıyor. O da lazım ama; bu şekilde değil.
Ben şahsen Emre'nin LISP'te bugün blogunda kendi yaptığı şeyleri, kendi özgün düşncelerini (kişisel "kıssadan hisse" ve "bir yıl içinde ben bunları öğreneceğim" lerini değil) ve kendi üretimlerini görmek; "X, Y dilinide bu şeklde yapılırken; bu X, LISP'te Z şekilde daha rahat ve daha hızlı yazılabiliyor ya da, LISP bu konuda yetersiz bence siz bunu Y de yazmaya devam edin." tarzı şeyler okumak, kendi yaptıklarını görmek istiyorum (Ayrıca araya sıkıştırmak istiyorum, bir şeyin diğerinden kötü olması çok doğaldır. Benim yeni projem T|Storm'un ilk versiyonu, konvansiyonel sıkıştırma algoritmalarına göre ancak %35-40 efektif ama; olsun, ilk üreten biziz, geliştirip açacak olan da. Sonra başkaları geliştirecek belki?).
Son söz olarak söylemek istediğim şey Emre: Biraz daha objektif, daha hoş görülü, daha uysal ve esnek yazılar yazman. En iyi programlama dili, amacına o anda en çok hizmet edenlerin arasında senin en sevdiğindir ama maalesef, bir C++, bir LISP tek başına bütün dünyayı ele geçiremiyor...
İyi günler.
21 Mayıs 2006
Yeni Proje (T|Storm)
Evet. Yeni bir projeye başlıyorum. Esasında olan bir projeyi geliştiriyorum... Bitirme projesi için Java'da yazdığımız sistemi C++ a port edip geliştireceğim ve GPL lisansı ile açacağım.
Ne projesi mi? Olgunlaşana kadar saklamaya karar verdiğim bitirme projemiz, bir sıkıştırma algoritması. Sadece yazı sıkıştırmak için. Özellikle Türkçe için tasarlandı, geliştirildi. İlk versiyonunu açmamamın nedeni tüm kodunun bana ait olmaması ve şu anki performansından pek memnun olmamam (Ayrıca ilk uygulamasını da biz yapıyoruz Türkçe için. Tasarımı da bize ait, evet). Daha düzenli, hızlı ve makina koduna çevrilebilir bir sürümünü çıkartınca koyacağım buraya.
Bu arada maalesef, sistem GNU/Linux için geliştirildi. Java mı? Hayır win32API yüzünden en önemli modulü olması gerektiği gibi çalışmıyor. Belki C++ versiyonu çalışır ya da port ederim.
Görüşmek üzere, iyi geceler.
Ne projesi mi? Olgunlaşana kadar saklamaya karar verdiğim bitirme projemiz, bir sıkıştırma algoritması. Sadece yazı sıkıştırmak için. Özellikle Türkçe için tasarlandı, geliştirildi. İlk versiyonunu açmamamın nedeni tüm kodunun bana ait olmaması ve şu anki performansından pek memnun olmamam (Ayrıca ilk uygulamasını da biz yapıyoruz Türkçe için. Tasarımı da bize ait, evet). Daha düzenli, hızlı ve makina koduna çevrilebilir bir sürümünü çıkartınca koyacağım buraya.
Bu arada maalesef, sistem GNU/Linux için geliştirildi. Java mı? Hayır win32API yüzünden en önemli modulü olması gerektiği gibi çalışmıyor. Belki C++ versiyonu çalışır ya da port ederim.
Görüşmek üzere, iyi geceler.
14 Mayıs 2006
SATA Kablolarının Azizliği
Bugün yine sistemimin yüklü olduğu disk kitlenir gibi oldu. Üstelik bazı dosyalarım da kaybolmuş görünüyorlardı. Üç hafta içinde ikinci kez olunca açıkçası gerçekten canım sıkıldı (ilkinde işletim sistemimi kaybetmiştim).
Bu sefer diski çıkartmaktansa kablosunu değiştirmeye karar verdim. Zaten çok da sıkı oturmuyorlardı... Elimdeki farklı marka kablolardan birini (ki takınca çıkarması çok daha zor olanlardan) taktım, düzeldi.
Demekki neymiş? Aska marka ya da çok sıkı oturmayan SATA kabloları sisteminize sataşabiliyorlarmış, uzak durmak gerekmiş...
Bu sefer diski çıkartmaktansa kablosunu değiştirmeye karar verdim. Zaten çok da sıkı oturmuyorlardı... Elimdeki farklı marka kablolardan birini (ki takınca çıkarması çok daha zor olanlardan) taktım, düzeldi.
Demekki neymiş? Aska marka ya da çok sıkı oturmayan SATA kabloları sisteminize sataşabiliyorlarmış, uzak durmak gerekmiş...
06 Mayıs 2006
TaipaN
TaipaN, kendine yeni bir blog açtı... Henüz içinde pek bir şey olmasada zamanla gelişecek tabii ki. Linki sağ tarafata bulabilirsiniz.
Hoşgeldin.
Hoşgeldin.
22 Nisan 2006
Bir platform olarak Windows.
Her şey benim son stajımda linux kullanmak zorunda kalmam ile başlamıştı... Staja gittiğim ilk gün elime debian CD sini tutuşturup "hadi kur bakalım" demişlerdi. Benim için çok zor olmamıştı zaten. Bilmediğim bir şey değildi Debian kurmak. Bilmediğim şey, bu kadar zamandır öğrenmeye üşendiğim işletim sisteminin hayatımı değiştireceği idi...
Staj başladıktan bir hafta sonra proje kodlarıma evde devam edebilmek için fedora kurdum. Bir kaç ay önce de SuSE 10.0 a geçtim. Başka hiç bir işletim sistemi kullanmıyorum artık, zaten ihtiaç duymuyorum. Zaten bu yazının linux ile alakası bu açıdan değil.
Bitirme projesinin önümüze konması da bu zamanlara denk geliyordu. Bir yandan konu üzerinde araştırma yapmak, bir yandan da projeyi yazacağımız dili seçmemiz gerekiyordu. Benim kalbimde yatan dil C++ olmasına rağmen, portable olmasını sağlamak çok zor olabilirdi. .NET kullanan arkadaşım C# diye tutturdu ama benim windows kurmama ve .NETi sevmeme fikirlerimi kıramadı. Ben ise yeni yeni java öğreniyordum ve Java'da yazalım dedim. Hem cross platform hem de senin çok sevdiğin o .NET diline benziyor. İkna çabalarım başarılı olmuştu. Arkadaşımın eline bir paket eclipse tutuşturup evine yolladım.
Proje gelişmeye başlıyordu... Düşe kalka ilerliyor, bir şeyleri çalışır hale getiriyorduk. Hiç bir sorun yoktu. Kodlar tamamen cross-platfom şekilde derlenebiliyor, çalışıyor, test edilebliyordu. Sevinçliydik... Ta ki, ben proje'nin dosya formatını ve yazma okuma sistemlerini yazmaya başlayana kadar. Sıkıştırma algoritmasının hesapları ile dosyaya yazılan boyutlar arasında durmadan sorunlar çıkıyordu. Zaten binbir zorlukla ve numara ile geliştirilen dosya formatı, nedense olması gerektiği gibi çalışmıyor; linux sistemde sıkıştırma elde ederken, windows sistemlerde dosya sadece şişiyordu. Sıkıştırma sadece yazı üzerine olduğu için dosyanın bazı yerlerine özel "karakterler" yazmak gerekiyordu ve ben bunları UTF-16BE (endian sırasını kendim belirlemiştim çünkü böylece java her harf başına byte-sırası karakterleri yazmıyordu) olarak gömüyordum dosyaya... Ayrıca aynı sorunlar dosya çözülürken de çıkıyordu. Benim koymadığım o karakterlerin dosyada ne işi vardı?
Biraz uğraşı biraz vi sonucu gördük ki, o karakterler byte-sıra karakterlerinden başka bir şey değildi. Yani kısacası; benim özellikle seçtiğim encoding; java'nın ve benim istediğim gibi çalışmıyordu. Windows yine bildiğini yapıyor, istediğini istediği gibi yazıyor, okuyordu... Dünyanın en popüler işletim sistemini yazan amcalar size istediğiniz gibi program yazma özgürlüğü de bırakmamışlardı anlaşılan...
Sonuç olarak, arkadaşın makinasına da SuSE kurup geliştirme işine o şekilde devam edip bitirdik ve ben Windows'dan bir program, bir işletim sistemi olarak iyice soğudum... Bu nedenle programcı olmak isteyenler bence hangi platformu kullanacağını, o platformun getirdiklerini iyi bilsinler, ona göre seçim yapsınlar.
İyi Akşamlar...
Staj başladıktan bir hafta sonra proje kodlarıma evde devam edebilmek için fedora kurdum. Bir kaç ay önce de SuSE 10.0 a geçtim. Başka hiç bir işletim sistemi kullanmıyorum artık, zaten ihtiaç duymuyorum. Zaten bu yazının linux ile alakası bu açıdan değil.
Bitirme projesinin önümüze konması da bu zamanlara denk geliyordu. Bir yandan konu üzerinde araştırma yapmak, bir yandan da projeyi yazacağımız dili seçmemiz gerekiyordu. Benim kalbimde yatan dil C++ olmasına rağmen, portable olmasını sağlamak çok zor olabilirdi. .NET kullanan arkadaşım C# diye tutturdu ama benim windows kurmama ve .NETi sevmeme fikirlerimi kıramadı. Ben ise yeni yeni java öğreniyordum ve Java'da yazalım dedim. Hem cross platform hem de senin çok sevdiğin o .NET diline benziyor. İkna çabalarım başarılı olmuştu. Arkadaşımın eline bir paket eclipse tutuşturup evine yolladım.
Proje gelişmeye başlıyordu... Düşe kalka ilerliyor, bir şeyleri çalışır hale getiriyorduk. Hiç bir sorun yoktu. Kodlar tamamen cross-platfom şekilde derlenebiliyor, çalışıyor, test edilebliyordu. Sevinçliydik... Ta ki, ben proje'nin dosya formatını ve yazma okuma sistemlerini yazmaya başlayana kadar. Sıkıştırma algoritmasının hesapları ile dosyaya yazılan boyutlar arasında durmadan sorunlar çıkıyordu. Zaten binbir zorlukla ve numara ile geliştirilen dosya formatı, nedense olması gerektiği gibi çalışmıyor; linux sistemde sıkıştırma elde ederken, windows sistemlerde dosya sadece şişiyordu. Sıkıştırma sadece yazı üzerine olduğu için dosyanın bazı yerlerine özel "karakterler" yazmak gerekiyordu ve ben bunları UTF-16BE (endian sırasını kendim belirlemiştim çünkü böylece java her harf başına byte-sırası karakterleri yazmıyordu) olarak gömüyordum dosyaya... Ayrıca aynı sorunlar dosya çözülürken de çıkıyordu. Benim koymadığım o karakterlerin dosyada ne işi vardı?
Biraz uğraşı biraz vi sonucu gördük ki, o karakterler byte-sıra karakterlerinden başka bir şey değildi. Yani kısacası; benim özellikle seçtiğim encoding; java'nın ve benim istediğim gibi çalışmıyordu. Windows yine bildiğini yapıyor, istediğini istediği gibi yazıyor, okuyordu... Dünyanın en popüler işletim sistemini yazan amcalar size istediğiniz gibi program yazma özgürlüğü de bırakmamışlardı anlaşılan...
Sonuç olarak, arkadaşın makinasına da SuSE kurup geliştirme işine o şekilde devam edip bitirdik ve ben Windows'dan bir program, bir işletim sistemi olarak iyice soğudum... Bu nedenle programcı olmak isteyenler bence hangi platformu kullanacağını, o platformun getirdiklerini iyi bilsinler, ona göre seçim yapsınlar.
İyi Akşamlar...
11 Nisan 2006
Bir eğitimcinin mühendislik görüşü üzerine denemeler
Bugün, mesleki sertifika eğitimi veren bir eğitimci ile biraz sohbet ettim. Kısa bir sohbet olmasına rağmen neden olduğunu anlayamadığım halde, ciddi şekilde sürtüşmeyi başardık. Sohbet, benim açık kaynak kodlu yazılım ve GNU/Linux sempatimin ortaya çıkması ile alevlenmeye başladı ve bu insanın ağzından bir çok görüş öğrendim. Mesela....
Türkiye'de .net kullanılıyor çünkü; bu ülkede bundan para kazanılıyor. IBM ve büyük firmalar açık kaynak "kullanıyorlar" çünkü bundan ekmek yiyorlar. Yoksa açık kaynak ile bir gönül bağları yok. Açık kaynağa gönül verenler bir tek GNU cular ve komik şeyler söylüyorlar. Evet haklı ama; ikinci cümlenin başına kadar. IBM ve benzeri firmalar açık kaynaklı yazılım kullanmaktan öte, bu yazılımların üretimine, korunmasına (OIN, open innovation network) ve desteklenmesine (kendi yazılımlarını değil, genel olarak açık kaynağın desteklenmesine) ciddi anlamda para yatırıyorlar. Hiç bir ücret alınmadan dağıtılan bu yazılımların bütün teknolojilerinin açık olması ise bu adamların bunun üzerinden para kazanmalarını engelliyor. Peki, bu adamlar nereden ve nasıl para kazanabiliyorlar?
Açık kaynak kodun en büyük özelliklerinden biri, program ile beraber desteğinin indirilemiyor oluşu. Yani sizin yeterince yetenekli ve bu işi seven bir ekibiniz yoksa; bu adamlardan destek ve eğitim almalısınız. Adamlar bu noktada yazılımdan para kazanıyorlar. Adamlar kodu satarak daha çok para kazanabilecekken neden peki daha az para kazanıyorlar? Cevabı basit. Çünkü adamlar kodu açarak maliyetten düşüyorlar. Açık kaynaklı yazılımların belli bir ekibi ve belli gönüllüleri var. Gönüllüler, böcek ayıklama ya da geliştirme yapıyorlar. Sonuç olarak programın kodu daha geniş bir kitleye yayılıyor ve daha kolay böcek temizleme (kod ve tasarım seviyesinde) ve alana göre özelleştirilme / yerelleştirme çalışmaları yapılıyor. Bu değişiklikleri uyarlayan insanlar bunu firmaya geri gönderdiği zaman bunlar da firmanın sistemine göre (eğer böyle şeyler kabul ediliyorsa) koda ekleniyor. Böylece çift yönlü döngü başlıyor. Profesyonel programcılar, diğer gönüllü "code hacker" lardan görüş, öneri ve destek de alabiliyorlar böylece. Sonuç olarak yazılım hızlı evriliyor, hızlı gelişiyor ve daha stabil bir noktaya geliyor.
Bu kadar paralel şey söyledikten sonra benim bu adamla ne diye anlaşamadığımı da merak edeceksiniz, eminim. Sorun şu: bana göre açık kaynak dünyasını bu kadar dinamik, firmaları da bu işe bu kadar istekli tutan bir şey var. Bu işin amatörlüğü. Plana programa bağlı olsa bile bir kültürü var. Kişisel hırslardan çok ortak geliştirme ve anlaşabilme disiplinine dayalı, saydam ve eğlenceli. Programcı ekibiniz sürekli değişken. Mutlaka işi iyi bilen biri var ve en önemlisi severek yapılıyor (en azından gönüllüler tarafından). Bana göre ayrıca bir yazılım profesyonel bir sekreterlikten (özel bir dilde özel bir metni şekline uygun şekilde yazmak) çok gönüllü bir sanatçılık. Kendi imzanı kendi kodlama stilin ile birleştirip ortaya istenilen işi yapan ama senin zeka ve anlayşını yansıtan bir ürün çıkarmak. Bu ürünü çıkartırken karşılaştığın sorunlarla kendi çözüm anlayışını ve bilgini uygulayarak metodoloji olarak bu kodu bir kere daha imzalamak. Böylece hem kendini hem çalıştığın yeri memnun edip hayatına devam etmek.
Bugün konuştuğum insana göre ise programcılık daha basit. Yapılması istenen işi, eğitim ya da çözüm dökümanlarındaki en popüler yöntemle yazıp, karşılaşılan sorunları internetten ulaşılabilen çözümlerden basitçe devşirmek. Bu tamamen yeniden kullanılabilir kod konseptine otursa bile bu kadar saf şekilde bu yöntemin uygulanması sadece ve sadece günü kurtaran, n. revizyonda "sphagetti code" olup, programınızı hazmedilemez bir pelteye çeviren bir metodoloji. Benim özel sektör ve şu zamanlarda çok popüler olan yazılım mühendisliği (otomatikleştirilmiş programcı yetiştirme bölümü de diyebiliriz) ile anlaşamamaktaki temel nedenim bu.
Bir de GNU cuların komik olmak gibi bir özellikleri olduğunu öğrendiğimden bahsetmiştim. GNU cuların komik olmalarının sebebi ise idealist olup, bir şeyi gönülden desteklemek ve diğer firmalara bu ciddi alternatifi kabul ettirebilmeleri sanırım. Eğer bir insan 70lerdeki iyi niyeti özleyip bu hayalini gerçekleştirip IBM gibi bir firmaya eclipse gibi bir teknolojiyi açtırıp, kocaman bir işletim sistemi yazıp bunu dünyanın en büyük firmasının karşısına çıkarabilecek bir örgütlenme yaratabiliyor ise, buna "komiklik" diyen insanların aynaya bakıp "lan acaba..." demelerinde fayda olduğunu da düşünüyorum.
Ayrıca bir insanı "bu ülkede" "ar-ge" yapmak istediği için ve "her şey para değil, yaşayabileceğim kadar para kazanıp sevdiğim işi yapıp dünyanın en mutlu insanı olabilirim" dediği için, "küçüksün sen, 25 ine gel konuşalım." Diyerek aşağılamasını da tasvip etmiyor, bu konunun kişisel olması ve karşı tarafa cevap hakkı verdiği için ise bu yazıda yeri olmadığını düşünüyor, kendisini aynaya davet edip yazımı bitiriyorum...
Unutmadan size iyi bir geceler küpesi: "Hayalleri olmayan insanlar yaşayamazlar." (ya da onun gibi bir şeydi, hatırlayamadım şimdi.)
Türkiye'de .net kullanılıyor çünkü; bu ülkede bundan para kazanılıyor. IBM ve büyük firmalar açık kaynak "kullanıyorlar" çünkü bundan ekmek yiyorlar. Yoksa açık kaynak ile bir gönül bağları yok. Açık kaynağa gönül verenler bir tek GNU cular ve komik şeyler söylüyorlar. Evet haklı ama; ikinci cümlenin başına kadar. IBM ve benzeri firmalar açık kaynaklı yazılım kullanmaktan öte, bu yazılımların üretimine, korunmasına (OIN, open innovation network) ve desteklenmesine (kendi yazılımlarını değil, genel olarak açık kaynağın desteklenmesine) ciddi anlamda para yatırıyorlar. Hiç bir ücret alınmadan dağıtılan bu yazılımların bütün teknolojilerinin açık olması ise bu adamların bunun üzerinden para kazanmalarını engelliyor. Peki, bu adamlar nereden ve nasıl para kazanabiliyorlar?
Açık kaynak kodun en büyük özelliklerinden biri, program ile beraber desteğinin indirilemiyor oluşu. Yani sizin yeterince yetenekli ve bu işi seven bir ekibiniz yoksa; bu adamlardan destek ve eğitim almalısınız. Adamlar bu noktada yazılımdan para kazanıyorlar. Adamlar kodu satarak daha çok para kazanabilecekken neden peki daha az para kazanıyorlar? Cevabı basit. Çünkü adamlar kodu açarak maliyetten düşüyorlar. Açık kaynaklı yazılımların belli bir ekibi ve belli gönüllüleri var. Gönüllüler, böcek ayıklama ya da geliştirme yapıyorlar. Sonuç olarak programın kodu daha geniş bir kitleye yayılıyor ve daha kolay böcek temizleme (kod ve tasarım seviyesinde) ve alana göre özelleştirilme / yerelleştirme çalışmaları yapılıyor. Bu değişiklikleri uyarlayan insanlar bunu firmaya geri gönderdiği zaman bunlar da firmanın sistemine göre (eğer böyle şeyler kabul ediliyorsa) koda ekleniyor. Böylece çift yönlü döngü başlıyor. Profesyonel programcılar, diğer gönüllü "code hacker" lardan görüş, öneri ve destek de alabiliyorlar böylece. Sonuç olarak yazılım hızlı evriliyor, hızlı gelişiyor ve daha stabil bir noktaya geliyor.
Türkiye'de .net kullanılıyor çünkü; bu ülkede bundan para kazanılıyor. IBM ve büyük firmalar açık kaynak "kullanıyorlar" çünkü bundan ekmek yiyorlar. Yoksa açık kaynak ile bir gönül bağları yok. Açık kaynağa gönül verenler bir tek GNU cular ve komik şeyler söylüyorlar.
Bu kadar paralel şey söyledikten sonra benim bu adamla ne diye anlaşamadığımı da merak edeceksiniz, eminim. Sorun şu: bana göre açık kaynak dünyasını bu kadar dinamik, firmaları da bu işe bu kadar istekli tutan bir şey var. Bu işin amatörlüğü. Plana programa bağlı olsa bile bir kültürü var. Kişisel hırslardan çok ortak geliştirme ve anlaşabilme disiplinine dayalı, saydam ve eğlenceli. Programcı ekibiniz sürekli değişken. Mutlaka işi iyi bilen biri var ve en önemlisi severek yapılıyor (en azından gönüllüler tarafından). Bana göre ayrıca bir yazılım profesyonel bir sekreterlikten (özel bir dilde özel bir metni şekline uygun şekilde yazmak) çok gönüllü bir sanatçılık. Kendi imzanı kendi kodlama stilin ile birleştirip ortaya istenilen işi yapan ama senin zeka ve anlayşını yansıtan bir ürün çıkarmak. Bu ürünü çıkartırken karşılaştığın sorunlarla kendi çözüm anlayışını ve bilgini uygulayarak metodoloji olarak bu kodu bir kere daha imzalamak. Böylece hem kendini hem çalıştığın yeri memnun edip hayatına devam etmek.
Bugün konuştuğum insana göre ise programcılık daha basit. Yapılması istenen işi, eğitim ya da çözüm dökümanlarındaki en popüler yöntemle yazıp, karşılaşılan sorunları internetten ulaşılabilen çözümlerden basitçe devşirmek. Bu tamamen yeniden kullanılabilir kod konseptine otursa bile bu kadar saf şekilde bu yöntemin uygulanması sadece ve sadece günü kurtaran, n. revizyonda "sphagetti code" olup, programınızı hazmedilemez bir pelteye çeviren bir metodoloji. Benim özel sektör ve şu zamanlarda çok popüler olan yazılım mühendisliği (otomatikleştirilmiş programcı yetiştirme bölümü de diyebiliriz) ile anlaşamamaktaki temel nedenim bu.
Bir de GNU cuların komik olmak gibi bir özellikleri olduğunu öğrendiğimden bahsetmiştim. GNU cuların komik olmalarının sebebi ise idealist olup, bir şeyi gönülden desteklemek ve diğer firmalara bu ciddi alternatifi kabul ettirebilmeleri sanırım. Eğer bir insan 70lerdeki iyi niyeti özleyip bu hayalini gerçekleştirip IBM gibi bir firmaya eclipse gibi bir teknolojiyi açtırıp, kocaman bir işletim sistemi yazıp bunu dünyanın en büyük firmasının karşısına çıkarabilecek bir örgütlenme yaratabiliyor ise, buna "komiklik" diyen insanların aynaya bakıp "lan acaba..." demelerinde fayda olduğunu da düşünüyorum.
Ayrıca bir insanı "bu ülkede" "ar-ge" yapmak istediği için ve "her şey para değil, yaşayabileceğim kadar para kazanıp sevdiğim işi yapıp dünyanın en mutlu insanı olabilirim" dediği için, "küçüksün sen, 25 ine gel konuşalım." Diyerek aşağılamasını da tasvip etmiyor, bu konunun kişisel olması ve karşı tarafa cevap hakkı verdiği için ise bu yazıda yeri olmadığını düşünüyor, kendisini aynaya davet edip yazımı bitiriyorum...
Unutmadan size iyi bir geceler küpesi: "Hayalleri olmayan insanlar yaşayamazlar." (ya da onun gibi bir şeydi, hatırlayamadım şimdi.)
24 Mart 2006
Paint My Pixels - Just for $1
It all started with milliondolarhomepage. The idea of selling screen real estate to make money and some kind of art. The idea was unique and gave birth to other unique ideas. One of them is the "paint my pixels" page that sells 10x10 pixel areas for $1 but the idea is a bit different here. when canvas gets full, it's replaced and the resulting image is stored in the page archives and also available for print.
Like every website, this page needed some attention. I found the site in a local /. like IT site and headed to that direction. Only ten pixels were painted and there was also a giveaway for first ten comers. I asked for one free position and since it was available I got my small space in the internet history (after selecting a valid color since my first color choice was out-of-palette beacuse I didn't looked to color palette of the site). Thanks again.
Why this stuff was important for me? Actually, this is a matter of taste. I'm using computers since 1992 and using internet since 1998. This means that I've used BBSes, loved ASCII art, watched 64K assembly demos, seen some of the hacker things and the rise of postmodern computing. Sometimes I miss that years of simplicity. Text consoles, ASCII art, real and warm community etc. This site reminded me those things and I've dived in with an insane instinct. "I should get a small retro place in this site cos I remember the smell of this."
IMHO, these pixels for $1 is not expensive for the geeks or retro lovers like me. Since people like me are a minority in the world, these kind of sites attract the big advertising crowds to itself but it's not the subject of this post. I hope that the canvas will fill slowly and we'll be able to watch the formation of the color mosaique.
Good nite.
Why this stuff was important for me? Actually, this is a matter of taste. I'm using computers since 1992 and using internet since 1998. This means that I've used BBSes, loved ASCII art, watched 64K assembly demos, seen some of the hacker things and the rise of postmodern computing. Sometimes I miss that years of simplicity. Text consoles, ASCII art, real and warm community etc. This site reminded me those things and I've dived in with an insane instinct. "I should get a small retro place in this site cos I remember the smell of this."
IMHO, these pixels for $1 is not expensive for the geeks or retro lovers like me. Since people like me are a minority in the world, these kind of sites attract the big advertising crowds to itself but it's not the subject of this post. I hope that the canvas will fill slowly and we'll be able to watch the formation of the color mosaique.
Good nite.
Gerçek programlama editörleri ve programcılığa katkıları
Bir şekilde elime geçen gif dosyasını izledikten sonra düşündüm... Acaba programcıyı programcı yapan editör mü, yoksa editörü editör yapan programcı, kullanıcı mı diye... Linux üzerinde düzenli program yazan biri olarak iyi bir programlama editörü gerçekten ihtiyaç duyduğum bir aparat.
Açıkçası vi ve emacs'i çok severim. ufak conf dosyalarını C vb. dosyalarımı editler, eklemeler yaparım. görünüşleri de güzeldir bu editörlerin. Bana nerelerden geldiğimizi, terminalin gücünü görünüşün her şey olmadığını hatırlatır ama; bence bu toollar ile kişisel bile olsa çok dosyalı projeleri yönetmek zor bence. Ayrıca proje üzerinde bir genel bakış kurup, iki adım geri çekilip, "hmm evet dur şurasıydı işte" diyip dalmak biraz zor. Ben şahsen eclipse kullanıyorum. Windows'da çalışabilmek için flash diskimde win32 kopyasını taşıyorum. makinamda ise linux versiyonu kurulu ve çok da iyi anlaşıyoruz kendisiyle ama; bu editörü kullanmam beni ne "gerçek programcı" ya da "kolpa programcı" yapıyor...
Pekala, gerçek programcı "kimdir, nedir?". Bana göre gerçek programcı O.S. ve editör bağımsız bir insandır (yani windowscular gerçek programcı olamaz diye bir şey yok ama gerçek programcı bütün osları öttürecek diye de bir şey yok) . Bir kere amacına uygun ve gerçek (bu benim platfom bağımsız (cross platform ya da portable) diller için kullandığım bir tabir. bana göre her platformda yazılıp derlenemeyen bir dil "gerçek" bir dil değildir, siz ne kadar katılırsınız bilemem) bir dil kullanması gerekir. kullandığı dilin nasıl çalıştığını (semantics) bilmesi gerekir. Programı yazdığı O.S. i tanıması ve onun altında yatan donanımın avantaj ve dezavantajlarını bilmesi gerekir. Eğer bunlara göre program yazabiliyor, bunları düşünebiliyor ve kodunu buna göre tasarlayıp, ona göre yazabliyor, yazdığı kodun nasıl çalışacağını bilip optimizasyon yapabiliyorsa gerçek programcı bence odur. Yani eğer, yazdığı programla sisteme istediği gibi hükmedip sistemi en verimli şekilde dize getiriyorsa gerçek programcı odur...
Sistemi nasıl dize getirdiği de kendi yoğurt yemesi ile alakalı bir konudur, stilidir, tekniğidir. vi kullanır, gedit kullanır, emacs kullanır, eclipse kullanır, notepad ++ kullanır...
Bu yüzden bence "cool programcılar emacs kullanır, üşengeçler gedit" diyebilirsiniz ama eclipse kullanan bizden değildir diyemezsiniz.
Zaten eclipse olmadığı zaman hepmiz vi kullanmıyor muyuz? (şahsen ben zevkle kullanıyorum)
İyi geceler...
Not: bu post'a ilham kaynağı olan arkadaşa da özellikle teşekkür etmek istiyorum. Programcılığı editörlere endekslemeyi başarabildiği için.
Açıkçası vi ve emacs'i çok severim. ufak conf dosyalarını C vb. dosyalarımı editler, eklemeler yaparım. görünüşleri de güzeldir bu editörlerin. Bana nerelerden geldiğimizi, terminalin gücünü görünüşün her şey olmadığını hatırlatır ama; bence bu toollar ile kişisel bile olsa çok dosyalı projeleri yönetmek zor bence. Ayrıca proje üzerinde bir genel bakış kurup, iki adım geri çekilip, "hmm evet dur şurasıydı işte" diyip dalmak biraz zor. Ben şahsen eclipse kullanıyorum. Windows'da çalışabilmek için flash diskimde win32 kopyasını taşıyorum. makinamda ise linux versiyonu kurulu ve çok da iyi anlaşıyoruz kendisiyle ama; bu editörü kullanmam beni ne "gerçek programcı" ya da "kolpa programcı" yapıyor...
Acaba programcıyı programcı yapan editör müdür, yoksa editörü editör yapan programcı mıdır?
Pekala, gerçek programcı "kimdir, nedir?". Bana göre gerçek programcı O.S. ve editör bağımsız bir insandır (yani windowscular gerçek programcı olamaz diye bir şey yok ama gerçek programcı bütün osları öttürecek diye de bir şey yok) . Bir kere amacına uygun ve gerçek (bu benim platfom bağımsız (cross platform ya da portable) diller için kullandığım bir tabir. bana göre her platformda yazılıp derlenemeyen bir dil "gerçek" bir dil değildir, siz ne kadar katılırsınız bilemem) bir dil kullanması gerekir. kullandığı dilin nasıl çalıştığını (semantics) bilmesi gerekir. Programı yazdığı O.S. i tanıması ve onun altında yatan donanımın avantaj ve dezavantajlarını bilmesi gerekir. Eğer bunlara göre program yazabiliyor, bunları düşünebiliyor ve kodunu buna göre tasarlayıp, ona göre yazabliyor, yazdığı kodun nasıl çalışacağını bilip optimizasyon yapabiliyorsa gerçek programcı bence odur. Yani eğer, yazdığı programla sisteme istediği gibi hükmedip sistemi en verimli şekilde dize getiriyorsa gerçek programcı odur...
Sistemi nasıl dize getirdiği de kendi yoğurt yemesi ile alakalı bir konudur, stilidir, tekniğidir. vi kullanır, gedit kullanır, emacs kullanır, eclipse kullanır, notepad ++ kullanır...
Bu yüzden bence "cool programcılar emacs kullanır, üşengeçler gedit" diyebilirsiniz ama eclipse kullanan bizden değildir diyemezsiniz.
Zaten eclipse olmadığı zaman hepmiz vi kullanmıyor muyuz? (şahsen ben zevkle kullanıyorum)
İyi geceler...
Not: bu post'a ilham kaynağı olan arkadaşa da özellikle teşekkür etmek istiyorum. Programcılığı editörlere endekslemeyi başarabildiği için.
04 Mart 2006
İşletim sistemlerinde özenmek üzerine...
Bir çoğumuz işmiz ya da eğlence gereği her gün saatlerce bilgisayar başında kalıyoruz. Oyunlarla işimiz yoksa en çok muhattap olduğumuz şey masaüstümüz ve yazılımların pencereleri. Eğer duvar kağıdımıza bakamayacak kadar meşgul değilsek ya da sanata çok az ilgimiz varsa mutlaka belirli sürelerde duvar kağıdımızı, ikonlarımızı ve sistem renklerini (windows'da ne kadar zor olsa da) değiştiririz. Bu işi yaparken de genelde şikayet ederiz. Windows ne kadar tekdüze, efektler az, renk sayısı sınırlı, diğer programlar gereksiz sistemi yavaşlatıyor, mac ne kadar güzel diye... ve evet, insanlar genelde mac arabirimini taklit eden pencere temaları kullanırlar.
Bu işi düzenli olarak yapan bir başka güruhta Linux kullanıcısı olan insanlardır ama; onların hayatları nedense daha kolay gibi görünmektedir çünkü; bu işi çok fazla yapacakları düşünülerek daha pratik bir yapı hazırlanmıştır o insanlara. Linux kullanıcılarının bir kısmı mac'e, bir kısmı da windows'a çok ciddi şekilde özenirler ve arabirimi ona göre değiştirirler. Bu özenmenin nedeni alışkanlık ya da güzel görünüm olabilir ama ben şimdiye kadar "Linux diye bir şey var hacı arabirimi şöyle güzel, Windows'u buna benzetelim..." diyeni duymamış, görmemiştim.
Bugün arkadaşımın (deliriumstragedy) "=)" diyerek gönderdiği linkte bunu yapan bir programın varlığından bahsedilmiş. Ekran görüntüleri verilmiş, bilgisayara yüklemek için programın kendisi verilmiş... Bu bence öyle çok basit bir şey değil. Bu kadar zamandır Windows ve .NET severler tarafından "Üçüncü parti ya da fason (daha da amiyane terimle kolpa)" olarak adlandırılan bir işletim sisteminin masaüstüne özenmek, onun bir çok özelliğine özenmenin başlangıcı bence. Zaten Windows Vista da *nix vari bir çok özelliğin olduğunu düşünürsek, bu özenmenin sadece masaüstü seviyesinde olmadığı belli ama; sadece masaüstünde özenenler için link aşağıda.. Demekki hiç bir zaman bir işletim sistemini ücretsiz, bağırsakları (yani kodları) ortada, özgür diye eleştirmemek lazımmış. Bazıları farketmeden beğenebiliyormuş.
iyi orta gol getirir... «bu post'a ilham olan blog»
Bu işi düzenli olarak yapan bir başka güruhta Linux kullanıcısı olan insanlardır ama; onların hayatları nedense daha kolay gibi görünmektedir çünkü; bu işi çok fazla yapacakları düşünülerek daha pratik bir yapı hazırlanmıştır o insanlara. Linux kullanıcılarının bir kısmı mac'e, bir kısmı da windows'a çok ciddi şekilde özenirler ve arabirimi ona göre değiştirirler. Bu özenmenin nedeni alışkanlık ya da güzel görünüm olabilir ama ben şimdiye kadar "Linux diye bir şey var hacı arabirimi şöyle güzel, Windows'u buna benzetelim..." diyeni duymamış, görmemiştim.
Bugün arkadaşımın (deliriumstragedy) "=)" diyerek gönderdiği linkte bunu yapan bir programın varlığından bahsedilmiş. Ekran görüntüleri verilmiş, bilgisayara yüklemek için programın kendisi verilmiş... Bu bence öyle çok basit bir şey değil. Bu kadar zamandır Windows ve .NET severler tarafından "Üçüncü parti ya da fason (daha da amiyane terimle kolpa)" olarak adlandırılan bir işletim sisteminin masaüstüne özenmek, onun bir çok özelliğine özenmenin başlangıcı bence. Zaten Windows Vista da *nix vari bir çok özelliğin olduğunu düşünürsek, bu özenmenin sadece masaüstü seviyesinde olmadığı belli ama; sadece masaüstünde özenenler için link aşağıda.. Demekki hiç bir zaman bir işletim sistemini ücretsiz, bağırsakları (yani kodları) ortada, özgür diye eleştirmemek lazımmış. Bazıları farketmeden beğenebiliyormuş.
iyi orta gol getirir... «bu post'a ilham olan blog»
Kaydol:
Kayıtlar (Atom)