
Use Monit with Rails, not God - bradgessler
http://blog.bradgessler.com/use-monit-with-rails-not-god#
======
plinkplonk
"Ruby leaks. God is written in ruby. If you run God long enough, it will run
out of memory and stop working properly. In all fairness, this is not Tom
Presten-Warners fault. He spent a lot of time trying to minimize the leakage
in God but its simply not possible in Ruby. Monit was written properly in C
meaning it won't leak like a long-running Ruby application."

This is absolutely hilarious! A process monitor leaks memory and crashes the
server. Words fail me!

EDIT: Rub my eyes and read again. _Ruby_ leaks memory? The language
(interpreter ? VM? ) leaks memory? That can't be right? He must have meant the
_application_ (God) leaks memory (perhaps by holding onto objects and not
letting the GC collect them)

~~~
pwk
_The language (interpreter ? VM? ) leaks memory?_

AFAIK the interpreter has no intrinsic leaks, but many ruby applications keep
objects referenced beyond their intended life, preventing GC.

Edit: You extended your edit after I started responding :->

 _perhaps by holding onto objects and not letting the GC collect them_

Yup, that's my understanding.

~~~
mojombo
MRI has had a variety of memory leaks. I did an extensive search for the
memory leaks on god, which you can read about here:
[http://groups.google.com/group/god-
rb/browse_thread/thread/0...](http://groups.google.com/group/god-
rb/browse_thread/thread/01cca2b7c4a581c2). I've verified that it's not an
object referencing issue (which you can also read about in that link).
Something in the threading code of MRI appears to be at fault, but I haven't
had time to track that down yet.

~~~
plinkplonk
Tom , I just saw your comment on the post. I stand corrected. It seems the
Ruby interpreter does leak memory!

------
mojombo
Just for the record, the correct spelling of my name is "Tom Preston-Werner."
If you're going to attack me, please take a moment to spell my name right.
Thanks!

~~~
grandalf
Tom, thanks for all your contributions to the open source community. I hope
that one guy writing an immature article doesn't make you feel too negative.

I'm surprised that an article written with that tone made it to the top of HN.

~~~
tdavis
Which part, exactly, is immature? Did I miss the part where he called Tom a
"stupid fat head" or something? From what I read, the product does not work as
advertised and in fact eventually causes itself to crash, yet the page begins
with "monit except awesome". Hell, I _loathe_ Ruby and I was even convinced it
was a better alternative to monit!

I think anybody who releases open source software is to be commended; without
it, most of us wouldn't have businesses. I have great respect for all
contributors. That being said, just because you put something out there
doesn't give you immunity against negative reviews. And it doesn't justify
others, such as yourself, in berating those who give such reviews.

Most free software is forthcoming about its warts and issues. We're generally
told when something should not be used for production. Instead, the pitch for
god is that, well, it's God. I believe his tone was dead on for someone who
felt betrayed by a piece of software that promised the world yet could not
even maintain its own running state. After all that fighting, I'd be pissed
too.

~~~
grandalf
Well mostly the part where he rants about how much time he wasted, etc.

That's not a negative review, it's a slap in the face.

Also, it is somewhat disgusting to me that a wanna-be blogger would decide (to
publicize his blog?) to rip on a guy who has been a great open source
contributor AND has managed to bootstrap several successful startups (notably
gravatar and github).

Tom is clearly busy and productive and is (in my opinion) a great role model
for how to combine excellence in open source and entrepreneurship, and is the
LAST person that anyone should be going out of their way to rip on.

~~~
tdavis
Now you're attacking Brad for attacking Tom when he never personally attacked
him. Brad isn't a "wanna-be blogger", at least as far as I know the man. He
sent me a link to the post and said "I hope he changes some of the wording" --
he just wanted the god docs to accurately reflect the production status.
That's all. Oh, and make millions of dollars off of all blog subscribers I'm
sure he got as a result. That was sarcasm, by the way.

