Keeping up with Jim

A few days back my sweetie and I were at Target on a quest for the propane cartridges that fit our grill. Those are hidden away in the sporting goods section, and while we wandered up and down the aisles looking for them, my better half discovered the exercise gizmo department right next door. Uh, oh. We already work out three days a week, but we wanted to get something to help us on the off days. After some deliberation we decided on the TriCord Total Body Workout Kit. It was inexpensive, and since the TriCord TBWK includes three cords of different resistances, it was a TBWK that the two of us could use at the same time. “I’ll use the low-resistance cord, and you can use the medium,” my sweetie said. Perfect! Home came the TriCord.

The box contained four things: three colored rubber tubes with handles on the ends, and a DVD. The DVD is where the real value is for things like this, providing a routine that fits in a known time and provides a more-or-less complete workout.

Monday day we got into workout clothes, broke out the rubber bands, and popped the DVD into the player for the first time. The intro told us how great the product we already owned was, then introduced us to the workout. There were three people to lead us, arrayed on mats at the edge of a pond in a beautiful Japanese garden. Charles was a big muscly man, the guy whose name appears on the box, and who narrated the DVD. Advanced users, he said, people of strength and virtue, should follow him and use the high-resistance band. To his left, Eve and her large breasts were going to pursue a more aerobic workout with the medium-resistance band.

Then there’s Jim. To the instructor’s right was a graying gentleman, not tall, obviously not a “fitness professional”, just a regular guy. “For you losers out there,” Charles explained, “you fat and worthless wastes of oxygen, here’s Jim. Jim will use the lowest-resistance band and cheat on every exercise to make them easier. He will shrink from exerting himself while he ponders what TV shows he’s missing. We paid him in donuts.” (I don’t think that’s quite exactly what Charles said, but you get the idea.)

The introduction ended; the time had come to work out. I took in hand the green medium-resistance band, emulating Eve and her large breasts. I stretched the band a few times, experimentally. Feeling good. After a few limbering-up exercises it was time to start pulling rubber. Clumsily I assumed the first position and stretched along with Chuck, Eve’s breasts, and Jim. So far, they were all doing pretty much the same thing. We moved on to the next exercise. Most exercises involved combining a body motion, like a lunge, with the pulling action, so that the routine had aerobic and resistance training at the same time. Most of the real work in this routine seems to concentrate on arms and shoulders, so I’m not sure about the “Total” in Total Body Workout Kit. Still, I was starting to break a sweat, and there was a long way to go yet.

Soon I abandoned following Eve and turned my gaze to Jim, the gray-haired beer-drinking slacking cheater. The guy like me. The thing is, after a while Jim was kicking my ass, too. “Four more,” Chuck said gently while soothing music played. I made one more attempt to pull both arms up and gave up. One thing I’ll say for the TriCord TBWK, it keeps you honest. I discovered just how much weaker my left arm is. It’s easy to cheat on exercise machines. Yet there was Jim, swinging his arms up, elbows straight, a bored expression on his face.

In the end, Jim kicked my ass and didn’t break a sweat doing it. To be fair I was using a higher-resistance band, and I didn’t have some big muscly guy standing between me and the beautiful woman exercising with me, so I did score a couple of points toward a moral victory. Still, Jim kicked my ass.

But not for long, folks! I’m gunning for Jim and his wooden expression, his deceptively-toned muscles, and his stomach flatter than mine. Someday, when he least expects it, I will triumph over him, and with the green rubber band, to boot!

1

Quest for the Perfect Moon Widget

You may have noticed that as of this moment there are three different moon phase widgets over on the sidebar. None of them are perfect, alas (although the Japanese one is perfectly inscrutable). I looked around at other WordPress widgets and did not find one that gave out all the information I was interested in (especially for the eclipse) and was aesthetically pleasing. I thought I might spend a few hours and make my own.

The design was very simple. I would write a little Flash thingie that read XML data from a server and draw the moon with great precision and also look nice doing it. In addition I could put numerical readouts for more interesting (to me) numbers. Piece of cake.

