Search-building: custom or Google

Until earlier this week, I had a lousy site search in place. It was one of Google’s Custom Search Engines, barely configured and only on its own page, due to it’s hefty (and blocking!) JavaScript. I’d long since disabled WordPress’s search since my stories aren’t being run in WordPress, and I didn’t feel like trying to chew on the internal search mechanisms to include the stories.

Last week, I started playing around with a project to create my own (Python) site search, including a crawler and Whoosh-based search. I’d seen the implementation of a Lucene search in Zend go fairly easy-peasy, and liked the idea of a self-hosted search.

Problem is–well, one of the problems is–the crawl time for a site with 1200 posts (most of which are low-priority) is a deal-breaker on a shared hosting provider. It takes far longer than 5 minutes just to collect the links, even with multiple threads. Add the parse time to get indexable content for 1200 pages, and I was stuck contemplating how to crawl and index the site in parts.

This sounds like a great, fun, project. …Except that it’s already been done and I have other things I’d rather be doing. Google did it; their index for my site updates surprisingly quickly and doesn’t make me afraid that Dreamhost will smite me. (I’ve been with Dreamhost for several years now, and while I’ve learned how to properly deploy a site since moving here from… Brinkster, was it?, I don’t relish the idea of learning a new environment for all the stuff I run here.)

So instead of the 4-5 hours I’d spent screwing with the Ikea-esque assembly of a site crawler and search, I spent two this week really making Google’s Custom Search Engine (CSE) work for me. Yes, there are ads. Yes, it’s not a solution that I own. (Then again, neither is my email, in that sense.)
Continue reading Search-building: custom or Google

Weekend linkage

Just a few, since I’m so far behind on my reading (down to 425 unread items!) and I just posted a set on Friday. Enjoy.

Chapter 10 of Witches posted!

Chapter 10, “Opening Salvo” is posted:

“What brings you to my world, little bug?” the colorful woman asked Hardi and Robert. Her glance flitted between both of them before settling on Hardi. “Well?” she cooed, head tilting. Her accent was much lighter than Lucia’s.

Hardi straightened in her seat. “We’re looking for the people who have been attacking your world.” She paused briefly as six guards entered and took up positions in the corners and framing the door. “Are you hiding them here?”

Not much longer on Witches–just a few more chapters. I’ll probably spend some time with my lovely arties before starting another close-ended piece like Witches. I miss the more free-form style of the Transhuman Congress (as well as Lina and Harold, of course).

I had a pretty annoying blood donating experience this weekend. I had about 35-45 minutes in which to get the donation done, which is typically plenty of time for 09:00 on a Saturday. I ended up with a nervously chatty nurse, though, and was too nice to hurry her along. We talked about dreads and marrying white guys and biracial babies. Before I took my current gig, I could have said that it’s not the kind of discussion I had every day.

I have to admit, however, my politeness was stretched to its limit when she hit my vein wall, kept screwing with the tape, and had to rotate the needle for 10 seconds to relieve the pressure. Or when she scrubbed vigorously around the wound to try to clean off the iodine… which pulled at the hole in my arm. Or when the gauze got stuck (thanks to the iodine) to the hole in my arm, and she tried to pull it free in the wrong direction.

Momentary discomfort, luckily. If I’d also suffered from my usual light-headedness, I’d’ve probably been more… perturbed, but I preloaded with Sprite beforehand. Bleh, HFCS. Took an hour and ten minutes total, which was disappointing.

Any lingering discomfort was forgotten when one of the role-playing geeks (a former military field medic) showed me a video of an intraosseous infusion:

Um, yeah. Ow.

Weekly linkage

This week’s internet cruising:

  • A Beginner’s Guide to Website Feedback – If I can wrap up and launch this damn character sheet app, stuff in this post will be handy for when it betas, especially the surveying. I suspect the LARPing audience will be sufficiently… opinionated to speak on it.
  • Six Useful CSS3 Tools – Some of these are pretty slick, if you're moving into CSS3 development.
  • Sharpening the blade, part MCMXVII: Nine Amazing Hours. – This is incredibly cool, and I plan to use it for a bit and see if it helps me focus.
  • Amazing Examples of Paper Art – I almost hate to link to this, in case Greg gets ideas for elaborate projects.
  • Python Business Rules Engine – Lott raises a good point about handling complex business rules, in that it's (often) cleaner and simpler to go ahead and incorporate complex business rules into the app itself rather than writing a parser to allow external entry. In my case, I have such a small user base on the side that would have been entering these rules that it's just as fine for me to do a small code release for any games added with these validation rules in them.
  • YouTube – Turkish male belly dancer "diva" – Major glitter warning, here. Major. This may be the first male bellydancer I've ever seen who wasn't mocking dancing, and he's very good. I don't like the music or the dissolve and swirling transitions, though. Or the glitter. That's a lot of glitter.
  • Amazon S3 and CloudFront with WordPress and DreamHost | .larre – This is quite a cool plugin. Not the quickest to set up with CloudFront, minifying, and combining, but worth the effort, even just for the hell of it.
  • Girl quits her job on dry erase board, emails entire office – This is apparently fake, but a cute read anyway. I’d advise against airing dirty laundry like that, though.

“Pursuit” posted and character sheet news

Chapter 9 of Witches, “Pursuit” is live. Actually, it went live yesterday, I just neglected to post here for it. I was busy having my ass handed to me by some type of hydra. Damn D & D 4e hydras. It had seven heads by the end.

“But how do we get you out of here without anyone noticing?” Robert asked absently. Satisfied that her hand was fine, he pulled his hands back out of the attached gloves.

Hardi tamped down a grin of victory. “Nice and easy. You’re going to create a distraction, and we’re going to slip out.”

A small smile played on his lips as he asked, “What kind of distraction?”

No links this week. I’ve been planning hard on the Geist Character Sheet Manager, working with Greg to come up with and prioritize requirements. I’m playing around with the Agile “story” idea. It seems like a good informal way to gather reqs, though I’ve done most of the generation of the ideas. Greg should really be doing the bulk of them, since he’s a prime example of a user on both the game manager and character sheet user sides. He’s been great about helping come up with cases that fit World of Darkness games I don’t play and giving specific examples of things I have to account for.

I’ve got a preliminary feature set for my first iteration of the game manager side, and boy, did it break my proposed timeline. Depending on what my priority cut-off is, it may be late September to mid-October before it’s ready as an alpha. Some things may turn out to be simpler to implement than I’m currently estimate. For instance, either in this iteration or the next, I’ll need to write a rules system to allow the game manager to put in everything from prerequisites to conditional dot cost changes. I’m looking forward to designing and implementing that.

And so I keep moving.