Apache httpd at ApacheCon Budapest

tl;dr - There will be a full day of Apache httpd content at ApacheCon Europe, in Budapest, November 17th - apacheconeu2014.sched.org/type/httpd


* ApacheCon website - http://apachecon.eu
* ApacheCon Schedule - http://apacheconeu2014.sched.org/
* Register - http://events.linuxfoundation.org//events/apachecon-europe/attend/register
* Apache httpd - http://httpd.apache.org/

I'll be giving two talks about the Apache http server at ApacheCon.eu in a little over 2 months.

On Monday morning (November 17th) I'll be speaking about Configurable Configuration in httpd. New in Apache httpd 2.4 is the ability to put conditional statements in your configuration file which are evaluated at request time rather than at server startup time. This means that you can have the configuration adapt to the specifics of the request - like, where in the world it came from, what time of day it is, what browser they're using, and so on. With the new If/ElseIf/Else syntax, you can embed this logic directly in your configuration.

2.4 also includes mod_macro, and a new expression evaluation engine, which further enhance httpd's ability to have a truly flexible configuration language.

Later in the day, I'll be speaking about mod_rewrite, the module that lets you manipulate requests using regular expressions and other logic, also at request time. Most people who have some kind of website are forced to use mod_rewrite now and then, and there's a lot of terrible advice online about ways to use it. In this session, you'll learn learn the basics of regular expression syntax, and how to correctly craft rewrite expressions.

There's other httpd content throughout the day, and the people who created this technology will be on hand to answer your questions, and teach you all of the details of using the server. We'll also have a hackathon running the entire length of the conference, where people will be working on various aspects of the server. In particular, I'll be working on the documentation. If you're interested in participating in the httpd docs, this is a great time to learn how to do that, and dive into submitting your first patch.

See you there!

LinuxCon NA 2014

Last week I attended LinuxCon North America in Chicago.

As always when I go to a conference, there's always about 5 things going on at any moment, and one has to decide where to be and what to do, and then wish you'd done the other thing.

I spent most of the time working the Red Hat booth, talking to people about RDO, OpenShift, Atomic, and, of course, 3D printing.

I also spent a little time over at the OpenStack booth, although it was mostly staffed pretty well without me. The cool thing about the OpenStack booth was the representation from many different companies, all working together to make OpenStack successful, and the ability to be cordial - even friendly - in the process.

While I didn't attend very many talks, there were a few that I made it to, and some of these were really great.

Rikki Endsley's talk You Know, for Kids! 7 Ideas for Improving Tech Education in Schools was largely a story about an unfortunate experience in a high school programming class, and the lessons learned from it. I'm very interested in stories like this, primarily because I want to teach my daughters, but also, my son, how to deal with gender discrimination in their various interests, although it seems particularly troublesome in geekly pursuits.

Guy Martin's talk Developing Open Source Leadership was brilliant. He talked about how to participate in Open Source projects, and encourage your employees to do so, for the specific goal of establishing your company as a leader in a particular field. While this sounds like it may be about subverting the character of Open Source for your own financial benefit, it didn't go that direction at all. Instead, he talked about being a good community citizen, and truly establishing leadership by participating, not merely by gaming the system. This was a great talk, and well worth attending if you happen to see him giving it again.

The 3D printing keynotes on Friday were very high in geek factor, and, as we had a 3D printer at the Red Hat booth,
I learned more about 3D printing last week than anything else.

A large part of the value of the conference (as with most tech conferences these days) was the evening and hallway conversations, evening events, dinner with various people, and conversations with people stopping by the booth. The technical content is always useful. The personal connections and stories are absolutely the most valuable thing. Running into old friends and making new ones is also always a highlight of these events.

Wednesday evening, I participated in an event where we talked with the folks from Chicago CTO Forum about The Apache Software Foundation. That was a lot of fun, and I learned at least as much as I taught.

Thursday was superhero day, with various people dressing up as their favorite heros. Alas, I didn't take a costume, but several of my coworkers did.

A final highlight of the conference (and of which I have no photos) was the running tour of the city. Friday morning, CittyRunningTours took me and 20 or so other runners on a historical and architectural tour of downtown Chicago. we ran about 4 miles, stopping every half mile or so for a history lesson. It was fascinating, as well as being a good run.

O Captain, my Captain

O Captain, my Captain is the poem that got me started reading Walt Whitman - one of many works mentioned in Dead Poets Society that got me reading particular authors. Not exactly Whitman's most cheerful work.

Mom used to tell stories of her grandma Nace (my great grandmother) throwing apples at crazy old Walt Whitman as he went for his daily walk near his home in Camden, The kids of the town thought that he was a crazy old man. But he was a man who took his personal tragedies - mostly having to do with his brothers - and turned them into beauty, poetry, and a lifetime of service to the wounded of the civil war.

