stumpwm: Lisp ile minimalist pencere yöneticisi

0
FZ
stumpwm GNU/Linux ve UNIX türevleri için minimalist bir pencere yöneticisi ve başlangıç noktası şöyle tanıtılıyor: "StumpWM, programcılarının C ile yazılmış ratpoison'dan kaynaklanan hayalkırıklıkları sonucunda ortaya çıktı. ratpoison kullanmaya başladıktan kısa bir süre sonra fark ettik ki sisteme lispimsi emacs tarzı özellikler katıp duruyorduk. C-t : ile devreye giren bir REPL, kancalar ve gittikçe büyüyen bir Common Lisp alt kümesi.

Açık olan şuydu ki ihtiyaç duyduğumuz şey zırt pırt yeniden durdurup başlatmamıza bizi zorlamayan, kolayca hack edilebilir ve özelleştirme imkanı sunan, sıfırdan Lisp ile yazılmış bir pencere yöneticisi idi."

stumpwm ile ilgili eğlenceli bir videoyu burada izleyebilirsiniz.
stumpwm ile ilgili detaylı bilgiler ve ipuçların verildiği wikiye ise http://stumpwm.antidesktop.net/cgi-bin/wiki adresinden erişmek mümkün.

stumpwm pencere yöneticisinin programcılar açısından en güzel özelliklerinden biri sistem çalışırken sistemin koduna müdahale edip sistemi oluşturan Lisp fonksiyonlarını değiştirip 'evaluate' ederek çalışmakta olan sistemi de değiştirebilmek ve böylece sonuçları anında canlı sistem üzerinde görebilmek.

Haskell öğrenmek için xmonad güzel bir motivasyon teşkil etmesi gibi Common Lisp ile ilgilenenler için de güzel bir gelişim rotası olabilir.

Görüşler

0
anonim
Gayet hoş bir çalışma olmuş.

Bunu görünce nezamandan beridir aklımda olan bir proje yeniden canlandı.

konsol uzerinden calisan bir pencere yöneticisi gibi birşey. Burdaki amaç ise sisteme hakim olmayan kullanicilara, ya da hizli bir şekilde sisteme müdahale etmek isteyen adminler için bir nevi tool olmasi.

C üzerinde gelişmek için iyi bir proje olacağını düşünüyordum. Ama bu aralar aklıma geldikçe "Acaba Lisp'e göz kırpsak mı napsak?" diye düşünüyorum :)

Tabii şu anki işimde bolca windows kullanmam nedeni ile biraz daha askıda olabilir.

Yine de Lisp beni dürtüyor :)
(Bunu neden mi yazıyorum? Belki birileri beni biraz daha dürter de bende kımıldanırım :) )
0
FZ
Bence hiç bir dış-dürtü beklemeyin, içinizden gelen dürtüyü takip edin! :)

Konsoldan çalışan derken "screen" gibi bir şeyi mi kast ediyorsunuz?

Bu arada tabii ki MS Windows ortamında da Common Lisp ile pek çok şey yapabilirsiniz her ne kadar özgür yazılım desteği bakımından GNU/Linux'ta geliştirme yapmak bazı bakımlardan daha elverişli olsa da.
0
anonim
Evet screen gibi de diyebiliriz.

Ama daha cok eski DOS/xenix altinda çalışan muhasebe programlari gibi de diyebiliriz.

Fi tarihinde linux sunucu ile cebelleşirken aklıma gelen birşey.

consoldan eski muhasebe programlari gibi text based pencereler bulundurmasi.

Misal sunucu başında gorevlendirilen adama (admin demiyorum özellikle, zira siz sunucuyu kurup gitmişssiniz, gerisi ile o firmanın bir adamı ilgilenir.) derdinizi anlata kadar "Kardeşim gir şu menüye, kullanıcıları seç, ara yazan yere adini yaz, çıktı mı karşına? Bak orda o kullanici ile alakali bilgiler gelecek karsina (user, pas, tam isim, mail, log, falan filan, fisman. Sonra gir mail yazan yere, orda filtre kismina sunu yaz. gibisinden...)."

Ayrıca bu sayede ileride ruh sağlığımı rahatlatırım diyorum :)
Boşuna dememişler "Nekadar bilirsen bil, anlatacakların karşı tarafın anlayacağı kadardır."

Hazir aklima gelmişken, Microsoft'ta yeni sunucu ailesinden bir ürününde grafik arabirim kullanmayip sadece konsol kullanımı sunacak diye hatırlıyorum. Bu türde 3. parti toollar yazan firmalar için iyi bir piyasa oluşabilir, ben de mi ucundan el atsam napsam :D
0
FZ
Metin / konsol tabanlı webmin gibi bir şey kast ediyorsunuz sanırım ;-)

