Wednesday, October 29, 2008

Another Trail Idea Comes to Life

One of the ideas I had while on my thru-hike earlier this year consisted of an dramatically expanded roll for what I've called "user groups." They've existed on Atlas Quest from the very beginning--there have always been a few special groups such as administrators and moderators. That's how AQ is able to figure out which parts of the site you should be able to access and which parts you shouldn't. Later, I added a premium member group, which was the first group anyone could get into--if they chose to. There's also been a special group I've called the "Everybody" group that all members are always in. It made some of the database queries easier to work with when I could use a regular join on two tables instead of a left join. Basically, it was a group of convenience, but was a group that every member on Atlas Quest could be in and never leave.

Over the years, I've created a handful of other special groups for various purposes. Some are known, some are up to devious things and are (or used to be) a secret. Admins had the power to create groups and add or remove people from specific groups.

But while hiking the trail, it occurred to me--wouldn't it be nice if anyone could create their own special little groups for whatever devious reasons they may have? There's not any particular reason the functionality needs to be limited to just admins. There would be a lot of stuff that needs to be automated, so it wasn't particularly high on my list of priorities, but it did go on my to-do list. As a first step to a more dramatic role for user groups, I added the ability to restrict boxes to specific groups one of those nights when Amanda was around on the trail with the laptop.

That was just the first indication of a much bigger role for groups, though, and I've finally got the vision I had in mind implemented. I updated it tonight, and my gut instinct is that most people will likely hate it. At least at first. =)

It's different. All boards, for instance, are now part of specific groups. Those "categories" that they used to be divided in are completely gone. They're assigned to specific groups instead, and unless you're a member of the group, it's as if those boards don't even exist.

Not going to South America? Never plan to go to South America? You could care less about anything that has to do with South America? Not a problem--just don't join the South America group and you won't see any boards or posts about South America.

Chat rooms are also associated with specific groups. You can't use a chat room unless you're a member of the group it's a part of. Most groups won't have them--chat rooms can be particularly hard on the server to allowing dedicated chat rooms for each group isn't practical at the moment.

You can find groups using the Manage Groups link, which is at the bottom of the "People" menu in the menu bar.

I've tried to add groups as appropriate, mostly based on the favorite boards you've selected. If you have a board marked as a favorite, I made sure you were automatically in the particular group required to keep seeing those boards. For most people, this includes the Hobby Box, the United States Letterboxing, Yakking It Up, and the Non-Traditional Boxes groups.

There are several different types of groups with various characteristics. The public groups are open for anyone to join or leave at whim. Protected and private groups require an invite to join, and you'll only see those in your groups if you're actually a member. The main difference between those two is that with a protected group, anyone already in the group is allowed to invite other in, while with a private group, only the group admins are allowed to invite others into the group.

There are two other group types that are mainly for AQ's purposes. There's a "system" group, which typically include groups that AQ itself pulls people into or out of as necessary. This would include the "everybody" group (which everyone is automatically in, whether you like it or not!) and the "premium members" group (which AQ will automatically put you in when you sign up for premium membership, and automatically take you out of when membership expires).

There's also a "hidden" group, which AQ uses to keep track of some of your settings. You won't see these. Each type of non-traditional box, for instance, is a hidden group, and you can join or leave the group through your Misceallenous Preferences. For all practical purposes, however, it's like those groups don't even exist. They're mostly for "accounting" purposes rather than being used directly.

The main types you need to be aware of are the public, protected, and private groups, because those are the ones that you and any member on Atlas Quest is able to create for yourself. If you love Harry Potter and want a special group just for other Harry Potter groups, you can create one, then create a board for it, then let the world in on your humble little group.

If you want to plot a surprise birthday party, you can create a private group and invite your co-conspirators to plot their attack on you private board. You can even list boxes that only your other co-conspirators can access.

