top | item 1425801

Mongrel2

170 points| rams | 16 years ago |mongrel2.org | reply

80 comments

order
[+] mpk|16 years ago|reply
Usually when people announce a product and give you little else but a future feature list, I'm sceptical.

Not with Zed, though.

[+] tel|16 years ago|reply
This is the exact sentiment that makes me respect the guy. He's an asshole and loves to complain REALLY LOUD to eat up the attention.

But he's dead sincere when it comes to making things. He's like _why's evil twin.

[+] zedshaw|16 years ago|reply
I do sometimes just throw an idea out there to see if there's interest. No point wasting time these days if nobody gets it.

In this case, I felt like reprising Mongrel and finally that it would make sense, so I whipped up some code, got it working, and made a viable chat demo with it:

http://mongrel2.org/chat/

Based on that, seems folks get it and it'll work so I'll start hacking on it.

[+] moxiemk1|16 years ago|reply
I'm surprised that he's doing this... after so much vitriol about the Ruby (and Rails) community and being "ripped off" with Mongrel, I would have expected him to never touch it again. Granted, it's written in C, but I'd expect it to be heavily used with Rails.

That said, its good that he is writing it. The more software is written, the higher the likelihood that _something_ will be great, and when Zed Shaw's writing it, it's probably pretty good.

[+] mark_l_watson|16 years ago|reply
Also: notice the AGPL license. If mongrel2 hits a sweet spot for the targeted types of web apps, Zed has a good chance of monetizing this project. I appreciate Zed's writing and work - so good luck to him.

The use of AGPL has some interesting ramifications. For example, I still don't understand why AGPL projects like MongoDB can be used as part of large networked systems and this not be a violation of the AGPL if the entire system's source is not released under AGPL also. AGPL is "networked viral."

[+] zedshaw|16 years ago|reply
Mongrel2 will be very language agnostic, in the same way that Mongrel was very "Ruby Framwork Agnostic". My experience there was that making the server fairly implemented for all created a boom in server frameworks. I'm looking for the same result with Mongrel2, but with many different languages.
[+] chuhnk|16 years ago|reply
His primary use case is different for mongrel2 compared to mongrel however its based off the same HTTP parser and is a webserver so I guess the continuation seemed appropriate. Being completely written in C its going to be blindingly fast. I have a feeling it'll surge past unicorn, thin, passenger and everything else out there once its refactored and past beta.
[+] iamwil|16 years ago|reply
He's been an advocate of building stuff over being a language snob.

I remember reading in his book teaching programming to beginners that the important thing is to build stuff, not to nerd out about language features.

[+] grandalf|16 years ago|reply
This is a very cool idea. I think it's actually more along the lines of nanite or fuzed (ironically) than mongrel1.

I think Zed's approach is clever... to create a middleware layer that can intelligently (and without adding tons of config complexity) let people build fast, complex apps that fulfill requests using a variety of backends.

[+] lsb|16 years ago|reply
I like that the configuration language is a sqlite database; sounds far easier than parsing ini files, for example.
[+] viraptor|16 years ago|reply
I don't like that idea, because of one simple limit. You cannot diff databases (easily). Of course you can dump them, make sure the linebreaks are there between records, make sure they're sorted, etc. etc. But checking the whole config in or out of a VCS is much more useful in general. It also provides an easy to browse record of changes.
[+] rincewind|16 years ago|reply
ini files are

1. a straw man. The Format is very generic, only sections and key-value-pairs. A fairer comparison would be against httpd.conf, or other languages actually used for web server config.

2. Easy to parse, because there are tony of implementations already.

3. Static, like a SQL database, although Zed[1] and others[2] argued we need Turing-complete extension and configuration languages like Ruby.

[1] http://vimeo.com/2723800 [2] http://lambda-the-ultimate.org/node/3606

[+] rlpb|16 years ago|reply
He says that a config file is half-turing, but an sqlite database can have no turing. Won't this make the configuration far more complex?
[+] Kilimanjaro|16 years ago|reply
body{margin:0 6em;}

There, ftfy

[+] stesch|16 years ago|reply
Don't forget

font-family: sans-serif;

Instead of "sans serif".

[+] wazoox|16 years ago|reply
Bonus point, it's licensed under AGPL.
[+] stesch|16 years ago|reply
AGPL is always good for misunderstandings and flame wars. Nice show. ;-)
[+] sailormoon|16 years ago|reply
Looks like the project web site also has a custom ticketing system and repo browser. Why not.
[+] hello_moto|16 years ago|reply
This is a pattern I'm seeing from Zed:

1) loves small software (do one thing do it right)

2) loves C + glue code (perf in C, everything else script)

3) loves solid code

Some examples: SQLite3, Fossil SCM, Mongrel1/2, Merb (hinted by him), etc.

Wouldn't be surprised if he uses the tools developed by Dr. Hipps. Perhaps he prefers tools written by like-minded people.

What can I say, UNIX philosophy at its best?

Note: I like Dr. Hipp's software too (and OpenBSD). These tools are strong, solid, high quality, and represents everything that's good about software product. Unfortunately they're not the most "popular" thing out there.

[+] subwindow|16 years ago|reply
I believe that all comes free with the scm he is using, fossil.
[+] dminor|16 years ago|reply
So is this a rebranding of NoNoSql, or something new?
[+] dminor|16 years ago|reply
Yikes, -4 for an honest question.

Looks like he renamed NoNoSQL to MulletDB: http://mulletdb.com/index

MulletDB uses ZeroMQ and sqlite, and communicates with JSON, so I thought maybe this was the same project heading in a new direction.