[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Help with complicated problems

Luke A. Kanies

8/1/2006 9:42:00 PM

Hi all,

I've been working about entirely in Ruby for the last 18 months on my
open source automation project, Puppet[1]; I live, eat, and breathe this
project and thus ruby. However, I find that I basically never read or
post to ruby-talk. I think the main reason for this is that I seldom
have problems that I can easily describe -- in other words, they're
usually problems with modeling, abstraction, patterns, or data vs. code.

I haven't seen much discussion on the list that delves into this space,
at least partially because it's somewhat off-topic, since it's general
development not just ruby, and I've somewhat given up asking for help on
many of these problems, not because people are unwilling to help but
because it's just too difficult to get help without either me being
really good at describing the problem or the person offering the help
spending a good bit of time understanding the code. Puppet is now 35k
lines of code, including test code, so it takes a good bit of effort to
understand what's going on (and yes, I'm sure it should be shorter --
care to analyze the code and help me refactor it?).

These discussions of RubyConf and its small size tending towards a kind
of elitism got me thinking about this, because I'm in a kind of weird
middle ground -- I don't really ever have Ruby language questions, I'm
not writing Rails apps, and I'm not writing a product that a huge
portion of people would use any time soon (it's more focused on
sysadmins at the moment), but I'm doing some interesting and complicated
things and I'd like help and feedback like anyone else.

How do people get help with their complicated problems, things they
won't find in a reference book? I'm constantly trying to refactor my
code and my ideas, but I usually need some kind of outside influence to
do that.

Could we create some kind of "complicated problem whiteboard" or
something? Would people be interested in that?

I'd like to find a way to get more involved in the Ruby community and to
get better at Ruby programming, but the problems I'm interested in don't
seem to fit well into mailing lists. Or am I wrong about that, am I
just missing the high-level discussions and only seeing syntax questions?

1 - http://reducti.../proje...

--
Smoking is one of the leading causes of statistics. -- Fletcher Knebel
---------------------------------------------------------------------
Luke Kanies | http://reducti... | http://m...


7 Answers

James Britt

8/1/2006 10:03:00 PM

0

Luke Kanies wrote:
> Hi all,
>
> I've been working about entirely in Ruby for the last 18 months on my
> open source automation project, Puppet[1]; I live, eat, and breathe this
> project and thus ruby. However, I find that I basically never read or
> post to ruby-talk. I think the main reason for this is that I seldom
> have problems that I can easily describe -- in other words, they're
> usually problems with modeling, abstraction, patterns, or data vs. code.

Welcome to the club. I think that half the battle is getting a problem
into terms that can be expressed in code or pseudo code.


> ...
> How do people get help with their complicated problems, things they
> won't find in a reference book? I'm constantly trying to refactor my
> code and my ideas, but I usually need some kind of outside influence to
> do that.

The people on tis list, for the most part, are quite open and friendly.
So there is a decent tolerance for ill-phrased, off-the-wall questions.

(I think the main gripe many have here is when people ask for help
without demonstrating that they've done their own legwork. I.e., "Dear
ruby-talk: Please do my homework. And can you hurry?")

>
> Could we create some kind of "complicated problem whiteboard" or
> something? Would people be interested in that?
>
> I'd like to find a way to get more involved in the Ruby community and to
> get better at Ruby programming, but the problems I'm interested in don't
> seem to fit well into mailing lists. Or am I wrong about that, am I
> just missing the high-level discussions and only seeing syntax questions?
>

Take a stab at it and see how people respond.

I like hearing how people reason about their code and projects, and I
believe their are thought idioms peculiar to working with Ruby.

You might also consider the pragprog mailing list:

http://www.pragmaticprogrammer.com/...



> 1 - http://reductivelabs.com/proje...
>
Is there a Puppet Master?

http://us.imdb.com/title/...

:)



--
James Britt

"Inside every large system there's a small system trying to get out".
- Chet Hendrickson

James Gray

8/1/2006 10:23:00 PM

0