Only protected and private groups can be used as restrictions for boxes. It didn't make much sense to me to restrict boxes to a public group that anyone who wanted to could join anyhow. So in these example, you couldn't restrict a box to just other Harry Potter fans--unless you restricted the entire group by turning it private or protected.

If this all sounds confusing, it's because it is. Honestly, I expect most people to hate the changes at first, so I'll apologize for that in advance. Specific boards might be hard to find at first. You'll probably want to tweak your membership in various groups to better suit your needs.

Here's one search you might want to save as a favorite. This search displays all groups that you can access--which is basically a group that's public or one that you're a member of. You can save it as a favorite search just like you would with regular box searches, then you can get notifications of when new (public) groups are created.

If you have an interest or wanted a board that I wasn't willing to create in the past, it's wide open now!

This is a pretty extensive update. I probably broke a few things (in fact, it's taken me what seems like forever to write this because I keep stopping to fix a new bug that pops up), and I'll fix them when I wake up in the morning. =)

Friday, October 24, 2008

Help Your Fellow Letterboxers!

Curse my absent-minded ways! I should have posted this long ago and I totally spaced it. *slap self* Wasn't until I started catching up on old e-mails I noticed this poor note with the time ticking away.

So here's the story, in case you missed it. The LUNA Crew has fallen into some tough times. Emotional, economical, you name it, they've suffered. Brandy posted details about their hardships and about a fundraising party to help out. Brandy's offered to carve pumpkins to help out, although I'm afraid I might be posting this a bit too late at this point. If you're interested, though, please contact her ASAP!

If there's anything you can do to help out, let Brandy know. She'll vouch for me--I'm a terrible messenger. You definitely don't want to give messages to me! =)

To borrow and twist a phrase from Mark, get out and save a letterboxer!

Wednesday, October 15, 2008

Calendars and Eggnog

Walking home this evening, I stopped at the grocery store to pick up some milk. I got milk, but they also had eggnog, so I picked that up too. I know, it's ethically questionable--eggnog before Halloween?! Aren't there laws against that? None that I'm aware of, and I decided to take advantage of the situation.

Upon returning home, there was a BIG box of calendars waiting for me. Alas, it appears to be only one of at least two boxes, since I ordered many more calendars than were in this particular box.

But that's no reason for me to sit on them and do nothing! So I printed out all the orders, slapped on addresses, and filled out as many of the orders as I could--twenty of them, to be exact. The first 20 folks who ordered and paid for their calendars--your order is ready to drop in the mail tomorrow (Thursday). How do you know if your order is one of the lucky ones? You can see the order status of your order. If it's listed as "shipped," your order will be in the mail in a few more hours. (If your order says "Payment Due," get your payments in! I won't mail your calendar if I haven't received payment!)

Seeing as one box of calendars have arrived, a sister box or two should show up soon and I'll fill the rest of the orders (the paid ones, at least!) then.

Saturday, October 04, 2008

Wanna Chat?

Chat rooms have invaded Atlas Quest! Addicting, so terribly, terribly addicting. For the past week or so, premium members have been chatting it up in the new chat rooms I've been developing, testing the system, tweaking, testing some more, tweaking some more.... And I've finally opened it for the world at large. Or rather, any registered Atlas Quest member. If you aren't a member, you'll have to use chat rooms somewhere else. Or just create an account--you'll be glad you did! I hope you will be glad, at least. =)

You can find a link to the chat rooms under the 'Toolbox' menubar option.

There are some important caveats you should know about. First, if you're using IE6--and I checked a couple of days ago, and about 15% of you out there are still using IE6--you *can* use the chat rooms, but it's ugly, hard to use, and not recommended. I'd suggest either upgrading to IE7 or start using the Firebox browser (my personal favorite!)

