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.

Reply via email to