Earlier quoted context omitted.
Shit can and will break if you mess with your OS. Updating a program I use should never constitute "messing" with my OS, it should constitute "using". Why should I as an OS user have to constantly worry about upsetting the OS maker? Why should I have to jump through obscure hoops just to install some software without breaking my OS? Wouldn't a better solution be for the OS makers to wall off their magic python behind…
In the ancient days, stuff the OS relied on was in /usr/sbin and stuff that was "yours" was in /usr/local/bin (or /opt) and stuff that no-one was quite sure whose it was was in /usr/bin. And lo, peace and harmony did reign upon the face of Unix. And the sysadmin did lie down with the developer, and it was good. Who even knows how it works these days?
Mongrel2 Says, "Goodbye Python"
231–240 of 251 posts
Re: Mongrel2 Says, "Goodbye Python"
#232Earlier quoted context omitted.
It depends on what you are using the server for and who is using the server. Ubuntu and debian are used by plenty of people in production and are probably the better choice for learning how to set up a server if you already use ubuntu. Apt is also a great package manager.
Apt and yum are not very different. In the early 2000s, before yum Debian was a clear choice for packaging alone, but things have changed these days. (I'm an Arch guy these days, but hey...)
Pacman and apt are both better imo, and apt-get build-dep is really great when you need to do a source install but can still use normal dependencies.
(I do use aptitude now instead of apt though)
Re: Mongrel2 Says, "Goodbye Python"
#233Earlier quoted context omitted.
I should have said: They haven't been fixed by default . Perl is also moving forward, it's just doing so differently than Python. Python has major releases like 2.6 and 3.0 where they explicitly break old code in the default installation. Perl however doesn't break any of the old warts by default, but developers can easily do so by importing modules like Moose and perl5i in their own code. See http://search.cpan.org/…
Which code was explicitly broken by Python 2.6?
Re: Mongrel2 Says, "Goodbye Python"
#234He's absolutely right. I have come to the conclusion that we must do one thing: Stop sharing. Shared libraries and language runtimes are a relic of the past when memory and storage were orders of magnitude smaller. Bundle all dependencies and throw out the package managers!
And reinstall your entire operating system when a core library needs a security patch.
That's the biggest issue, if you test with library version X and run with library version Y, then any sufficiently complicated program will have bugs that would have been found by testing with the same version of the library you run with.
Re: Mongrel2 Says, "Goodbye Python"
#235Earlier quoted context omitted.
If you build yourself a new python, what's the point of virtualenv ? Compiling python is of course possible, although quite a chore if all you want is to configure some software. Concerning the need to obtain a new python if you want to use a newer python: yes, it is more or less evident, but that's Zed Shaw's point, not mine. Where he has a point IMO is about the brokenness of the installed python - many distributio…
The point is that building a new Python just to generate virtualenvs from is not disruptive to anything else. Zed says they had to move away from Python because the system would get messed up if you replaced the distro-supplied Python. Building a new Python and merely using it from the build directory to generate virtualenvs doesn't disrupt anything in the system. We have done this on several CentOS systems and had n…
Also, virtualenv is hard to sell for people who do not know so much about python.
Re: Mongrel2 Says, "Goodbye Python"
#236Earlier quoted context omitted.
I agree to an extent. That stuff matters when you're starting out and just learning. But after you get to a certain level the 'language ecosystem' isn't important at all IMHO.
Massively disagree: once I get to a certain level, there's no way in hell I want to waste my time implementing all of (java) commons-lang, or my own sqlite bindings, etc. When the languages ecosystem is flourishing, I am productive. When it's not, I'm shaving yaks that prefer not to be shaved.
No one wants to implement all of java commons-lang in their language of choice because they'd be lynched by the languages users. I no of no other language with a standard library as annoyingly verbose and complicated as java.
Re: Mongrel2 Says, "Goodbye Python"
#237Earlier quoted context omitted.
generators
I know that if I really need generators, then I really need to install something newer than the 2.4 that comes with RHEL/CentOS 4. Generators is 2.6+, right? BTW, an ugly approach I used (more or less as a joke) was to check for generator availability and, in case I can't use them, use a list comprehension instead. There is a performance/memory hit but, depending on what you are doing, it's a usable alternative. And…
http://docs.python.org/release/2.2/ref/yield.html
Generator expressions are 2.4+:
http://docs.python.org/release/2.4/ref/genexpr.html
That said, I don't disagree with removing the Python dependency from the "core" of Mongrel2. As was noted in an earlier comment, people can always write a config file management tool in any language they want (or Mongrel2 bindings in general, for that matter).
Re: Mongrel2 Says, "Goodbye Python"
#238Earlier quoted context omitted.
My impression is that the difference between Perl-5.6 and Perl-5.12 is much less than between these versions of Python and recent releases. Your impression is correct. Perl is a more mature platform than Python, and backwards compatibility is taken more seriously. The latest Perl 5.12 release can still run most of the test suite for Perl 1 released back in 1987. That and its wide availability and portability make it…
> Perl is a more mature platform than Python, and backwards compatibility is taken more seriously. That's a silly thing to say w/r/t Python 2.x. What makes people’s Python 2.5 code not run on Python 2.2 (or 1.x) is that new features were added in the mean time. New very shiny happy features that make life a lot easier for developers. Almost all python code continues to work from one version to the next, and it’s easy…
Re: Mongrel2 Says, "Goodbye Python"
#239Earlier quoted context omitted.
And reinstall your entire operating system when a core library needs a security patch.
You mean upgrade applications that depend on that core library. Which you have to do anyway since a patched library will not be bug-compatible with the old one. That's the biggest issue, if you test with library version X and run with library version Y, then any sufficiently complicated program will have bugs that would have been found by testing with the same version of the library you run with.
Re: Mongrel2 Says, "Goodbye Python"
#240Instead of inventing your own syntax, why didn't you use a portable syntax like XML, JSON, YAML, or better yet, libconfig[1]? Please compare the libconfig test file to the mongrel configuration file: http://www.hyperrealm.com/libconfig/test.cfg.txt http://mongrel2.org/doc/tip/docs/manual/book.wiki#x1-190003.... The mongrel conf is a subset of libconfig; it doesn't use the more advanced features. Plus libconfig has bi…
I thought about something like that, but wanted to duplicate the existing config file format so that people's configs would keep working (mostly). It actually had some cool advantages, like a nice psuedo variable system letting you setup variables for reuse in different parts of the config file. I haven't really seen that in other config formats, and it is damn handy.