Second, these chat rooms can easily overload the server if too many people start using them at once, so there are limits to how many people are allowed to use it at once: 15 people per room or 50 people in all rooms. Not to mention that you can only use one chat room at a time yourself. The limits may be extended in the future, but it is entirely possible when there's a lot of chatting going on, you may have to wait your turn to get into a room. The current limits should be sufficient for everyone most of the time, but during really busy times--you could hit against them. Just try again later.

The chat rooms are wonderful, though. There's instant gratification like you'll find nowhere else on Atlas Quest. Meet with friends, troubleshoot problems, have a sing-along, or discuss issues in a much more intimate setting than the message boards. You're still expected to conduct yourself properly (the terms of service still apply even in the chat rooms), but nobody outside a given room will be able to read your chat logs later. Well, admins can if a problem is brought to their attention, but we really don't want to.

So when you get a chance, drop by a chat room and meet your fellow letterboxers. You might have fun! =)

Main Chat Room Page
Chat Room FAQs

Friday, October 03, 2008

Last Call For Calendars!

Today's the last day to order your official 2009 letterboxing calendar! I'll be taking down the AQ Marketplace tomorrow (Saturday) morning when I wake up, so if you want your calendars at the cheapest prices available, no more dawdling. Get your orders in today! If you want to pay with a personal check--that's fine--the check can arrive next week, but the order must be in the system now.

Additionally, I got an e-mail from Lulu.com yesterday saying they will be raising their prices later this month due to the higher cost of materials for printing. The e-mail focused on the price of self-published books so I'm not sure what the impact to calendars will be, but there almost certainly will be one. The point being, the longer you wait to order, the more it will cost. Order now and save! =)

Tuesday, September 30, 2008

Get Your Calendars!

Version 2.0 of the 2009 letterboxing calendar arrived this afternoon, and it is good! =) The colors looked good, the credits are legible, and the calendar is READY to order in mass quantities!

I'll continue taking orders for them through Friday then put in the bulk order for them all. So if you want the lowest prices possible on the calendar, put your order in by Friday. After that, calendars will still be available for purchase, but only through the Lulu.com website which will cost more than if you order it through me.

I've even ordered new address labels that will go with the calendars I'll ship this year. Okay, not particularly exciting, I'm sure, but hey--I can stop writing the return address by hand so I'm excited about it. =)

Happy trails!

Tuesday, September 23, 2008

Letterboxing Calendars!

I hold in my hands, or rather, I was holding in my hands (I'm typing now), a copy of the Official Atlas Quest 2009 Letterboxing Calendar. It's a beautiful thing, but as always, there's room for improvement. It was hard to read where the photo was taken and who took it on two of the months, so I tweaked that a bit. And I didn't like how the background color in one of the months turned out on paper, so I tweaked that too.

But despite those minor irritations, I like the calendar. =)

I've put in an order for another copy of the calendar--just one--to make sure the changes look good on the final product. I doubt I'll have any issue with it, so I'm going to open up the AQ Marketplace and officially put the calendars up for sale. I still need to tweak and test a couple of things and make sure nothing has broken since last year, but it should be ready by morning tomorrow when most of you read this message. =)

You can also order the 2009 Thru-Hiking Calendar. All photos taken while on my thru-hike from Key West to Springer Mountain. I don't actually expect to sell enough of these to get a bulk discount, but I don't have to pay for and give out 13 calendars for free either so it kind of evens out. =)

You can also order AQ patches at the same time you order calendars, but please note that I do not intend to ship the patches until the calendars that go with them arrive. (If you order just patches, I'll ship those immediately since I have those right now, but in that case, you're better off using the patch page to order them. Shipping is cheaper there since the shopping cart assumes I'll have to ship a calendar which would be more expensive.)

A couple of things to note: The calendars won't be in your hands until mid-October at best. Hopefully by the end of the October at worst. Seems like every year people put in orders and a couple of people later contact me asking what happened to them. I collect the orders up front ahead of time so I can buy them all in bulk. The calendars must then be printed and shipped to me--a process that typically takes two or three weeks. Once I get the calendars in my own hands, I mail them out as quickly as possible to you. The advantage for you--by buying the calendars in bulk, it's cheaper than being able to buy it directly off of Lulu.com (which is where I have them printed). And it's good for me since I have to give away 13 calendars for free, I end up saving money myself since those free calendars are included in the order and also get the bulk discount. (To be perfectly honest, that's the main reason I even handle the calendars myself--it ultimately saves me money in the long run too!)

