For years I've heard Debian folks brag about how superior .deb is to .rpm. Whatever. I've been using some Debian and Ubuntu boxes for several months now and I can assure you that the package management tools on those platforms are as primitive as any other distro, and in many ways they are far worse.
Here's a quick example. From the command line, locate and install OpenSSL development files:
Ubuntu 9.10:
# apt-cache search openssl erlang-crypto - Erlang/OTP cryprographic modules libcrypt-openssl-bignum-perl - Access OpenSSL multiprecision integer arithmetic libraries libcrypt-openssl-random-perl - Access to the OpenSSL pseudo-random number generator libcrypt-openssl-rsa-perl - Perl module providing basic RSA functionality libcurl3 - Multi-protocol file transfer library (OpenSSL) libcurl3-dbg - libcurl compiled with debug symbols libcurl4-openssl-dev - Development files and documentation for libcurl (OpenSSL) libneon27 - An HTTP and WebDAV client library libopenssl-ruby - OpenSSL interface for Ruby libqca2-plugin-ossl - QCA OSSL plugin for libqca2 openssl-blacklist - list of blacklisted OpenSSL RSA keys openssl-blacklist-extra - list of non-default blacklisted OpenSSL RSA keys openvpn - virtual private network daemon python-openssl - Python wrapper around the OpenSSL library python-openssl-dbg - Python wrapper around the OpenSSL library (debug extension) python-openssl-doc - Python wrapper around the OpenSSL library (documentation package) ssl-cert - simple debconf wrapper for OpenSSL aolserver4-nsopenssl - AOLserver 4 module: module for SSL mode cl-plus-ssl - A simple Common Lisp interface to OpenSSL cl-ssl - Common Lisp interface to OpenSSL package cryptmount - Management of encrypted file systems cryptonit - A client side PKI (X.509) cryptographic tool ebox-ca - eBox - Certification Authority elfsign - ELF binary signing and verification utilities etpan-ng - console mail user agent based on libEtPan! fp-units-net - Free Pascal - networking units gjots2 - A simple jotter (outline processor) for X11/gtk-gnome globus-openssl-progs - Globus Toolkit - Openssl Library Programs libace-ssl-5.6.3 - ACE secure socket layer library libapache2-mod-gnutls - Apache module for SSL and TLS encryption with GnuTLS libcrypt-openssl-dsa-perl - module which implements the DSA signature verification system libcrypt-openssl-x509-perl - Perl extension to OpenSSL's X509 API libcrypt-ssleay-perl - Support for https protocol in LWP libengine-pkcs11-openssl - OpenSSL engine for PKCS#11 modules libengine-tpm-openssl - OpenSSL engine for TPM modules libglobus-gsi-callback0 - Globus Toolkit - Globus GSI Callback Library libglobus-gsi-openssl-error-dev - Globus Toolkit - Globus OpenSSL Error Handling Development Files libglobus-gsi-openssl-error-doc - Globus Toolkit - Globus OpenSSL Error Handling Documentation Files libglobus-gsi-openssl-error0 - Globus Toolkit - Globus OpenSSL Error Handling libglobus-gsi-proxy-ssl1 - Globus Toolkit - Globus GSI Proxy SSL Library libglobus-openssl - Globus Toolkit - Openssl Library libglobus-openssl-dev - Globus Toolkit - Openssl Library Development Files libglobus-openssl-module-dev - Globus Toolkit - Globus OpenSSL Module Wrapper Development Files libglobus-openssl-module-doc - Globus Toolkit - Globus OpenSSL Module Wrapper Documentation Files libglobus-openssl-module0 - Globus Toolkit - Globus OpenSSL Module Wrapper libneon26 - An HTTP and WebDAV client library libnewpki2 - PKI based on the OpenSSL low-level API (core library) libopenssl-ruby1.9.1 - OpenSSL interface for Ruby 1.9.1 libpathfinder-dev - Development files for pathfinder libpathfinder-openssl-1 - Pathfinder integration Library for OpenSSL libpoconetssl6 - The C++ Portable Components Network library with SSL libpoconetssl6-dbg - The C++ Portable Components Network library with SSL, dbg version libruby-extras - a bundle of additional libraries for Ruby libruby1.8-extras - a bundle of additional libraries for Ruby 1.8 libssl-ocaml - OCaml bindings for OpenSSL libssl-ocaml-dev - OCaml bindings for OpenSSL libtcnative-1 - Tomcat native library using the apache portable runtime libxmlsec1-openssl - Openssl engine for the XML security library mcrypt - Replacement for old unix crypt(1) newpki-client - PKI based on the OpenSSL low-level API (client package) newpki-server - PKI based on the OpenSSL low-level API (server package) python-ncrypt - python wrapper for OpenSSL somaplayer - player audio for the soma suite stone - TCP/IP packet repeater in the application layer tcl-tls - the TLS OpenSSL extension to Tcl tinyca - simple graphical program for certification authority management zope-externaleditor - Zope External Editor zopeedit - Helper Application for Zope External Editor libapache2-mod-php5 - server-side, HTML-embedded scripting language (Apache 2 module) libopenssl-ruby1.8 - OpenSSL interface for Ruby 1.8 libssl-dev - SSL development libraries, header files and documentation libssl0.9.8 - SSL shared libraries libssl0.9.8-dbg - Symbol tables for libssl and libcrypto openssl - Secure Socket Layer (SSL) binary and related cryptographic tools openssl-doc - Secure Socket Layer (SSL) documentation php5-cgi - server-side, HTML-embedded scripting language (CGI binary) php5-cli - command-line interpreter for the php5 scripting language ruby1.8 - Interpreter of object-oriented scripting language Ruby 1.8 libapache2-mod-php5filter - server-side, HTML-embedded scripting language (apache 2 filter module) libopenssl-ruby1.9 - OpenSSL interface for Ruby 1.9
Pretty much anything that utilizes OpenSSL is listed. Not terribly useful, if you ask me.
Now here's CentOS 5.4:
# yum search openssl globus-gsi-openssl-error.i386 : Globus Toolkit - Globus OpenSSL Error Handling globus-gsi-openssl-error-devel.i386 : Globus Toolkit - Globus OpenSSL Error Handling Development Files globus-gsi-openssl-error-doc.i386 : Globus Toolkit - Globus OpenSSL Error Handling Documentation Files globus-openssl.i386 : Globus Toolkit - Openssl Library globus-openssl-devel.i386 : Globus Toolkit - Openssl Library Development Files globus-openssl-module.i386 : Globus Toolkit - Globus OpenSSL Module Wrapper globus-openssl-module-devel.i386 : Globus Toolkit - Globus OpenSSL Module Wrapper Development Files globus-openssl-module-doc.i386 : Globus Toolkit - Globus OpenSSL Module Wrapper Documentation Files globus-openssl-progs.i386 : Globus Toolkit - Openssl Library Programs m2crypto.i386 : Support for using OpenSSL in python scripts mingw32-openssl.noarch : MinGW port of the OpenSSL toolkit openscada-Transport-SSL.i386 : Open SCADA transports openssl.i386 : The OpenSSL toolkit openssl.i686 : The OpenSSL toolkit openssl-devel.i386 : Files for development of applications which will use OpenSSL openssl-perl.i386 : Perl scripts provided with OpenSSL openssl097a.i386 : The OpenSSL toolkit openvpn.i386 : A full-featured SSL VPN solution perl-Crypt-OpenSSL-Bignum.i386 : Perl interface to OpenSSL for Bignum perl-Crypt-OpenSSL-RSA.i386 : Perl interface to OpenSSL for RSA perl-Crypt-OpenSSL-Random.i386 : Perl interface to OpenSSL for Random perl-Crypt-SSLeay.i386 : Crypt::SSLeay - OpenSSL glue that provides LWP https support perl-Net-SSLeay.i386 : Perl extension for using OpenSSL pkcs11-helper.i386 : A library for using PKCS#11 providers pyOpenSSL.i386 : Python wrapper module around the OpenSSL library tomcat-native.i386 : Tomcat native library tomcatjss.noarch : JSSE implementation using JSS for Tomcat xmlsec1.i386 : Library providing support for "XML Signature" and "XML Encryption" standards xmlsec1-openssl.i386 : OpenSSL crypto plugin for XML Security Library xmlsec1-openssl-devel.i386 : OpenSSL crypto plugin for XML Security Library
We won't even complain about the fact that there is ONE utility "yum" to both search and install packages vs Debians two ("apt-get" and "apt-cache"), but the search results speak for themselves.
Even better, let's look at Gentoo:
# esearch openssl
[ Results for search key : openssl ]
[ Applications found : 8 ]
* app-crypt/openssl-blacklist
Latest version available: 0.4.1
Latest version installed: [ Not Installed ]
Size of downloaded files: [no/bad digest]
Homepage: https://launchpad.net/ubuntu/+source/openssl-blacklist/
Description: Detection of weak ssl keys produced by certain debian versions between 2006 and 2008
License: GPL-2
* app-crypt/openssl-tpm-engine [ Masked ]
Latest version available: 0.4.1
Latest version installed: [ Not Installed ]
Size of downloaded files: [no/bad digest]
Homepage: http://trousers.sourceforge.net
Description: This provides a OpenSSL engine that uses private keys stored in TPM hardware
License: GPL-2
* dev-libs/openssl
Latest version available: 0.9.8h-r1
Latest version installed: 0.9.8h-r1
Size of downloaded files: [no/bad digest]
Homepage: http://www.openssl.org/
Description: Toolkit for SSL v2/v3 and TLS v1
License: openssl
* dev-perl/Crypt-OpenSSL-Bignum
Latest version available: 0.04
Latest version installed: [ Not Installed ]
Size of downloaded files: [no/bad digest]
Homepage: http://search.cpan.org/~iroberts/
Description: OpenSSL's multiprecision integer arithmetic
License: Artistic
* dev-perl/Crypt-OpenSSL-RSA
Latest version available: 0.25
Latest version installed: [ Not Installed ]
Size of downloaded files: [no/bad digest]
Homepage: http://search.cpan.org/~iroberts/Crypt-OpenSSL-RSA-0.25/
Description: Crypt::OpenSSL::RSA module for perl
License: || ( Artistic GPL-2 )
* dev-perl/Crypt-OpenSSL-Random
Latest version available: 0.04
Latest version installed: [ Not Installed ]
Size of downloaded files: [no/bad digest]
Homepage: http://search.cpan.org/~iroberts/
Description: Crypt::OpenSSL::Random module for perl
License: || ( Artistic GPL-2 )
* dev-perl/OpenCA-OpenSSL
Latest version available: 0.9.91-r1
Latest version installed: [ Not Installed ]
Size of downloaded files: [no/bad digest]
Homepage: http://search.cpan.org/~madwolf/
Description: The perl OpenCA::SSL Module
License: || ( Artistic GPL-2 )
* dev-python/pyopenssl
Latest version available: 0.6
Latest version installed: [ Not Installed ]
Size of downloaded files: [no/bad digest]
Homepage: http://pyopenssl.sourceforge.net/
Description: Python interface to the OpenSSL library
License: LGPL-2.1
That's pretty ideal. Now to be clear, I do like a lot of stuff about Ubuntu, but frankly the package system isn't one of them. I think the Debian/Ubuntu communities would do well to stop inviting comparisons of this aspect of their favorite distro until it stacks up a little better.
One thing I've noticed is that Ubuntu and Debian seems to have spent more time ensuring that packages are correct and they lack good tools for dealing with the inevitable package that is bad (broken dependencies, etc) whereas the Red Hat side tend to have more bad packages and better tools for dealing with them. Clearly neither approach is anywhere near ideal, but I'd be hard-pressed to say which is worse.
Xronos is a DLR-based Lisp variant. It is a Clojure-like language for .NET. Xronos shares the same syntax and base library as Clojure (but not any source code).
I usually bitch mostly about software and services that suck. However there's a large amount of suckage to be found in the physical world as well, and every so often I find it worth mentioning in case someone who cares stumbles across it.
About a year ago I purchased a new sink for the kitchen, and while I was at it, decided to replace the faucet as well. I found a nice Peerless brand faucet for around $70 at True Value. It was absolutely beautiful. Unfortunately, time has proven that this beauty was chrome-deep.
First of all, once it was installed, I noticed that the spout itself was a bit... wiggly. This hasn't caused any problems to date, but was my first indication that the quality was perhaps a bit sub-par. The second indication came about 6 months ago when my girlfriend accidentally hit the side of the spout with a pan. It left a visible dent in the side of the spout. Now, I imagine it's possible to dent almost anything metal given enough force, but it turns out that this faucet is paper-thin. The next indicator of poor quality came about two weeks ago when the hand-sprayer started leaking water from the handle. Better yet, if you actually tried to use the handle, water would literally spray out the back of it, usually all over your shirt and pants. Now, this is only a $10 replacement part, but really, the damn thing is less than a year old and the spray handle only gets used on occasion. There's no way it should have failed already.
In any case, I won't buy Peerless again and if you are doing some home project, I'd look at other brands.