On Aug 1, 2006, at 4:41 PM, Luke Kanies wrote:

> Hi all,
>
> I've been working about entirely in Ruby for the last 18 months on
> my open source automation project, Puppet[1]; I live, eat, and
> breathe this project and thus ruby.

Welcome to Ruby. The project sounds wicked interesting. I'll be
sure and drop my Sys Admin buddy a link.

> I think the main reason for this is that I seldom have problems
> that I can easily describe -- in other words, they're usually
> problems with modeling, abstraction, patterns, or data vs. code.

I can't speak for everyone, but I didn't see anything listed in there
I'm not interested in discussing or at least seeing discussed. I'm
much more interested in all of those than debating the definition of
the term "closure." ;)

> I haven't seen much discussion on the list that delves into this
> space, at least partially because it's somewhat off-topic, since
> it's general development not just ruby

Well, Rubyists tend to treasure beautiful code, so we would be happy
to tell you all about how we think you should design your
software. :D (Though I am kidding around here, the point stands:
doesn't seem horribly off-topic to me.)

> Puppet is now 35k lines of code, including test code, so it takes a
> good bit of effort to understand what's going on (and yes, I'm sure
> it should be shorter -- care to analyze the code and help me
> refactor it?).

Wow. That's sure a lot of code. I think that's longer than the Ruby
Cookbook I received today and believe me it's one big book! I'm
going to have to go browse that code base a little...

> I'd like to find a way to get more involved in the Ruby community
> and to get better at Ruby programming, but the problems I'm
> interested in don't seem to fit well into mailing lists. Or am I
> wrong about that, am I just missing the high-level discussions and
> only seeing syntax questions?

I say you give us a couple of trial runs and see if we start
complaining. ;)

James Edward Gray II


Luke A. Kanies

8/1/2006 10:31:00 PM

0

James Britt wrote:
>
> Welcome to the club. I think that half the battle is getting a problem
> into terms that can be expressed in code or pseudo code.