So when you put in your order, keep in mind that the calendars likely won't reach you until mid to late October. And that's just an estimate--if the calendars take unusually long to reach me, it could even be later.

For those of you who had a photo used in the calendar--JBBK, Funhog, Music Woman, Ukusa, Benetti's Defense, firefighterfamily, Sandibox, Eye Wanitt, TulsaGal, Cabin Clan, ArtGekko, roseislandfans, and yachtygirl--congrats! =) The photos are beautiful! If you want more than the free calendar you'll be receiving, go ahead and put in an order just like anyone else. Do NOT include your free calendar in that order, however. AQ isn't smart enough to know who is getting a free calendar and will charge you for anything you run through the ordering process. I'll handle the free calendars separately.

And.... if you missed out on submitting photos for this year, I'm already accepting submissions for the 2010 letterboxing calendar. Keep your camera and your eyes ready!

For all things about the calendar, check out the Project X link under the Toolbox menubar option.

Wednesday, September 17, 2008

FullText Searches

Good news, folks! But before I get to that.... you're probably wondering, "What the heck is a full text search?" Good question!

It involves a special type of index in the database that will take a long string of text, figure out each and every word that's used it in, then create a massive index so when you try to do a search for all posts with the words "deep dark secrets," the database can look up each of those words in the index and figure out--practically instantly--exactly which posts match the search. There's a lot of sophisticated stuff going on there.

