Help with complicated problems

L

Luke Kanies

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://reductivelabs.com/projects/puppet
 
J

James Britt

Luke said:
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/community/


Is there a Puppet Master?

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

:)
 
J

James Edward Gray II

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
 
L

Luke Kanies

James said:
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/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 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/community/

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

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.
 
M

Mat Schaffer

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/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.


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
 
L

Luke Kanies

Mat said:
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?
 
P

Patrick Hurley

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
 
M

Matt Todd

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.)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,764
Messages
2,569,567
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top