Archive for the 'Uncategorized' Category

Uncategorized

Migrating to Apache 2.0

Sadly, this session was a bust. I think I’m gonna ditch it in favor of Mark-Jason Dominus’s Perl Program Repair Shop and Red Flags. I’ve wanted to see him speak for a long time, and was tempted to attend this session anyway, but since I’ve been looking at upgrading to Apache 2 as soon as both mod_perl and PHP are stable, I thought I’d see what was up in the Apache session. There wasn’t a whole lot new mentioned, or things that I couldn’t easily find out elsewhere, though. So I skipped out.

I did glean a few useful things, though:

  • If you’re just running standard modules and aren’t using deprecated directives, you can pretty much build it and go. Very little new is involved in the migration. Covalent has a Perl script that you can use to convert the httpd.conf to Apache 2.0. Not perfect, but nice.
  • PATH_INFO is not available by default, which breaks a lot of PHP code. Use AcceptPathInfo On to make it available.
  • mod_perl and PHP are not yet ready on Apache 2. I knew this, but have been uncomfortable about the silence from the PHP folk on the matter.
  • It may someday be possible to run more than one SSL server per IP, e.g. for each virtual host. But not yet, and don’t hold your breath. Browser support isn’t expected until server support is there, and it’s not yet.
  • I am very excited about running different virtual hosts as different users. But that’s not ready yet, either.
  • mod_gzip has become mod_deflate in 2.0.
  • More upgrading information is on the Apache site.

Uncategorized

Transition to mod_perl handlers

Geoffrey Young’s mod_perl session was good. For the first half-hour or so, I was worried that perhaps the session was a mistake, since I wasn’t learning a whole lot new. Not too much after that (9:41, actually) I realized that he was spinning into some new and interesting territory. The remainder of the session was a dizzying tour. Wow. He just blew through stuff, holding true to Mark-Jason Dominus’s Conference Presentation Judo recommendation to just speed right along at a clip faster than 75-80% of your audience would prefer. This makes it hard to take notes but that’s okay. What I had hoped to get out of this thing was a more general grounding in mod_perl, and to carry away a few techniques and concepts, cool ideas I can look into using right away and that will help guide future study and development. Bingo, that’s what happened.

Uncategorized

End of Posse Comitatus?

I don’t know whether to be surprised that it took so long or that it didn’t take longer. Yahoo!: U.S. Mulls Military’s Domestic Role. BBC:US plays down domestic army use.

Shit.

Uncategorized

Monday at OSCON

The first day of tutorials has passed. I’m still plugging away on that overdue project, but after tonight I should be set.

The “Mastering Data Structures and References in Perl” tutorial was everything I’d hoped it to be. As I wrote earlier, I’ve used references and complex data structures in the past, but especially with OOP it never quite seemed natural, I didn’t grok them. Almost every time, I have to slowly think through how to dereference a complex hash of hashes of arrays or whatever. Paul Grassie’s session helped to clarify some things for me, especially the dereferencing syntax, so I am not more confident in what I’m doing. Good.

I wonder if the advent of the Schwartzian Transform was a eureka moment.

That, by the way, is another one of those things that I’ve read numerous explanations of without ever really feeling like I got it, until sometime in the past year. I think I’ve used a Schwartzian Transform exactly once. The explanation in Effective Perl Programming is what finally did it for me.

I’ve set some goals for myself, some of which I’ll discuss in the coming days. One of them is to become more familiar with the modules in the standard distribution of Perl, as well as some of the more popular and useful ones from the CPAN. Things like Data::Dumper and File::Find. I’m not very good about taking the time to go find modules that will help me solve a problem because someone else already has. I don’t mean stuff like XML parsing or FTP or LDAP connections, for which I obviously turn to CPAN. I mean “everyday” stuff like disk I/O or data structure interaction, for which there are some nifty modules. I must get better about using those. It will make me a better programmer.

It also occurred to me during the session that no matter how much I use other languages because they’re better suited to a particular problem, at heart I just so much prefer Perl.

The next tutorial, Jeremy Zawodny‘s MySQL Optimization, was also excellent. His is a practical approach. He didn’t just cover server or query optimization, he hit a number of different areas where bottlenecks can occur, including database and application design, hardware & operating system tuning, etc. I like his attitude: don’t overdesign, do what works to get your job done. Don’t, for instance, index columns until you need to. Start with MyISAM tables for most things, convert to new table types if you need to. (This is reminiscent of the idea that when coding, one shouldn’t spend huge amounts of time optimizing a particular algorithm if it will end up having negligible impact on the overall code efficiency. Algorithms are not often where the bottlenecks are.) Even beyond his practical advice, this was a very informative session.

A few disjointed thoughts:

  • the next Perl Whirl and the next MacMania cruises are happening simultaneously and on the same ship.
  • There’s good food here for vegetarians, even yummy vegan cookies.
  • This is a good PR opportunity for open source. There’s a huge banner outside the entrance to the hotel, which I know sparks interest: I’ve already talked with two total strangers about open source software because they were genuinely curious.
  • I have yet to see Tim O’Reilly.
  • There are lots of people who, like me, are reluctant to engage strangers in conversation. At both breakfast and lunch today, I sat at tables that were largely silent. This is both comforting (especially at breakfast) and disappointing, since I am not normally gregarious or even approachable. When I did end up talking with a couple people at lunch, turns out they both work in higher education, too. Weird.
  • There are Macs everywhere. O’Reilly in particular seems to have adopted them with a vengeance: the registration, book sales, connectivity lab…all Macs. Hell, the lab is running Jaguar! Sweet. The halls are littered with people sporting iBooks and TiBooks. Very cool.