Microsoft'ta yeni sunucu ailesinden bir ürününde grafik arabirim kullanmayip sadece konsol kullanımı sunacak diye hatırlıyorum.

Hatırladığım kadarı ile Windows Server 2008 "base" kurulumda sadece konsol gibi bir şey sunuyordu ama o adımdan sonra her zamanki GUI bileşenlerini kurmak da basit bir işlem. Yani opsiyonel bir durum söz konusu, zorlayıcı değil.
0
anonim

Metin / konsol tabanlı webmin gibi bir şey kast ediyorsunuz sanırım ;-)


Evet, kesinlikle ondan bahsediyorum. :)

Tabii bu işlemleri konsoldan yapip işkence cekmek istememin asıl nedeni orada kullanacağım dile olan hakimiyetimi arttırmak. (Tabii kimileri o dili kavrama adına o dil için bir derleyici yaziyor, orası ayrı konu:) )
Ayrıca sistemi daha yakından tanıma şansını elde etmek.

Her ne kadar bu işi hağla daha C ile yaparım diyorsam da, Lisp cazip olmaya başladı, ne bileyim, tuhaf duygular yaratıyor üzerimde ;)
0
FZ
Her ne kadar bu işi hağla daha C ile yaparım diyorsam da, Lisp cazip olmaya başladı, ne bileyim, tuhaf duygular yaratıyor üzerimde ;)

#lisp'e, comp.lang.lisp'e ve cs-lisp e-posta listesine de bekleriz o halde.
0
bio
Metin / konsol tabanlı webmin gibi bir şey kast ediyorsunuz sanırım ;-)

IBM AIX icin SMITTY (System Management Information Tool) vardi buna benzer. Ister X-Windows'ta, ister ASCII terminalde calisabiliyordu. Hala da vardir herhalde:

http://en.wikipedia.org/wiki/IBM_AIX_SMIT

Görüş belirtmek için giriş yapın...

İlgili Yazılar

Jolt Awards - Productivity Winner: Practical Common Lisp

FZ

Daha önce yine bu sayfalarda meşhur JOLT ödülleri ile ilgili duyurularımız olmuştu. Biraz geç de olsa fark ettiğimiz bir bilgi: Teknik Kitaplar kategorisinde Üretkenlik Ödüllerinden birini kazanan üç kitaptan biri: Practical Common Lisp.

Cusp: Eclipse için Common Lisp Eklentisi

zekzekus

Lisp ile uğraşan ama Emacs editörüne alışamamış benim gibi kullanıcıların yardımına Eclipse IDE ortamı için hazırlanmış Cusp eklentisi yetişiyor.

reddit.com Lisp'ten Python'a geçti

innaw

Lisp kullanılarak yazılan reddit.com, python ile yeniden kodlandı. Reddit blogundaki kısa açıklamada artık python ile yeni özelliklerin daha kolay ekleneceği belirtilirken, Lispçiler için de bu altyapı değişikliğini açıklayan ayrıntılı bir yazının yakında yayınlanacağı belirtilmiş. Hayırlısı.. :)

Diyelim Ki Elimizde Nesneye Yönelimli Bir Dil Yok - Alice Nesneler Diyarında

FZ

Elinizdeki programlama dilinde nesneye yönelimli (OO - Object Oriented) programlama imkanı olmasa idi ne yapardınız? İki seçenekten biri gelirdi aklınıza herhalde:
  1. OO desteği veren bir dil kullanmaya başlamak.
  2. Elinizdeki dile OO desteği katmak için uğraşmak.
Bu kısa yazıda Peter Norvig'in PAIP (Paradigms of Artificial Intelligence Programming Case Studies in Common Lisp) kitabının 13. bölümündeki birkaç kısa örnekten yola çıkarak "eğer Common Lisp dilinde CLOS (Common Lisp Object System) gibi bir şey olmasaydı bunu nasıl gerçekleştirebilirdik?" sorusunun cevabının ilk bölümüne göz atacağız.

Bağlı Listeler, C, Lisp, Scheme...

FZ

Bağlı listeler programcıların kullanabilecekleri soyutlama araçları arasında önemli yer işgal ederler. Bu veri yapılarını kullanarak veri işleme süreçlerini kolayca yönetmek mümkündür.

Jonathan Bartlett, IBM developerWorks sitesindeki Techniques for using linked lists in C and -- smarter still -- Scheme makalesinde bağlı listelere dair önce C programlama örnekleri vermekte ve daha sonra liste yapısını dilin doğal parçası olarak ele alan Lisp benzeri Scheme dilinde benzer işlerin nasıl daha kolayca ve soyut seviyede yapılabileceğini göstermektedir.