I started my quest looking for a server with current moon info. The US Naval Observatory has all sorts of lunar data available, presumably calculated with far greater precision that I will ever need. The only problem is, they didn’t have data for right now. They had almanac generators and whatnot, but nothing that I could ping and get back a message that said, “at this moment, the moon is…” I couldn’t find anything at NASA, either. I broadened my search and found that nobody seems to be providing this service. “fine, then,” I thought. “I’ll make my own moon server. I’m sure there are plenty of places I can find algorithms for calculating this stuff.”

Only, that didn’t turn out to be so simple, either. The motion of the moon is incredibly complex. There exists a thing called ELP 2000-85 which is the latest attempt to make the math match what the moon actually does. What the thing does is loop through a set of calculations a bazillion times, each time with tweaked coefficients that make smaller and smaller corrections to the calculation. Compiling the tables of coefficients must have been a real pain in the butt. Refining the tables is still ongoing. The accuracy of your calculation comes down to how many times you loop through the coefficients before you decide that the computer power is better used for something else.

Nobody in their right mind would actually use all the tweaks in the ELP 2000 for anything as simple as a moon phase widget, or, for that matter, a moon landing. Along came a guy named Jean Meeus, who published a book full of handy formulas for calculating where things are going to be. He includes simplifications of the ELP 2000 (only looping through 64 iterations), and while they’re not as precise, they’re pretty damn good. I don’t have that book, either.

Time wasted so far: 3 hours. Completion of widget: 0%

But now my search began to bear fruit. I didn’t have Meeus’ formulas, but other people did, and had written software. I found some open-source code that implemented some of his stuff. Yay! I implemented the code, moving it from c to PHP so I could run it on my server. After a few routine hitches the code was up and running and telling me just where the moon was, relative to the Earth, accurate to a couple of arcseconds.

Time wasted so far: 6 hours. Completion of widget: 5%

Unfortunately, it didn’t tell me anything else. This particular code did not provide any information that required data about the sun — like, say, the phase of the moon. Harrumph. Back to the Internet I went. Fairly quickly I found some different code, this time in JavaScript, that also cited Meeus. It was much, much, simpler, ignoring many of the more difficult-to-calculate corrections, but I figured that the first code sample had already done most of that. It was simply a matter of adding the new code to what I already had. Naturally, despite having the same source reference, all the variable names were completely different.

After a great deal of forensics (that’s a big word for ‘wasted time’) I established which quantities I had accurate versions of and which I still needed to calculate. I got everything set up and ran some tests. The results were not good.

Time wasted so far: 12 hours. Completion of widget: 3%

I had expected some problems like this – perhaps in one body of code an angle was expressed in degrees and the other expected radians. Things like that. I started working through things. Only after another day of head-scratching did I test the code I’d based the second half of my project on. It was wrong. So there I was with Frankenstein’s monster of code sewn together from different sources, and one of the sources was broken before I even started. Sigh. Back to the drawing board.

Time wasted so far: 20 hours. Completion of widget: 2%

I should mention along in here somewhere that there are people who sell moon software for quite a bit of money. My little server could potentially put a dent in their sales by bringing accurate calculations to anyone who asks, but its not really the calculations they are selling, but the application around it. I’m not too worried for them.

Back to the Web and by now I was getting better searches because I knew the key terms to look for. I found two more code examples, both of which take precision to the most extreme available. One is a complete implementation of the ELP 2000-82b. This honey consists of 36 files with tables with hundreds of rows of numbers, and a sample program in Fortran that shows how to use them. For ridiculously accurate calculations, I couldn’t do much better. But… It only calculates the position of the moon, just like the first code I implemented. I’d still need to work out the phases and whatnot.

The other code I found is based on earlier math, but really concentrates on what an observer would see from a given point on the Earth. It includes corrections for the optical effects of the atmosphere and for the friggin’ speed of light. It’s got a lot of stuff I don’t need (other planets, for instance), but it has everything I’d be looking for. The thing is, the code is horrible. It’s in c, and the writer apparently never heard of parameters or returning values. Or structs, or anything else that might help organize the information. It is impossible to read a function and know what it does or where all the numbers it uses come from. It would be a big task to translate the pieces I need, mainly because it’s very difficult to tell which pieces I need. Still, it’s an option.

Time wasted so far: 24 hours. Completion of widget: 3%

And that’s where I stand. You know, maybe I’ll wait until I’m on a boat full of moon geeks. I bet one of them even knows a Web site that gives current moon data.