So I’m liking it here. Tomorrow, “Migrating to Apache 2.0” and “Transitioning to mod_perl Handlers”. And the State of the Onion, and maybe some exploration of San Diego. I’ve still gotta hit the beach, or my coworker Stacy will have my head.

Uncategorized

Accessibility developments

Two things.

First, this spring’s WebAIM accessibility training is now available for purchase on CD.

Second, Mark Pilgrim’s much-and-deservedly-vaunted “30 Days To A More Accessible Weblog” series is now accessible as Dive Into Accessibility.

Both super resources.

Uncategorized

PHP vulnerability

A vulnerability in PHP means you should upgrade now. Uh, now. Either that or disable POST entirely.

Uncategorized

Here at OSCON

Well, I made it. O’reilly’s Open Source Convention. Cool. There is, as expected, a wireless connection in the meeting areas, so I look forward to scanning the blogs to see how others feel about the thing.

Travel tips for the untravelled: curb-side luggage check-in is a service for which one should tip. Make sure the airline staff give you the right boarding pass. And yes, I’m proud that you remembered to bring a toothbrush. Now for the kicker: toothpaste? I hereby apologize to the fella who sat at breakfast with me before I had a chance to buy some. At least I wasn’t too talktative. As if I ever would be that early in the morning.

The weather here is great, and it’s clouded up a bit today, something with which I’m more comfortable than sunny, clear, blinding skies. I got out a little bit yesterday, for a walk along the bay (unless it’s called something else), but otherwise I was kinda wiped out all day. I don’t know why, maybe cuz I hardly slept this past week. Pity, too, since I had some work to do, something that will have to wait until later today after the tutorials. Damn. I had very much hoped to have that done by now so I could enjoy all my evenings more. At least I can sit on my room’s balcony and code.

There’s a couple here with an infant, pushed around in a little Jeep stroller. Cute as the dickens. And makes me all the more aware that I’ve left my pregnant wife at home. But Kiara would be bored silly here unless she had someone to hang around with. Maybe next time.

I’m excited for my first tutorial, which starts pretty soon, Mastering Data Structures and References in Perl. This is something that I feel like I understand pretty well, but I don’t really grok. Many of my tutorial and session choices were made with just that in mind,

I do plan to write more about the conference as I go, but I need to set up a better way of doing so. That something else that I’d hoped to do last night instead of sleep. ‘Til later, then.

Uncategorized

Goin’ to OSCON

You probably won’t hear from me again here for a couple days, until I’m able to get hooked up at OSCON. That’s right, I’m goin’ to California. If you’re in San Diego over the next week, drop me a line, maybe we can get together for a beer or coffee or a conference or something.

I’ll be blogging the conference, just cuz. Seems like a better way to take notes than I usually do. It also strikes me as a good excuse to finally play around with blosxom.

Uncategorized

Cirque du Soleil

Cirque du Soleil are coming to Minneapolis. Theirs is a truly phenomenal show. If you ever have the opportunity to see them live, do go. It’s expensive but it’s worth it.

Uncategorized

Structural markup

Day 27: Using Real Headers. In all the training I’ve done, accessibility and otherwise, for some reason this is one of the hardest things to get people to understand: using markup for structure. For example, using headers to identify, well, headers.

I’m not sure why. I think that at first it may be a fear of the default style in most browsers for the <h1> and <h2> elements, but demonstrating how easy it is to use CSS to control the appearance of headers does little to alleviate the hesitation to use those elements.

I think it also has to do with a lack of understanding of how documents — writing — can be structured, period. Years of experience using word processors as little more than typewriters hasn’t helped. Neither have the increasingly powerful desktop publishing and layout features in word processors, emphasizing how a page looks rather than how the content is organized.

Until I learned HTML, I never used the outline features in MS Word, or even the headers or styles. I saw them there, but they never seemed useful or even interesting. Every paper I wrote was an unstructured document. If I decided to change the appearance of the headers, I had to painstakingly change each one and hope that I was consistent. Ugh. HTML opened my eyes, and now every Word doc I create is in outline form.

(I had never used tables in a word processor, either, until I discovered them in HTML. I’m a better word processor user because of my work on the web.)

I’ve found that this has improved my writing, too: structuring a document’s content encourages me to structure my ideas more coherently. In academic papers, in documentation, in white papers . . . in all these things I write, coherent thought and communication are essential. They’re the whole point.

None of this, I’m afraid, helps people understand what seems to me a rather basic concept: using markup for structure. What will it take?

Teaching people to write clearly, I suppose. That’s a good start. I’m not sure how much I agree with what Brendan O’Neill has to say about blog writing, but it is worth consideration. I’ll try to post something more on this soon.

In the meantime, back to the point: use markup for structure. Structure everything you write. The two are intertwined.

« Prev - Next »