Yep. I've been struggling with some low-level modeling problems in
Puppet for months and months, and attempts I've made at describing the
problem (e.g.,
https://reductivelabs.com/cgi-bin/puppet.cgi/wiki/ModelsAndImple...)
have not done the problem justice.

I've also found that I need some level of personal context to work on
these kinds of problems; I can never jump directly into the problem but
instead need to get an idea of whom I'm dealing with, which is much more
difficult over email.

> The people on tis list, for the most part, are quite open and friendly.
> So there is a decent tolerance for ill-phrased, off-the-wall questions.

I totally agree with that -- I've never seen a shortage of help. I just
hate throwing out vague questions, and my personal bar for required
research is so high that I can't seem to ever finish the emails -- I
almost didn't send the email that started this thread, in fact.

> (I think the main gripe many have here is when people ask for help
> without demonstrating that they've done their own legwork. I.e., "Dear
> ruby-talk: Please do my homework. And can you hurry?")

I'm a sysadmin by trade; I know all about that. :)

> Take a stab at it and see how people respond.
>
> I like hearing how people reason about their code and projects, and I
> believe their are thought idioms peculiar to working with Ruby.

I'll begin trying to do a better job of bringing these problems up on
the list. OSCON really made me realize how much I've let myself become
isolated in the last couple of years, since I basically dropped out of
the sysadmin community to work on Puppet.

> You might also consider the pragprog mailing list:
>
> http://www.pragmaticprogrammer.com/...

I didn't know that existed, I'll check it out.

>> 1 - http://reducti.../proje...
>>
> Is there a Puppet Master?
>
> http://us.imdb.com/title/...

Never underestimate the allure of puns. So far I've just got
puppetmasterd (otherwise known as DJ Gipetto) and Puppetshow (the
beginnins of a web app to interact with Puppet), but I'm sure there are
more to come.

--
My favorite was a professor at a University I Used To Be Associated
With who claimed that our requirement of a non-alphabetic character in
our passwords was an abridgement of his freedom of speech.
-- Jacob Haller
---------------------------------------------------------------------
Luke Kanies | http://reducti... | http://m...


Mat Schaffer

8/2/2006 4:00:00 AM

0


On Aug 1, 2006, at 6:30 PM, Luke Kanies wrote:

> James Britt wrote:
>> Welcome to the club. I think that half the battle is getting a
>> problem into terms that can be expressed in code or pseudo code.
>
> Yep. I've been struggling with some low-level modeling problems in
> Puppet for months and months, and attempts I've made at describing
> the problem (e.g., https://reductivelabs.com/cgi-bin/p...
> wiki/ModelsAndImplementations) have not done the problem justice.
>
> I've also found that I need some level of personal context to work
> on these kinds of problems; I can never jump directly into the
> problem but instead need to get an idea of whom I'm dealing with,
> which is much more difficult over email.
>
>> The people on tis list, for the most part, are quite open and
>> friendly. So there is a decent tolerance for ill-phrased, off-the-
>> wall questions.
>
> I totally agree with that -- I've never seen a shortage of help. I
> just hate throwing out vague questions, and my personal bar for
> required research is so high that I can't seem to ever finish the
> emails -- I almost didn't send the email that started this thread,
> in fact.

I'm no expert, but from this web site you seem to really have your
act together. And the project looks really interesting. So don't
worry. The only questions I've ever seen refused on this list are
Rails questions, and sometimes people even answer those.

I haven't looked too much, but the initial guide is a little granular
I think, so it'll take some time for most of us to absorb just what
you're doing. But it seems like you're talking about pulling server
configuration from a centralized store. Which sounds awesome to me.
Can't wait to see how you interface with the permissions system.
-Mat

Luke A. Kanies

8/2/2006 5:26:00 AM

0

Mat Schaffer wrote:
> I'm no expert, but from this web site you seem to really have your act
> together. And the project looks really interesting. So don't worry.
> The only questions I've ever seen refused on this list are Rails
> questions, and sometimes people even answer those.

I didn't expect that questions would be refused, just that there would
be a potential for too much discussion and not enough content, or just
that I wouldn't be able to phrase the problem in a way that didn't
require significant time investment in looking at my code.

> I haven't looked too much, but the initial guide is a little granular I
> think, so it'll take some time for most of us to absorb just what you're
> doing. But it seems like you're talking about pulling server
> configuration from a centralized store. Which sounds awesome to me.

That is exactly what I'm doing.

During Kathy Sierra's presentation at OSCON, I realized I have to
significantly rework my documentation so that it's more goal oriented --
currently, it requires that you know what you want to do and will only
really help you do that. It'd be much more useful if it helped you
figure out what cool things you could do, and I'm hoping to add that
information soon.

> Can't wait to see how you interface with the permissions system.

Eh? Permissions system? Which one?

--
You don't learn anything the second time you're kicked by a mule.
-- Anonymous Texan
---------------------------------------------------------------------
Luke Kanies | http://reducti... | http://m...


Patrick Hurley

8/2/2006 9:08:00 PM

0

On 8/2/06, Luke Kanies <luke@madstop.com> wrote:
> I didn't expect that questions would be refused, just that there would
> be a potential for too much discussion and not enough content, or just
> that I wouldn't be able to phrase the problem in a way that didn't
> require significant time investment in looking at my code.

Another thought on this thread would be to seek out or create a local
Ruby brigade. I really want to get to RubyConf, but if I miss out (I
have a volleyball game tonight and a friends birthday party
afterwards) -- I will take solace in meeting with the fine folks at
rubymi.org :-)

pth

Matt Todd

8/2/2006 9:59:00 PM

0

I must say that these kids of problems really are some of the best to
discuss, because it allows others to learn from everyone's thinking on
various topics and ideas. It teaches the more abstract stuff, the
stuff that schools completely miss. It's definitely more valuable than
discussions on closures, despite how valuable those really are.

Plus, it makes me happy to escape into the higher levels!

M.T.

P.S. -- Thanks for the link to the PragProg community! I totally
missed that! (Whoever that was.)