Drupalcon 2011: Code-Driven Development: Using Features Effectively

One of the biggest barriers to using Drupal effectively is managing the Dev->Test->Production->Update lifecycle.  Most problematic is making structural changes to a site already in production.  You don't want to break/modify production while live, you don't want to blow away data by copying data from Dev to Prod, and you don't want to try to make the changes in two places.  Based on my readings, I had decided that Features would play a major role in solving this problem.  The training class presented by Nuvole today showed that Features can make life-cycle management much, much, easier.  In fact, as best as I can tell, code-driven development is the way to produce, manage, and deploy enterprise-quality sites.
Nuvole has posted slides on SlideShare.  (These may not be the exact slides used at Drupalcon, as they seem to be a few weeks old, but look very similar to what I'm seeing on the screen.)
Thanks to Antonio and Andrea for a great presentation -- it was really content-rich, and they managed to work through the technical glitches of student laptops quite smoothly.

Drupalcon 2011

Tom (my boss) and I arrived in Chicago last night for Drupalcon 2011.  I will be blogging my notes from training classes & sessions, but I will not be placing them in the "planet" category, so they will not be syndicated on Planet Ubuntu & Planet Georgia, unless there is content significantly relevant to the Ubuntu community.  (If you're interested in my Drupalcon 2011 coverage, please check my site or subscribe to its feed.)

Many of the notes will be intended for my later consumption, but I'm hoping they may also help others address the same issues.  Let me know if there are confusing parts you'd like me to expand upon.

Memo to Self when Moving Databases

As a memo to myself, and in case others aren't aware of this:

If you move the entirety of a mysql server (e.g., all databases, especially the "mysql" database) to a new Debian-based (Debian, Ubuntu, etc.) server, you need to make sure the debian-sys-maint user is created or updated.

If moving from a non-Debian-ish environment, try:

GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '--password--' WITH GRANT OPTION;

where "--password--" comes from /etc/mysql/debian.cnf.

If moving from another Debian-ish environment, copy the password from /etc/mysql/debian.cnf on the old server to the same file on the new server.


Password Generating Webpages

First off, let me say that I commend Steve Gibson's attempts to bring information security to the masses.  I think it's important to educate the user base, and most of the time, he does a great job of it.  Unfortunately, a lot of his advice also seems to be filled with either "marketing speak", or (worse) just plain incorrect information.

In February, the Atlanta Linux Enthusiasts mailing list had a long discussion about the merits of "CLOSED" vs "STEALTHED" ports as advocated by Steve Gibson of grc.com.  I, for one, love spirited discussion, and thought it was good to discuss a variety of viewpoints and issues.  I believe that >90% of the discussion was very professional and mature discussion, which is something I attribute largely to the membership of the ALE mailing list.  Many other mailing lists would have resulted in a very quick flame war.  During that discussion, I stated that I felt that much of his advice (though overall sound advice) was misleading to users, and I still believe that.  Even if the end result is users taking corrective action, misleading them is not helpful in the long run.

Today, I saw a link to Steve's page password generation page.  Looking at it, I had several concerns about the page.

GnuPG: The What and the Why (For Me, Anyway)

I'm a big advocate of GnuPG, the Free implementation of the OpenPGP standard.  I've even recently begun to use a smart card for storing my keys.  I've also answered some questions about why I do this, so I thought I'd write about it here.  Put simply: the Bill of Rights is important to me.  My privacy is important to me.  Security is important to me.  OpenPGP can help me protect the things that are important to me.