There were a few here that I wanted to do a whole piece about, but I just gotta clear some space on these decks. Today we have pushing and pulling and queueing and Ruby.next and Java hate and PHP-vs.-Rails. What’s not to like?
Atom and Pushing and Pulling and Buffering · Start with Mike Herrick’s Pub/Sub vs. Atom & AtomPub?, which has lots of useful links. I thought Bill de hÓra’s Rates of decay: XMPP Push, HTTP Pull was especially interesting on the “Push” side of the equation.
But they’re both missing an important point, I think. There are two problems with Push that don’t arise in Pull: First, what happens when the other end gets overrun, and you don’t want to lose things? And second, what happens when all of a sudden you have a huge number of clients wanting to be pushed to? This is important, because Push is what you’d like in a lot of apps. So it doesn’t seem that important to me whether you push with XMPP or something else.
The obvious solution is a buffer, which would probably take the form of a message queue, for example AMQP. Assuming it’s reliable and performant, this should solve both the receiver-overrun problem and the many-receivers problem. I’ve been expecting message-queuing to heat up since late 2003.
Ruby.next · Over at Eigenclass, Changes in Ruby 1.9 is a snapshot of the long-under-construction next generation of the language, to be released as Ruby 2.0 whenever the 1.9 development version is considered finished. Important stuff.
Ruby these days is a delta not a river, with a lot of individual stream, fortunately still well-connected with each other. Another stream, of course, is JRuby, which just released 1.0.1 (and check Charles’ Jython pointer too).
Russ Disses Java · Russ Beattie, that is, in Java needs an overhaul. Well, yeah, a lot of people whine about the same things that Russ does, and actually he’s got some constructive suggestions.
Look, I work every day on evangelizing Ruby and other dynamic languages, both inside and outside Sun. But let’s get real: Java still remains by far the largest development ecosystem, and the selection and quality of libraries put pretty well any other language’s to shame, and it’s really fucking fast, and has superb tooling, and we know how to run it securely, and it’s Open-Source. So, if you want to move the state of the art along, a smart idea would be to work with, not against, Java.
Web Frameworks · Terry Chay, in Simple prescriptions and making choices, says a whole lot of really smart things about Rails and PHP and so on, and disses both Joel Spolsky and Paul Graham entertainingly (Hey, I’m a big fan of both of ’em); it’s worth reading.
I flatly disagree with one of his statements: “The PHP world doesn’t need to take advice on how to run their community from the Rails world. As crazy as PHP is (and it is pretty crazy), it’s very clear which is the more mature language and community.” Well, there’s more to life than maturity, and I’d have to say the Ruby & Rails communities have something to teach pretty well every other online community I know, in terms of open-ness, friendliness, and constructiveness. Definitely including PHP.
But the rest, well, it’s just full of good stuff. For example: “Can you build WordPress in Rails?” is the wrong question. You’ll have to read the piece to learn the right one.
Comment feed for ongoing:
From: Mark (Aug 28 2007, at 15:50)
> and has superb tooling
"Gloves."
[link]
From: Tim (Aug 28 2007, at 16:14)
Mark is referring to this.
[link]
From: Ed Finkler (Aug 28 2007, at 18:36)
Like this?
http://www.flickr.com/photos/doesrails/128015501/in/pool-canadaonrails/
I've never seen Rasmus Lerdorf pull something like that. Of that, I'm very grateful.
[link]
From: Austin (Aug 28 2007, at 19:04)
I donno. I actually found Chay's arguments nearly impossible to follow because he conflates a number of things unintelligently, and makes wholly unsupportable claims (like his claim that the concept of Bayesian has *increased* spam; this is seriously doubtful). Further, his claim that "PHP ... doesn't give you anything to shoot yourself in the foot with" is laughable nonsense.
The ONLY useful observation I found was that it *does* take a certain way of thinking to do Ruby and to do Rails, and that PHP doesn't really require you to think at all before you start programming.
(I say this all as a non-Rails user; I don't particularly like the way Rails does things or how it has PHPified Ruby in many ways. I'm a Ruby user, thanks, and I'm still looking for my preferred Ruby web framework.)
[link]
From: Austin (Aug 28 2007, at 20:02)
@Ed: This is the problem with that sort of slide. It's important to take the whole thing in context (no, I wasn't there), when the hype about Rails was first starting up (and while DHH is quite the hypester and has in no way toned down the hype that's come out of it) people dumped on Rails because it was different. It was to those people to whom DHH addressed the slide.
I don't (personally) find it very professional, but it's very characteristic of DHH in general and it's reflective of a high level of annoyance at nonsense. I get it, but I'd never do it myself.
[link]
From: Sylvain Hellegouarch (Aug 29 2007, at 02:38)
> The obvious solution is a buffer (...)
Could you expand? A buffer seems like pushing the problem somewhere else rather than solving it. I'd rather see some routing solution instead. Messages flow through a set of specialized router that allow for a gentler scaling IMO than a simple buffer.
Again, would mind you expanding?
Regarding PubSub and XMPP, Bill is right on their potential but this is not really something he discovered either. Plenty of people already use those technologies :)
[link]
From: Mike Herrick (Aug 29 2007, at 04:13)
Hi Tim, I mostly re-hashed my point (see link), but it may clarify a thing or two ...
Mike
[link]
From: Observer (Aug 29 2007, at 05:42)
"But they’re both missing an important point, I think. There are two problems with Push that don’t arise in Pull: First, what happens when the other end gets overrun, and you don’t want to lose things?"
Looks like you missed the important point that Bill made in the beginning of his article: if you're pulling from a source that limits the number of active entries available at a time, and you're not pulling fast enough, you *will* lose things.
[link]
From: terry chay (Aug 29 2007, at 07:46)
I suppose I could pollute Tim's blog refuting points, but I'd rather just say thanks to him and you for at least reading my blog entry.
By analogy, in 2002, I found "A Plan for Spam" both thought provoking and fundamentally wrong (basically it was advocating an arms race). If you found my article at least thought provoking enough to say I’m wrong, I'd have to say that's high praise to me.
In the meantime, you’re entitled to your opinions; I’m entitled to my facts. ;-)
[link]