Son of A Witch

We recently got done reading Son of a Witch, by Gregory Maguire. It's the second volume in the series The Wicked Years, which starts with Wicked, presenting some of the backstory behind the rather shallow Oz stories, full of their cardboard-cutout evil characters. They are wonderful stories, although Maguire inserts rather raunchy scenes in them at various places, often for no readily discernible reason, as they often contribute nothing to the the plot.

Maguire is obviously a fan of Baum's work, as he is very true to the details provided in the original Oz books, while providing a great deal of depth where Baum leaves out details. Often, however, Baum's easy answers are explained as political lies and propaganda, which is just as delightful.

I highly recommend these books, although you don't want to read them with your kids.

Date::Discordian

Long, long ago, I wrote Date::Discordian. It was my first foray into date/time code, and I did it because I have always been fascinated by non-Gregorian calendars, and the math behind them. Discordian was the obvious place to start because it is one of the very few calendars that is completely predictable. Every year starts and ends on the same day of the week. Every month starts and ends on the same day of the week every year. Oh, and it also had a touch of the absurd to it.

Date::Discordian was based on Date::ICal, which was, at the time, one of the standard "you should use this" Perl date/time modules. There were some incredibly talented people working on Date/Time stuff at the time, one of whom was Dave Rolsky. It became increasingly evident that the state of Date/Time stuff in Perl required a major project to consolidate all the various things that had been done, make them reliable, make them usable, and make them mathematically rigorous. Dave and I started the Perl Datetime Project.

I promptly moved into a series of jobs that didn't involve Perl in any way, and drifted away from the project.

Today I was poking around old svn repos and came across the module, and started looking around. Turns out that there's a new Discordian module, DateTime::Calendar::Discordian, which uses the DateTime stack. It does a lot more than my module does, but it has fewer witty remarks in the comments. I suppose if you're using the Discordian calendar for something serious, you need the new one, but if you're using the Discordian calendar for something serious, chances are you need medical attention.

Anyways, turns out that I'm still listed as a developer (an admin even!) on the Datetime project. That's very generous of Dave, who has written the bulk of the stack. Perhaps I'll inject some of those witty remarks back into the source, and finally retire Date::Discordian.

Sketches

I started sketching, a few months back. Last night, while my Beloved read "Son of a Witch", I listened and sketched whatever was in view. It's relaxing, and I think maybe some of them are not too bad. I put them all on Flickr this morning.

That's Hard

Over the last decade or so, I've had a pretty consistent cycle on learning new technologies, which I'd really like to break out of. I start by believing that something is hard - probably too hard for me to learn. And then ... well, I stay there for an absurdly long time. Later on, usually out of necessity, or just because I'm tired of thinking that it's hard, I force myself try, really hard, even though I probably won't be able to do it. And, lo and behold, it's usually a lot easier than I expected.

One of the unfortunate consequences of this is that I put off, for ridiculously long times, things that I wish to accomplish.

Examples of this include mod_perl, mod_rewrite, C programming, Apache modules, and jQuery. But there are others. I do this a lot.

Two things have brought this starkly to my attention recently. But they both amount to the same thing - complaining about something for *years* before finally doing something about it. And I think that in the geek world we get an awful lot of joy out of complaining about things. But fixing them is so much more full of satisfaction, it's surprising that we often put it off so long.

The first of these was the PHP documentation. I have complained for years that the "how to install php on Apache" documentation was wrong. Yes, I'm ashamed to admit it. Years. Probably five. Perhaps more. And during that whole time, people would come on to the Apache IRC channels, ask "why isn't this working", and I'd say "Because the PHP docs are wrong. Silly PHP people." All that time, of course, I was ignoring a simple truth. I'm one of those PHP people. I use PHP. For most of those years I made my living with PHP. I was one of those annoying people who complains without doing anything. That's embarrassing.

I have repented of my ways, and I'm about half-way through fixing the offending documentation, not only to make it more accurate and less prone to error, but to strengthen the ties between the two communities, which are hurt by jerks like me who spend too much time saying "that's a PHP problem" and too little time saying "let's see how we can fix this."

The other incident is within the Apache HTTPd project. I have been a committer on Apache HTTPd since September 2001, and have done some work on the documentation. But during that time I have said, many times, that I merely write about what other people do, and have declined to accept any responsibility when things don't work quite as people want them to.

Granted, writing Apache module C code is a lot harder than patching Docbook. But it's not impossible. I've just convinced myself that it's Too Hard For Me, even though I wrote the for Nick's excellent Apache Modules book.

Now, I did try once, long ago, to patch one of the Apache modules. mod_access, I believe. And because I had no idea what I was doing - and, more importantly, because I didn't test it once I was done - my change was reverted within five minutes of my committing it. Mostly, I don't talk about that, because that was entirely my fault, and was a stupid mistake. Mistakes are fine. Not testing changes is not excusable.

And I also gave a whiny presentation back in 2006, at ApacheCon in Stuttgart, entitled "Why I Hate Apache." It was amusing, and was better received than it deserved. And, to give credit where it's due, almost all of the things I complained about have since been fixed. None of them were fixed by me. That's a pity. The talk would have been much more effective if it had been accompanied by patches.

But now, because I finally got off my bum and decided to do something, I actually have two changes in Apache, which will be part of the next release. The QSD flag in RewriteRule, and a teensy tweak in mod_autoindex's CSS support (not yet complete). Neither of these are earth-shaking, but they're the first step, I hope, over a hurdle that I set for myself for no particularly good reason.

That was a lot of talk to get to my points.

1) Don't decide that something's too hard before you've tried it. That's not only selling yourself short, it's being selfish with your time and talents.

2) Complaining about stuff without doing anything about it is just adding to the problem. Filing bugs is important and good, but just whining and complaining is a strong disincentive for anyone else to fix it.

So if there's a theme to my goals (resolutions, if you like) for the new year, it's this: Stop complaining and do something about it.

New Year's Goals

I made some resolutions last year, but they were more goals than resolutions. This year, I have a list of rather specific goals - things I want to accomplish in the coming 360 days or so. Some of them are rather vague and unmeasurable, like learning or improving a particular skill, (how do I know when I'm good enough?) while some are pretty specific To-Do items.

As I was writing out this list, I found that more than half of the items involve writing in some way. Most of it is technical writing, but some of it is non-technical. And I've spent much of the last two weeks working on the mod_rewrite-related parts of these goals. I've worked on the Rewrite Flags document, and gone through the module documentation several times, all of which is a prelude to working on the new edition of my book. And I'm now one day behind on modrewrite.org.

Other goals involve tasks around the house, such as putting up yet more shelves for our overflowing book collection, and finally cleaning out the garage and attic. But most of the goals involve, in some way, staring at a computer screen.

No, I'm not going to list the goals. I read somewhere, several times this past year, that announcing your goals is the first step down the road to forgetting about them. And several of the skill-improving goals are skills that I'm a little reticent to admit I haven't already mastered.

← Previous  1 … 3 4 5 6 7 … 385 Next →



About

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