1

Sunday on the Boardwalk

It was hot in San Jose last Sunday, that uncomfortable sticky sort of hot that saps the will of strong men. My sweetie, fuego and I were feeling lethargic as we made our plans for the day. Two options presented themselves: go to a movie or go over the hill to Santa Cruz. After some muddling around we chose the latter. We loaded up the fnord and made our way south.

Along with half the city who had the same idea. Traffic was heavy; we came to a full stop on the freeway before we even reached highway 17. Once past the summit things loosened up until we reached the outskirts of Santa Cruz itself. Then is was all stop-and-go, inching our way toward the boardwalk. As we crawled along, however, we noted that it was quite a bit cooler on this side, and there was a fresh breeze to keep things reasonable. Finally, finally we paid the fee and parked in one of the big lots. When we parked we were given a bunch of coupons that pretty much offset the cost of parking.

I felt the stress of the traffic lift from my shoulders as I stood in the parking-lot breeze and wondered if I should have brought more clothing. No matter. It was time to have fun. We sauntered onto the boardwalk and took the lay of the land. The first thing one does at those places is pay, and naturally there were enough options for payment that three indecisive people can spend a long time figuring things out. Finally we elected to go with the unlimited ride wristbands, so we could pay once and stop thinking. The deal included tickets that could be redeemed for arcade tokens. It was without a doubt the right choice.

Wristbands on, we decided it was time to do some rollercoasting. The Santa Cruz Boardwalk (“Voted the best seaside amusement park in the world!”) boasts the venerable Giand Dipper, the sixth-oldest roller coaster in the world (according to them; when I checked on the web it came in 12th). It’s been through a major earthquake that flattened much of downtown Santa Cruz and it’s still going strong.

Despite the fierce traffic to reach the park the lines for the rides were not long. Perhaps we had dithered away so much of the day that many people were wrapping up their visits by the time we got there. In any case it wasn’t long before we were seated in one of the cars.

One of the challenges of roller coaster design is keeping the entire ride interesting. The cars are dragged way up, then go through plunges and gyrations, gradually losing energy. This makes the most intense part of the ride near the beginning. The Giant Dipper does a good job of using the last few feet of drop by using them immediately after you get on the ride, before you go way up. We rolled away from the loading area into a pitch-black tunnel as we twisted and turned. Whoa! I wasn’t expecting that!

Then it was up to the top and over, under, and around. Good fun. Not heart-stopping by modern standards, but a whole lot of fun. We got off the ride and fuego sprang for the photo. Good call, fuego!

fuego, my sweetie and me on the Giant Dipper

fuego, my sweetie and me on the Giant Dipper

Then it was bumper cars, a really lame haunted house, and some arcade fun. The love of my life, it seems, spent some time as an arcade rat. “I hope we can find Addams Family Pinball,” she said. We did. We played. Also we played a lot of head-to-head skeeball and rode some other rides. And more bumper cars. Then there was the Fright Walk, a different haunted house that was way better.

Meanwhile fuego was in touch with our cousin and her husband, who live nearby, about meeting up for drinks and a snack after we were done. “A couple more hours,” he told them once, then three hours later, “it looks like we’re finishing up.” It turned out we weren’t.

Naturally we had to have some of the “food” available. My sweetie had long ago learned that I had never had a deep-fried twinkie, and she was not going to let the opportunity pass. We watched as the guy impaled a twinkie, dipped it in heavy batter, and dropped it in the fryer. Wow. We split a single calorie bomb three ways, and I sampled with strawberry syrup and the traditional chocolate. It was everything I imagined it would be, and then some.

We had finished up with Family Guy pinball and fuego and I were in an air hockey showdown when the announcement came that the park was closing. We had defeated Santa Cruz boardwalk. Hooray us! Tired and happy we made the long trek back to the car, now alone in the vast parking lot, and drove to the brew pub where we were to meet the others. It was closed, but there was a crepe place called “The Crepe Place” that was still open. We sat and had a great time chatting and catching up, then it was time to drive through deserted streets back over the mountains and home.

It was a very good day.

What’s with all the moon stuff?

I have added a couple of widgets over in the sidebar that show the phase of the moon. Why? Because when the moon gets back to new, I’ll be somewhere in the ocean around Iwo Jima, staring straight up and burning my eyeballs as the moon passes between them and the sun. Total Eclipse of the Sun, baby, and I’ll be there!