And now, when so many people are quoting "O Captain, My Captain" in reference to Robin Williams, I have to wonder if they've read past the first line - a deeply tragic poem about the death of President Lincoln, in which he is imagined as a ship captain who doesn't quite make it into harbor, after his great victories. Chillingly apropos of yesterday's tragic end to the brilliant career of Robin Williams.

Exult O shores, and ring O bells!
But I with mournful tread,
Walk the deck my Captain lies,
Fallen cold and dead.

BAHA, five years on.

Five years ago, my beloved encouraged me to get a BAHA - Bone Attached Hearing Aid. It's a device that's implanted in my skull which bypasses the usual hearing apparatus and carries sound vibrations directly to the middle ear.

It would not be too much of an exaggeration to say that this tiny device has prrofoundly changed my life.

I've always been an introvert, and social situations make me uncomfortable ... but I say that based on all of those years avoiding them because my deafness made them so very awkward. The elaborate dance of positioning myself correctly relative to speakers so that I could hear out of my right ear, hurrying to be the first to be seated at a dinner so that I can grab the left-most seat, and avoiding multi-speaker conversations because I'm bound to miss most of it, has been going on since I was 12, and it's hard to remember how things were before that.

While I still can't tolerate super-loud settings - which makes most conference social events something of a chore, endured for the all-important networking - the Baha has changed normal conversation from a painful ordeal, preferably to be avoided, into something more normal and routine, where I can, for the most part, understand what is being said, the first time, without needing several increasingly embarrassing repetitions.

There are still scenarios where it's hard to hear. The very loud places, as mentioned above, for one. Also, conversations with many speakers tend to be difficult, but apparently the latest model of Cochlear's product has intelligent selective filtering, as well as noise reduction stuff in it, and perhaps I can upgrade some day for an even better experience.

Being able to hear has made me more confident, more sure of my opinions, more assertive in meetings, and less irritable with soft-spoken people. And far less awkward in social settings.

And I can sit anywhere I want at dinner.

RDO on CentOS 7

With CentOS 7 now available, I quickly put it on my OpenStack demo laptop, and started installing RDO. It mostly just worked, but there were a few roadblocks to circumvent.

As usual, I followed the RDO Quickstart, so I won't duplicate those steps here, in detail, but it goes like:

sudo yum update -y && sudo yum install -y http://rdo.fedorapeople.org/rdo-release.rpm && sudo yum install -y openstack-packstack && packstack --allinone

Comparison of string with 7 failed

The first problem occurs pretty quickly, in prescript.pp, with the following error message:

Comparison of String with 7 failed

This is due to the change in CentOS versioning scheme - the latest release of CentOS is version 7.0.1406, which is not a number. The script in question assumes that the version number is a number, and does a numerical comparison:

if $::operatingsystem in $el_releases and $::operatingsystemrelease 7 { ...

This fails, because $::operatingsystemrelease is a string, not a number.

The solution here is to edit the file /usr/lib/python2.7/site-packages/packstack/puppet/templates/prescript.pp and replace the variable $::operatingsystemrelease with $::operatingsystemmajrelease around line 15.

While you're at it, do this for every file in that directory, where $operatingsystemrelease is compared to 7.

See https://bugzilla.redhat.com/show_bug.cgi?id=1117035 for more detail, and to track when this is fixed.

mysql vs mariadb

The second problem, I'm not sure I understand just yet. The symptom is that mysql.pp fails with

Error: Could not enable mysqld:

To skip to the end of the story, this appears to be related to the switch from mysql to mariadb about a year ago, finally catching up with CentOS. The related bug is at https://bugzilla.redhat.com/show_bug.cgi?id=981116

The workaround that I used was:

# rm /usr/lib/systemd/system/mysqld.service 
# cp /usr/lib/systemd/system/mariadb.service /usr/lib/systemd/system/mysqld.service
# systemctl stop mariadb
# pkill mysql
# rm -f /var/lib/mysql/mysql.sock

Then run packstack again with the generated answer file from the last time.

However, elsewhere in the thread, we were assured that this shouldn't be necessary, so YMMV. See https://www.redhat.com/archives/rdo-list/2014-July/msg00055.html for further discussion.

That's all, folks

After those two workarounds, packstack completed successfully, and I have a working allinone install.

Hope this was helpful to someone.

UPDATE: The next time through, I encountered https://ask.openstack.org/en/question/35705/attempt-of-rdo-aio-install-icehouse-on-centos-7/

The workaround is to replace contents of /etc/redhat-release with "Fedora release 20 (Heisenbug)" and rerun packstack.


Some people are heroes. And some people jot down notes. Sometimes, they're the same person. (The Truth. Terry Pratchett)