And that's where the good news comes in--I finally broke down and figured out how to personalize the index specifically to Atlas Quest. You see, all this time, I've just been using the defaults. Those defaults include the minimum length a word must be in order to be indexed (four) and the list of stopwords (common words that aren't worth indexing at all such as "which" or "that").

I hadn't been messing around with the defaults since I thought it would require tweaking the code for the database itself and recompile--something I so did not want to do and could seriously screw things up in a very big way.

Turns out, that's not the case. (Well, actually, certain settings do require this, but the minimum word length, maximum word length, and stopword list does not.) So this evening, I changed the minimum word length to 3 and the maximum word length to 10. I took the already existing stopword list and added a few commonly searched for terms that don't seem to be particularly useful but can bog the database down with especially common words.

Then I rebuilt the indexes and presto! Most three letter words are now searchable. You can search for them in the message boards, in clues, and wherever word-based searches are allowed. Very nice. I still need to tweak some of the code on Atlas Quest before the change is complete, but already the searches should be much more useful and powerful. You can complete full searches on three letter words such as pie, box (though I might add that one to the stoplist), toe, etc. Very nice. *nodding*

In other news.... just before I started doing these tweaks, I happened to noticed that the database grew to 1001.3 megabytes. The big One Gig! Must have happened some time this afternoon.

After I changed the full text index settings and rebuilt the indexes, the database size dropped to 986.76 megabytes. Hmm.... I actually expected it to grow even larger since I'm allowing three letter words to be indexed which wasn't happening before, but I guess the words longer than 10 letters that are not being indexed anymore more than compensated for the difference. *shrug* Plus a handful of words in the stopword list that are no longer being indexed.

In any case, it looks like I shrank the database by several megabytes with my change, so it's under the 1G size now. Give it a week, though, and I bet it'll be above one gigabyte again. The database certainly grows fast enough! I still thought it rather exciting to see the database being over 1G. I've never worked with a 1G database before. =)

So anyhow.... That's the update for tonight. Hope you like it! =)

-- Ryan

Saturday, September 13, 2008

More Message Boards!

For some time now, I've been meaning to add more regional divisions for the message boards. The folks in the southwest requested one almost immediately as soon as the message boards were added and it thrived briefly, but largely lays forgotten for the most part nowadays. But at long last, I've added a bunch of new regions.

There are a couple of reasons for this. First, to help cut down on having people cross-post to multiple states that they're traveling through or all of the neighboring states that an event is being held in. Especially with those little states in the northeast. It allows one to better target the specific audience they want to see their post without having to cross-post.

Second, for some time now, I've been wondering when creating "city-based" boards might be useful. Or at least regions that are smaller than individual states. So there's a place where one can discuss boxes or happenings in Seattle, or Los Angeles, or other large metro areas without having to annoy folks who might live in the state but nowhere near the area being discussed. (A potential issue for folks who live in large states such as California or Texas that span the better part of a thousand miles.)

I haven't created any city-based boards (not yet, at least), but I renamed the existing boards to specify what sort of area the individual boards cover: regional or states. (Or provinces, in the case of Canada.) So later, if or when city-based boards would be useful, I can call the boards "City: Seattle" (or whatever the case may be). It's rather useful to prepend the area being described with what type of area it is since the boards are sorted alphabetically. It lumps all of the regional boards together, and all of the state boards together, and (in the future) all of the city boards together so there isn't a big mash-up of regions, states, and cities randomly thrown together.

So anyhow.... to make a long story short, you'll likely want to check your board settings to make sure you've marked your region as a favorite or ignore those boards that have no interest to you. There are several new regions for the United States, mostly following the lead of the existing regional Yahoo Groups list since that's what everyone's used to already. I also added a few regions in the World Letterboxing category to cover Africa, Central America, South America, Western Europe, and Eastern Europe.

Happy trails!

Friday, September 05, 2008

That was Fast, Part Duo

Now that the message boards are running so incredibly fast, I've started taking a look at some other regularly recorded slow queries and putting some effort into fixing those up. The speed improvements can be just as dramatic, but you won't notice them nearly as much since they tend to be on rarely visited pages or when you run a rarely used command. (Relatively speaking, of course.)

Out of curiosity, I pulled up the stats from last month. In August, the message.html page (used to read or scan multiple messages at a time) was hit 379,824 times while the message.html page (used to read messages one at a time) registered one at a time got 282,833 hits for a total of 662,657 hits.

Almost every one of these page hits would have required at least 1,000 milliseconds to run at any given time, sometimes considerably longer during heavy loads, but lets assume 1,000 milliseconds is a good average. That's one full second.

Which means for the database to generate 662,657 message board pages, it would have required 662,657 seconds to do so. Seeing as there are 60 seconds in a minute, that's equivalent to 11044 minutes. And since there are 60 minutes in an hour, that would be equivalent to 184 hours. And since everyone knows there are 24 hours in a day, that amounts to 7.7 days.

So last month, if the sever on Atlas Quest did nothing but generate those 662,657 pages one at a time, non-stop, it would have taken 7.7 days. There were only 31 days last month. That's a heck of a lot of server time going to the message boards when you consider AQ also needed to serve up clues, profiles, AQ mail, yadda, yadda, yadda. Not surprising really that things were starting to come to a boiling point.

Now the message board pages are disgustingly fast. They seem to be averaging about 10 milliseconds per page, or about 1/100th of a second. So to process 662,657 message board pages would now require about 1.8 hours of processing time.

From 7.7 days to 1.8 hours. Yeah, I'd say that's an improvement. =)

And I should apologize.... That stolen one or two seconds every time you tried to load a new message board page added up to a wasted 7.7 days for you guys. Sitting there waiting for the database to do its thing and figure out which message you were trying to view. So collectively, you all now have an extra 7.6 or so days to FIND MORE LETTERBOXES this month! =) And every month from here on out. You're welcome. ;o)