I added two different moon phase thingies because one was more aesthetically pleasing, while the other held more cultural interest. If you hold the mouse over the Japanese characters, you will be given important information about how to carry out your day. If you can figure out what it means.

I’ll be writing more about this adventure as I gear up for the cruise. A boat full of astronomy geeks! Woo hoo!

Shadow Gate

“Uh, oh,” I thought as I picked up Shadow Gate. I’d bought it in a hurry while at the Atlanta airport, and I did not look closely at the cover. It was a big fat fantasy novel and I like those, especially when traveling. I didn’t read it on the plane, however, and so it was a few days ago that I pulled it off the shelf of books waiting to be read. That’s when I looked more closely at the cover. “Book two of Crossroads,” the fine print on the cover said. Crap.

“Uh, oh,” I said again as I flipped through the pages in front. There was a map. Not generally a good sign. With trepidation, I began to read.

Things started off well. I met a character who, apparently, had been killed in book one. Only, she’s what you might call “sort of dead”; she can walk around and talk to people and in fact can kick some pretty serious ass. She has become a Guardian, a person with great power and the responsibility to apportion justice in the land. One of the central themes of the book, and one I enjoyed exploring quite a lot, is what happens when those given the power to maintain justice turn around and misuse it instead. This gives all the adventuring and conflict a higher purpose, and many of the people we like are struggling with the issues, and sometimes making decisions that are morally questionable. Add cultural differences and you’ve got quite a yummy stew of ideas.

But let’s get to those two uh-oh’s, warning instincts that I have come to trust. I’ll start with the simplest one: the map. As a rule I’m suspicious of books with maps, for a couple of reasons. Writers often confuse a big stage with a big story, and have people tramping all over the place for no real reason. My story The Monster Within has travel, but there’s no need of a map. I kept the geography unimportant, and focussed on the people in the places. In this case, I looked at the map a couple of times at the beginning, but then gave up on it for two reasons. First, what little information it did impart it did poorly, second, much of the geography that really mattered for this story was off the edge of the map. As ‘outlanders’ interacted I really wished I knew how their domains connected. Oh, well. Ultimately, the exact locations of things wasn’t that important, and when I mentally threw the map away the reading experience improved.

Then there’s the ‘book two’ business. The cover of this book reads:

Shadow Gate Book Two of Crossroads.

What it should say is

Crossroads: Volume 2 of n – Shadow Gate.

Or, as I think about it more, perhaps the title should be:

Crossroads pages 781-1564

When I buy a book, especially in an airport, I expect a there to be a story contained between the covers. Airport selections are limited, and the chance that I’ve read book one of a series is small. Still, optimistically, I began to read this volume, and at first it seemed like Ms. Elliott was on my side. The mostly-dead character awakens, and we fast-forward ahead about twenty years. Many of the characters that are introduced subsequently weren’t even born when Marit became a Guardian (presumably after the end of the first volume), so I got the feeling that we were off to a nice fresh start. There were cultural traits and slang words that seemed to be taken for granted, but I worked through them. The writer could have done a little better welcoming new readers, but it wasn’t a big deal. Then there was a huge battle that was never depicted, but the aftermath drove much of the narrative. Characters appeared only to disappear again almost instantly. Hm. I started getting the feeling that I was seeing events that had been in book one, but were now being shown again from a very limited perspective.

Still, the narrative chugged along with good characters and big developments portrayed from very human perspectives. Morals and ethics of different cultures contrasted and clashed. The nature of the evil that threatens the land becomes clearer, but is plausibly self-justified. Bad people die. Good people die. The bad guys have the upper hand, but we see all the characters heading for a major confrontation. I was hooked.

It was the promise of the major showdown, and lingering hope that my impression at the start that book two was not merely a continuation of book one that kept me going. (Although, would it kill Ms. Elliott to be more selective with pronouns? To start with “he” after a break and go for a page and a half without naming the character is annoying to say the least.) On I read, and as I learned more about the overall power struggle among the Guardians the more interested I became. This was obviously the grand struggle that would span the entire series, while this book would resolve one specific part of that struggle. Wheels within wheels, I thought. We’ll take care of some personal conflicts, perhaps between Shai (who is shy) and the woman who torments him. Or maybe Kesh and Elidar will realize they have a common goal. There are about a dozen of those threads as we draw to the end of the volume, as well as some extra problems caused by conflict in faraway lands.

