|
|
Sat, Jan. 1st, 2005, 07:52 am Apache Bullshit
In case you've ever wondered why the BitTorrent mimetype doesn't come pre-configured in Apache, it's because of ego-masturbatory 'standards' bullshit. Of course, Apache gets everything else wrong too, why should BitTorrent be any different? Predictably, the person behind this idiocy is Greg Stein. I'd like to tally up 'contributions' which have made him a net negative to free software generally -
- Keeping the .torrent mimetype out of Apache
- Writing Python's httplib, which has this nice diatribe in the documentation about how it's fully http 1.1 compliant. But can't work in a non-blocking mode. And doesn't support timeouts. And it throws assertion failures in the coures of normal operation. And it treats non-http1.1 servers as 0.9.
- Architecting Subversion, which thanks to said architecture is barely more functional than CVS, and will never get much better.
Apparently free software does very little to filter out the obviously incompetent. Sat, Jan. 1st, 2005 06:01 pm (UTC) (Anonymous): personal attacks, bummer.
It's disappointing to see catty insults like this from someone like you. Sat, Jan. 1st, 2005 09:12 pm (UTC)
bramcohen: Re: personal attacks, bummer.
After the amount of petty pedantic bullshit from someone crosses a certain threshold, it's best to just give up on staying on their good side and let everybody else know about it.
The above problems have caused many hours of wasted time and ongoing headaches for me personally, and if you follow the above links you'll see that a direct appeal to common sense failed miserably. Sun, Jan. 2nd, 2005 07:03 am (UTC) (Anonymous): Re: personal attacks, bummer.
I read those links before I posted, and I don't get it (I'm not affiliated with Apache in any way). You have a problem with the IANA "x-" system, and you're right. However, your solution is for httpd to become a defacto media type registry--something they have no interest in doing. You're basically screaming at Apache to fix media type registration when it's not their responsibility anymore than it's yours.
You should:
a.) register a vnd. type and figure that new Apache installs will come online at roughly the same rate as new bittorrent clients. New mime.types files never seem to come through in upgrades for some reason (perhaps a packaging problem?).
b.) get the ietf to register application/x-bittorrent.
Or maybe something else. In any case, deal with a media type registration, and your problem with Apache goes away. Sun, Jan. 2nd, 2005 07:43 am (UTC)
bramcohen: Re: personal attacks, bummer.
You're wrong about Apache having no responsibility here. There's a serious problem, causing a lot of real pain, and they can trivially fix the problem, with zero ill effects. To not do the right thing under these circumstances is simply being an asshole. Even if they then decided to maintain the de facto mimetypes standard (which they wouldn't have to - BitTorrent is far more successfull than everything else), it wouldn't be much work at all, and in fact it's already been done. This beurocracy is a comical example of Bram's law in action. (a) isn't going to happen because it would cause a lot of completely unnecessary pain. (b) isn't going to happen unless the ietf changes their firm policy against declaring application/x-* a no man's land which they make no truck with, and getting them to show some practicality there seems even less likely than getting Apache to realize that it's okay to do things in the section of the standard which the standards committee has abdicated opinion on. Sun, Jan. 2nd, 2005 07:04 am (UTC) (Anonymous): Re: personal attacks, bummer.
here's a convenient web form:
http://www.iana.org/cgi-bin/mediatypes.pl Fri, Jan. 7th, 2005 05:34 pm (UTC) (Anonymous): Re: personal attacks, bummer.
There is nothing wrong with insults when they are well deserved; in this case I think Bram was way too kind.
Thank God for the OpenBSD developers that are cleaning up the hideous mess that the Apache codebase is and removing all the crud(I wont even comment on the byzantine extreme case of second system syndrome that Apache2 is; I think only SVN comes near being that bad).
Bram, maybe you should ask the obsd guys too add the .torrent mimetype to their copy of Apache, I'm sure they will be happy to do so. Mon, Jan. 10th, 2005 01:53 am (UTC)
bramcohen: Re: personal attacks, bummer.
If you can tell me where to request it, I will. Thu, Jan. 13th, 2005 03:43 am (UTC) (Anonymous): Re: personal attacks, bummer.
I think that the person that is trying to put some sanity in the httpd codebase for OpenBSD is "Daniel Ouellet" [ Error: Irreparable invalid markup ('<daniel [...] ()>') in entry. Owner must fix manually. Raw contents below.] I think that the person that is trying to put some sanity in the httpd codebase for OpenBSD is "Daniel Ouellet" <daniel () presscom ! net>.
You can find more info here: http://marc.theaimsgroup.com/?l=openbsd-misc&m=110245203624028&w=2
I'm quite sure that if he can't help you he at least will be able to tell you who to ask about it. Sat, Jan. 1st, 2005 06:11 pm (UTC) (Anonymous): An Question
If you says that Apache sucks, please tell me, what is te best web server software?, or that depends of what use I will do? Sat, Jan. 1st, 2005 08:57 pm (UTC)
davidphillips: Re: An Question

The best web server is Zeus Web Server. The best free / open source web server is lighttpd. Sat, Jan. 1st, 2005 09:07 pm (UTC)
bramcohen: Re: An Question
If you intend to use any third-party scripting tools it's probably best to use Apache, because they all work with it. You should fix the mimetypes configuration first thing though. Sat, Jan. 1st, 2005 07:35 pm (UTC) (Anonymous): Tell it like it is.
Thank you. It's refreshing to see someone express themselves openly and honestly. Screw the PC bullshit. Besides, as they say, it's not personal, it's just business. Sat, Jan. 1st, 2005 09:30 pm (UTC) (Anonymous): What about the vendor space?
Bram,
Why didn't you just decide to use a vendor mime type:
application/vnd.bittorrent
-steve jenson Sat, Jan. 1st, 2005 09:42 pm (UTC)
bramcohen: Re: What about the vendor space?
I would have if I'd ever heard a reference to it prior to the discussion in the above link. After extensive web searching I couldn't find a good guide to what mimetype to use, and other people I spoke to didn't know what was a good mimetype to use, and the best advice anyone could give me was to use application/x-whatever, because that was the recommended behavior. Of course, it's behavior with a built-in incompatible change in the middle, and hence completely stupid, but I assumed at the time that the advice I was getting was reasonable.
If I'd gotten some advice about changing the mimetype two years ago I'd have done it, but none was forthcoming, and call me crazy but when a format has a clear and open specification and is responsible for a third of the traffic on the internet it's time to make a bow to practicality and admit that it's a de facto standard and will forever remain that way. And this isn't even violating any rules about mimetypes to use. It's not like the mimetype is bittorrent/ or even application/bittorrent, it's application/x-bittorrent, and the only beef they have with that is that application/x- is 'experimental', and the standards body has a policy of not making statements about things experimental. Of course, that means they have a policy against saying that things in experimental are wrong either, but that bit of subtlety seems to be over some peoples's heads. Sun, Jan. 2nd, 2005 03:11 am (UTC) (Anonymous): Hmm
Did it occur to you that they may not actually want BitTorrent to grow ? Sun, Jan. 2nd, 2005 07:49 am (UTC)
bramcohen: Re: Hmm
I suppose that's possible, although I don't see any motive for it, and it's not like malice is morally superior to beurocratic self-importance.
The text/plain problem certainly has no such possible motive. The only possible reasoning I can indirectly infer from the discussion is that some proxies block files of unknown mimetype for security reasons, and they don't want that to happen. Of course the net effect is that the browser does guesswork with what the file type is, and the file gets run in the browser despite the attempt at security, so proxies need to add equivalent, but by design necessarily flaky, detection of the same thing. Thanks jackasses! Sun, Jan. 2nd, 2005 10:11 am (UTC)
taral

Heh. Many of Python's standard libraries are far from standards-compliant. See the mime/mail libraries for another example. Mon, Jan. 3rd, 2005 12:05 am (UTC)
bramcohen
I hardly care about http1.1 compliance, but can fully appreciate the irony when someone goes to great lengths to supposedly support it but can't be bothered with such a basic feature as supporting timeouts so that requests don't hang forever. Mon, Jan. 3rd, 2005 01:21 am (UTC) (Anonymous): don't blame httplib or its authors
You're going way to far by complaining about the stock python httplib as having anything to do with its authors. http/1.1 does in no way imply that the client library interface itself needs to support timeouts and non-blocking interfaces. libraries also have bugs. have you filed detailed bug reports on python.sf.net for httplib issues with examples of how to reproduce them?
If you want timeouts, non blocking interfaces, etc there are much more advanced python http libraries out there than the stock httplib.
standard libraries are for convenience. they are -never- meant to be the be all end all for that particular functionality. Mon, Jan. 3rd, 2005 01:32 am (UTC)
bramcohen: Re: don't blame httplib or its authors
The purpose of httplib is to be a library for http, not an experiment in 1.1 functionality. As a library, it is unacceptably unusable, and that is the author's fault. The rest of Python's standard libraries is designed to be all you need, and generally succeeds, because those authors actually care about the quality of their work.
I've spent a fair amount of time looking into various Python http libraries, as have several other people, and we have yet to find one which one can simply just use. In particular, anything which requires blocking calls is simply unacceptable, and most of them are written that way. The twisted one seems like it should be promising but I can't figure out how to cut out just the http functionality to use elsewhere.
Of course I filed a bug report, and supplied a stack trace. There isn't a simple repro because it only happens flakily. My best guess is that it depends on how many bytes get read in at a time over the wire. Several people have tried to dig into the code and figure out what's going on, and have gotten nowhere. It's an un-debuggable mess. Mon, Jan. 3rd, 2005 01:34 am (UTC) (Anonymous): subversion meets its own goals
it is doing exactly what it set out to do and is being used all over the place because of that. its goal was to be a better cvs than cvs. entire teams can switch from cvs to svn without changing their existing workflow.
whether or not keeping the same workflow is a good thing is irrelevant. Mon, Jan. 3rd, 2005 01:44 am (UTC)
bramcohen: Re: subversion meets its own goals
I could have saved them a couple man-decades of work using this fancy unix command called 'cp'. Fri, Jan. 7th, 2005 04:13 pm (UTC) (Anonymous): Re: subversion meets its own goals
Heh. I wonder why I'm reminded of this email (http://uwsg.iu.edu/hypermail/linux/kernel/0202.1/2018.html)? :) Sat, Jan. 22nd, 2005 07:08 am (UTC)
saber_taylor: 3

I'm on your (BC) side in the tribal sense versus the Apache team. I mean when I work with some swiss army knife software product, half the problem is breaking through what the documentation thinks you want to know. For example, using gcj it took me 10 minutes to find out that I had to include --main to let it know which file has main(). I had to wait until I broke down and made a -2 level of stupid query on Google instead of assuming the online documentation would help. I once told my little brother that the majority of working [with Windows] was to trick it into doing what you wanted (consider multiple "mastermind" configurings of device drivers). Software has matured but the tricking yourself into doing the imperfect to control perfect code is always going to be there. And it grates since all the code is perfect. That's got to be a missing part of the list you made -- learning to be a programmer -- because nothing gets built right. If software were built right then it would be VMS and only be programmed by chess grandmasters. In a non-tribal sense, it's worth considering that once Apache refused 1/3 of the web browsers on the Internet since AOL was being HTTP incompatible. (disclaimer: that number seems impossible, shrug.) Also part of the realpolitick protocol of interfacing with others as an owner of a system component, is that you can't be as generous as human nature provides or it's a bofh scenario. So some of the cold shoulder is part of keeping not the Apache dev team sane, but their software sane. p.s. I enjoy your http://bitconjurer.org/ page. disclaimer: my_comment_post_value * my_coding_contributions = low_number. Tue, Jan. 4th, 2005 12:13 am (UTC) (Anonymous): Makes sense to me...
Sheesh...something like a third of network traffic is from BitTorrent now. It just doesn't make any sense for one of the world's most popular open source projects to snub another popular project like that.
And seriously, we're talking about *one line* in the config file. It's annoying when servers don't use the right header, and I suspect everybody else thinks the same thing. If Apache gets it together soon, it's a big step in the right direction. Downloading large files is becoming more and more important, and BitTorrent is by far the best way to do it right now.
Nobody cares about the standards that much, anyway. Standards are supposed to make life easier, not get in the way of innovation!
Yeah, well good luck. ; ) Tue, Feb. 8th, 2005 12:21 am (UTC) (Anonymous): I support your efforts Bram
David Smith - http://cplan.cse.msu.edu |