On Sun, Jan 3, 2010 at 7:33 PM, Emmanuel Oga <emmanuel...@gmail.com> wrote: > On Sun, Jan 3, 2010 at 5:32 PM, Suraj Kurapati <sun...@gmail.com> wrote: >> I'm pleased to announce the next evolution of my YAML-based Ruby wmiirc: >> >> http://github.com/sunaku/wmiirc > > Thanks a lot for your hard work. I just recently started using your > ruby based wmiirc and I'm enjoying a lot being able to configure my > wmii with ruby so easily.
Thanks for the kind words. I'm glad this project was useful to you. > At the same time, I must point out that I find very annoying the usage > of YAML for the configuration files. I suppose you choose to use it > because it seemed to make sense for a configuration file. Yes, since the problem domain here is to describe a configuration, YAML felt like a better tool for the job because it let us describe the configuration declaratively, with minimal added syntax to distract us from the task at hand. > But this configuration is so overcharged with ruby scripts that IMHO > is not very practical to use YAML. wmii audiance is clearly > programmers, and I think so called power users need to know at least a > little about programming to be able to use the wmiirc. Good point. Mauricio Fernandez's ruby-wmii took the full-Ruby approach in the past, providing an internal DSL to configure wmii. And wmiircs written in other languages (Python, Lua, etc.) have basically followed the same approach. I guess I just wanted to try something different. However, I did not intend to "dumb down" the configuration by using YAML (and I do not think of it that way) because I consider myself as the primary target audience. i.e. I eat my own dog food, and like it. :-) > Using YAML, the scripts end up looking like python (i.e., how you use > white space matters), which is very annoying. I'm sorry to hear this. I was happy with the declarative YAML exterior and imperative Ruby cream filling because they felt like a good balance of both worlds (i.e. using the right tool for the job): declarative to get straight to point and imperative to do the heavy lifting. > I had a goal to convert your YAML scripts to plain old ruby code, ... > good thing I procrastinated it this time, now I'll be able to use your > new code as a starting point! :-) Sure, this sounds interesting. I would imagine that only the interface through which we humans describe our configuration to the machine would change: from an external DSL to an internal one. Hopefully we can share the internals beneath these two interfaces. Cheers.