There is no ending. No smaller wheels within the larger plot. This is not a story, but an episode. It even ends with a cliffhanger. Once again I have shelled out my hard-earned cash to read a story only to discover at the end that I have merely invested in an installment, and I will have to purchase an unknown number of volumes over an unknown number of years to get to the end of the story. I could have set the book down at any point and be no worse off. Books like this should say in big letters: CONTAINS NO ENDING!

Note to Kate Elliott: Let me know when the entire series is published. I liked your writing enough to give the story a try — once you’ve finished writing it.

Note: if you use the above link to buy this book (or a Kindle, or a new car), I get a kickback.

2

Please don’t adjust your set…

Just playing around with background images. You know, for something memorable. Branding. Something that people will look at and say “Now that’s Muddled Ramblings and Half-baked Ideas!” Or, failing that, “Aaaaaaaaaaaaaaaaaargggggggghhhhhh!”

Although my sweetie likes this background, I expect it will be temporary. Let me know what you think!

The Spam Index of Popularity

If the popularity of figures in the entertainment industry is proportional to the number of times a person appears in Internet spam, then Megan Fox and Miley Cyrus are currently at the top of the heap. I’m not sure who either of those people is, but their names appear before the word “nude” more than any others who appear in the (pre-filtered) spam comments for this blog.

Their agents should be right on top of this trend, and get them the big bucks.

Awkwardlicious

The road trip was a success! Two went south, and three came back. In the meantime we saw a not-very-rough rough cut of “this is Awkward”, the latest Brat?i Síg?í production. (Although, I must admit my participation in this one was more limited.)

I must say the cut looked pretty good! Our editor made a decision that was a bit out of the box but worked really well, and the assembled audience laughed out loud often. Perhaps they were an easy crowd since many of them worked on the flick, but much of the laughter was genuine. I was among the laughers.

Between screenings of “This is Awkward” the old classic “Pirates of the White Sand” played (an edit I had not seen before), and also pulled in its share of chuckles and guffaws. Overall, it was a successful evening for our little production.

The trip back north included the other half of the Seeger Bros., who is visiting here in San Jose for a few days. Maybe we can put together a movie!

1

Could it be? Another road trip already!

Yep, tomorrow we load up the other car for a trip back down to Los Angeles. The event: a screening of This is Awkward, a series of four very short films directed by fuego, and executed by an assemblage of film professionals. You might have heard about it somewhere. My sweetie and I starred in one of them, and it was a hoot! Another one is based on a story I wrote and adapted for the silver screen (which was then re-adapted to the circumstances of the location). I’ve heard interesting stories about the other scenes as well.

So, if you’re in the LA area on Tuesday, June 23rd, I’d love to see you at the premiere! Things start at 3 p.m. and will continue from there. Drop me a line if you want directions.

1

A Science Question

While living in Prague I probably drank more tap water than anyone else I knew, but I drank plenty of bottled water as well. Since I was a) environmentally aware and b) lazy, I ended up with a large collection of bottles waiting to go to the recycling bin up the road. After a while I began to observe a pattern, and as I packed up the apartment to move back to the states I took a brief timeout to document the phenomenon. Please observe exhibit A:

shrinking bottles

The bottle on the left is the youngest, the oldest is on the right. The burning question for today is, “why are the bottles shrinking over time?” All the bottles were stored with lids on, some with dribbles of water in them. Sometimes the water had been carbonated, other times not. Bottles do not puff back up when the apartment is particularly warm, nor can I find any other thermal explanation that would not even out over time. Age (on the scale of months) is definitively a factor.

So what’s going on? Is there a chemical reaction with the plastic that is reducing the number of gas molecules inside? Is there a sort of one-way membrane effect going on that lets air molecules out but not back in? Most likely the pressure is lower in the bottles than outside, due to the plastic wanting to revert to its original shape — unless there’s something about plastic that makes it want to shrivel up like that.

