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:
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.
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."
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.
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.
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.
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.
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) 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.
[+] [-] mpk|16 years ago|reply
Not with Zed, though.
[+] [-] tel|16 years ago|reply
But he's dead sincere when it comes to making things. He's like _why's evil twin.
[+] [-] zedshaw|16 years ago|reply
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.
[+] [-] FraaJad|16 years ago|reply
[+] [-] moxiemk1|16 years ago|reply
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
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
[+] [-] chuhnk|16 years ago|reply
[+] [-] iamwil|16 years ago|reply
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
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.
[+] [-] KERMIT|16 years ago|reply
[deleted]
[+] [-] gsiener|16 years ago|reply
[+] [-] lsb|16 years ago|reply
[+] [-] viraptor|16 years ago|reply
[+] [-] rincewind|16 years ago|reply
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
[+] [-] unknown|16 years ago|reply
[deleted]
[+] [-] Kilimanjaro|16 years ago|reply
There, ftfy
[+] [-] stesch|16 years ago|reply
font-family: sans-serif;
Instead of "sans serif".
[+] [-] wazoox|16 years ago|reply
[+] [-] stesch|16 years ago|reply
[+] [-] sailormoon|16 years ago|reply
[+] [-] jherdman|16 years ago|reply
[+] [-] hello_moto|16 years ago|reply
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
[+] [-] KERMIT|16 years ago|reply
[deleted]
[+] [-] dminor|16 years ago|reply
[+] [-] kanwisher|16 years ago|reply
[+] [-] dminor|16 years ago|reply
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.