Brad never ripped on anything else Tom has done. He never even suggested that
the state of the god docs reflected poorly on him as a developer or a person.
He was merely supplying information and venting frustration over the previous
_six months_ he spent attempting to get Tom's product to work properly. Hell,
he wasn't even mad that it was (for him) an incomplete, non-functioning
product, he was just upset that _it wasn't presented as such!_

I didn't know who Tom Preston-Werner was before this post, but apparently he
has indeed bootstrapped several successful startups and is a great open source
contributor. Good for him, and I thank him for his contributions. One of the
reasons I want to become financially secure is so that I can devote most of my
time to OSS, so everyone who contributes largely to said software gets my
utmost respect and admiration. I don't see how any of that has any bearing on
the status of god's documentation, however.

~~~
grandalf
The following is not a personal attack?

"call a turd a turd"

The guy sounds like an 8 year old. It's just incredibly unbecoming. Anyway, if
you like his blog, good for you.

~~~
tdavis
The "turd" here was god, not the author thereof. You seem to be confusing the
two. Or anthropomorphizing god. Or something.

I like Brad as a person, but I don't think I've read his blog before. And he
usually acts on par with an 11 year old, so take that into account.

~~~
grandalf
It's tough to separate the creator from the product of the creative act. Why
would Tom have created God if not because he was inspired to write something
cool and useful.

To then sit around calling it names is an insult not just to Tom but to anyone
who is engaged in productive, creative work. Also, this kind of thing will
only discourage others from releasing their code to the community...

------
Shaitan_Apistos
Haven't all the cool kids moved on to Phusion Passenger? Is there still a
compelling reason to play around with mongrel/thin etc clusters?

~~~
charlesju
EY doesn't support Passenger for their big clients yet. So all the big Rails
sites through EY use nginx + mongrels.

However, EY does use monit.

~~~
FooBarWidget
EY is now offering Phusion Passenger for Nginx to their clients.

~~~
charlesju
So it seems they have, interesting.

------
defunkt
_God doesn't actually work._

We used god on FamSpam, currently use it on GitHub, and I've heard at least
two massive Facebook apps (Friends for Sale and Rock Legends) use it to manage
a large number of processes across a large number of servers.

For intelligently killing runaway processes (different attempts with different
kill methods), monit is rather lacking. At CNET we ran into this again and
again so I was very excited when Tom started god.

On one of our GitHub app slices, god has been running for 8 days and is using
8 megs of RAM. I can't speak for anyone else's setup, but I haven't seen the
famed memory leak.

I would recommend god to anyone running a high trafficked Ruby-based site.

------
benburkert
I think God is useful for "prototyping" an app environment. It's got a nice
DSL and b/c it's ruby, it's turing complete. It's great for stage servers
where flexibility and productivity are more important than a couple nines of
uptime.

Monit's config is fairly straight forward, but the monit daemon can be quirky
and unpredictable at times, and I usually have to hack out a bash script b/c
monit is pretty limited on what it can actually do.

So I start with God, then translate that into Monit + scripts when I get to
production.

------
callmeed
Would it be that hard to write a side-by-side comparison of God vs. Monit? You
know, a bookmark/share-worthy post with some meat in it.

Was this just an attempt to stir the pot or were you just shooting from the
hip?

FTR, I use God and its works fine for me.

------
teej
This analysis makes me a little sad. I want to like mojombo's work (I like
Github a lot) but I've just had too many issues with his OSS.

~~~
mojombo
May I ask which other projects you've had problems with?

~~~
teej
God - Same issues stated in this article. I've had to move two different
clients off of it to Monit.

Jekyll - I managed to access Github's database.yml in cleartext, I'm sure you
remember that.

Fuzed - Never ran

Now, albeit, none of these had a 1.0 release and were practically abandoned
before they reached it. I'm okay with that, because I really, really like
Github.

~~~
grandalf
uh it says right in the fuzed README that it may not run on your system.

Would you rather that tom had just kept all the code to himself until he got
around to polishing it to the point where it ran on most systems?

I think releasing it to the community where others can work with it is the
best approach, particularly if the main developer doesn't have the time to
make it a top priority.

~~~
teej
I didn't mean any offense, I meant only to share my experiences relevant to
the article with HN.