Any chemists out there want to hazard a guess? Physicists? Mechanical engineeers? UFO conspiracy specialists? Science Fiction writers? I’ll listen to any theory you care to offer.

Filming Murder, Sincerely

It was a gray Saturday morning in Los Angeles, with the occasional misty rain. My costar and I were running a bit late for our breakfast meet-up with the director, a delay caused largely by my inability to get out of the hotel room with everything I needed. We were both groggy, having not slept well despite a comfortable bed at the Hilton (a hotel whose motto should be “we charge extra for that”). Chalk it up to anticipation for the events of the day.

Yours Truly stretching his acting ability to the limits by putting on shoes

Yours Truly stretching his acting ability to the limits by putting on shoes

Breakfast was nonetheless pleasant. Eggs over-easy (flipped too soon) and decent pancakes at a place called Twain’s on Ventura Boulevard. fuego, Harlean, and I managed to communicate while blessed caffeine worked its magic. fuego told us stories from the previous days of shooting. I’m really looking forward to seeing the other episodes — especially the one I wrote. Eventually fuego had to go pick up our Director of Photography and a bunch of gear. He left us with a map to the day’s location and an hour to kill.

Getting a shot of the prop script over my shoulder

Getting a shot of the prop script over my shoulder

The location was a beautiful house overlooking Universal City. (The sound guy later pointed out the set for ‘Desperate Housewives’ below us.) The crew set to work and they all seemed competent as far as I could tell. While this was not nearly the size of production as “Moonlight Sonata” there was still plenty of stuff to set up. Once again we were shooting on a Red, although the lens kit and lighting package were more modest. The sound guy and his assistant were on the ball. While that was going on my costar/make-up tech went to work on my face. Soon we were ready to shoot.

fuego frames the shot of the producer coming up the stairs

fuego frames the shot of the producer coming up the stairs

The first few shots had no dialog, which was good. It gave me a chance to get comfortable and get in the flow of things. At the same time, I haven’t the slightest idea how my facial expressions work onscreen. Too much? Not enough? I guess I’ll know soon. In the end there were quite a few shots to put the action together, getting me from reading a screenplay up the stairs with an extension cord and into the bathroom where my wife was bathing.

There was a rather long break while the crew put gels over the windows in the bathroom to adjust the light color. Meanwhile Harlean took care of her own makeup and we went over our newly-redrafted lines. (The original lines were overtaken by events, particularly the time of day we could shoot.) Finally everything was ready, the special effects guy and his helper showed up and went to work, and we broke for lunch. At that point I was ready to just get going with the dialog, but the ribs were delicious.

Tinting the bathroom windows.

Tinting the bathroom windows.

The afternoon went smoothly, as far as I could tell. Nobody complained about my acting to my face; and Harlean did a great job — such a good job we added a line to let her exercise her pissed-off/sarcastic vocal tone (the one that will make her all the rage in Hollywood). A blow-dryer took a bath, sparks flew, breakers popped, and I said the line “This is awkward” about a dozen different ways over the course of the shooting.

One thing I can say as an actor, I’m not the sort of guy who complains about doing another take. There’s always something I want to fix about the last performance. In fact, as I sit here now, I think I’d like one more go at the speech that leads up to the blow-dryer toss. I think I could have been a lot more expressive, with more expansive gestures. Generally more mood-swingy, edging toward euphoria.

Preparing the bathtub

Preparing the bathtub

Next time.

The day ended with director, DP, and the two actors enjoying a beer in a Studio City living room, watching the sun set over Universal City. It felt good, having it behind me, having a general feeling that I didn’t mess things up too badly. Over dinner that night we made plans to get back together when a rough edit is done. I wonder what I’ll see.

Note: You can see a bunch more pictures at my gallery.

1

Road Trip Supplies: Then and Now

The following is a simple table of the food I bought for my solo road trip a few weeks ago and the food my sweetie and I packed for our trip together this weekend. You may draw your own conclusions:

Solo With my favorite road-trip partner
Beef Jerky Honey-Roasted turkey sandwiches on sourdough mini-baguettes
A big container of cookies A big container of cookies
Half-gallon of cranberry juice A whole bunch of fruit juice boxes
Almonds The same package of almonds
I could swear there was something else baby carrots
grapes
Packed in the grocery bag they came in. Packed in insulated bag with blue ice.
1

Wakey wakey!

This morning I awoke abruptly to the beeping of an alarm clock. There ought to be a law. The annoying sound chased away the dream I was having; my sweetie and I had gone to the moon and we were setting up in a nice little house. I was trying to figure out how to take a video to prove we were there, one that couldn’t be faked. As the beeper beeped I was trying to juggle in low gravity. It wasn’t going well.

Six minutes later, as the snooze alarm tried to convince us that yes, it really was time to get up, I was turning down the opportunity to be a drug distributor in Prague.

Six minutes after that… Let’s just say that there was a lot of snoozing this morning.

Road Trip!

That’s right, kids, tomorrow my sweetie and I will be hitting the open road, just the two of us, a few clothes, and a cooler full of munchies. Good times!

We’re heading down to Los Angeles where my brother is currently hanging out. He was working on a movie, but it got canned, so instead he’s devoting his time to making a series of short films all tied together thematically. My better half and I will play a married couple, in a very very short film based on a story that first appeared right here at Muddled Ramblings and Half-Baked Ideas — though I didn’t write it. (The story was posted as a comment before I moved the blog to the new platform, so it’s in the old comment system.)

fuego and company will also be filming a short based on the original blog episode that inspired the comment, and a couple of other shorts as well. Filming is under way already, but I haven’t heard how it’s going. They have a good crew of people and a good camera, though, so I’m optimistic.

1

Upgrading the Search Function

The other day I wondered how many times I’d used the phrase “You don’t have to thank me” in this blog. No problem, I thought, I’d just pop the phrase into the search feature over on the sidebar and let it tell me.

The only problem was, it didn’t give a very good answer. It also included partial matches, which would have been all right if it had either a) ranked the results, or b) shown a little excerpt of the resulting matches with the searched-upon words emphasized. The built-in WordPress search function does neither. Off I went to find alternatives.

One option was to hook up Google to do the search. That’s a pretty good option from a functional standpoint; nobody is as good at ranking results and showing you a bit to help you with your decision. The downside is that it’s pretty ugly. My (very) brief search made it appear that I wouldn’t be able to do much with the results. My search for Google-based solutions was brief because I found another WordPress plugin called “Better Search” which did in fact return ranked answers. Hooray!

Only, not so fast, Sparky. The plugin is still young, and doesn’t provide much in the way of customizing the look of the results, either. The good news was that the source code is right there and I thought it wouldn’t be too tough to rearrange things a bit to make it much easier to customize. The plugin author had already done the mysterious, magical steps to allow a template file to work, all that was left was giving the template the power. So I did that, and sharpened up some PHP skills while I was at it. Now if you do a search, you will see that the results include a relevance ranking. The result page is still pretty ugly, because I haven’t finished tweaking my new template for my site. (I tried to start with a general one that would be useful to others.)

Then, I typed “You don’t have to thank me” into the search box and got… No matches found. What? I know I’ve used that phrase before. I tried removing the word with the apostrophe, in case that had something to do with it. Nope. Eventually I got down to the word “thank”. No matches.

Here’s the thing: MySQL, the database I use, has built this fancy full-text matching thing (which I learned an awful lot about yesterday), but they’ve optimized it for huge sites. There is a list of common words they throw out to reduce the number of matches. Six of those words are “you”, “don’t”, “have”, “to”, “thank”, and “me”. Wow. To make things worse, I can’t change the list. Only the big boys who have their own servers can control the list. Those are the ones least likely to want to change the list, but there you go.

There were some other annoying “features” of the MySQL Full-Text search (exact phrase matching doesn’t work like you’d think, for instance), but some of those I suspect are the result of my provider using an older version of the database.

Now, I can put up with the limits of MySQL (this morning i was coding in my head the algorithm for showing an excerpt with emphasis), or shift focus and let the Goog or it’s new arch-rival bing do the heavy lifting – and the formatting. Why can’t this stuff just be easy?

Edited to Add: Well, that blog episode went obsolete in a hurry. I’m currently using a Google sidebar thingie that is visually acceptable (and adaptable). Play around with it!

There is a feature of the Better Search plugin I was using that I will miss – it kept track of recent searches and produced one-click links in a cloud that showed popularity. I guess it’s not a major loss, since not that many people search here, but I liked it.

1