Riley's making a Peanut Butter and Jelly sandwich, singing "peanut butter jelly time, peanut butter jelly time" as he spreads. I've got The Cure's "Friday I'm in Love" stuck in my head. Abby's affixing suction cupped controller nubs to the face of her iPod Touch to play Lego Harry Potter while ignoring her Cheerios.

I made my coffee this morning. This itself brings many thoughts to mind. Amazon is discontinuing their "subscribe and save" program for the 24-count boxes of K-cups we use to make coffee. They're instead offering to ship 50-count boxes, but I have to respond to their email in 11 days or I won't be able to switch my subscription. On top of that, we've changed the formula for the coffee after it's brewed: Instead of the flavored creamer we were using, I'm adding sugar-free hazelnut Monin, half-and-half, and a pack of Truvia. The box of wooden stirrers I bought is working out well to reduce the churn of spoons through the dishwasher.

My hunt for a good to-do list continues in earnest. I've not been thankful enough about people's suggestions, but I'm still trying them all. I've got 14 apps on my iPhone to track to-dos and they all have some simple failing. Too complicated, lacking a critical feature, ridiculous "imitation leather" styles, no cloud sync... I'm being picky, but I have to because after I choose, is there a way to migrate between any of these apps? No.

I've got D&D this weekend. I have the plot outlined, but I need to flesh out the parts that we'll be playing before game night. In last month's episode, players fled the Canith mine in Eberron's Mournland via flying ship, but the ship was so heavily laden with spoils that it was vulnerable to ground-based war forged reavers. They shot the ship from below with basilisk-mounted ballistas, and nearly caused it to capsize. Homunculi boarded the ship stealthily and tried to escape with a mysterious artifact recovered from the mine. Players returned to a surprisingly bustling marketplace with two missing brothers, and clues as to the direction of an errant sister. An overabundance of goods is expected to be exchanged in the market for gold and better equipment.

I transferred all of my sites to a new server last night. Slicehost has served me well, but the server I've had there for four years is showing its age. I started out with Debian Etch, and recently tried to upgrade to a newer version to get PHP5.3, among other things. While the upgrade was superficially successful, the server had started experiencing issues that required me to restart it very frequently all day yesterday. Since I can't be bothered to babysit the server all the time, it seemed like it was time to do a proper transplant. So I installed Ubuntu Maverick on a new Rackspace Cloud server and migrated everything over in one fell swoop. It was surprisingly not as painful as I expected it to be. But I'm sure there are issues lurking that I'll have to deal with in the next couple days.

This reminds me of Habari. If I've moved all of my servers off of Slicehost, Habari DNS needs to be migrated, too. And that'll coincide nicely with Habari's 0.7 release, which should be at RC3 as of this morning. I'd really like to get this out the door, since it's been much too long in coming. I suspect that 0.8 will be out very quickly after the 0.7 release, at least in relative terms (which could make, what, 8 months quick?). 0.7 has a lot of crazy giant leap improvements over 0.6. I've seen a handful of great sites being built on HEAD, and I'm enthusiastic to see what people do with the new platform.

Work progresses workfully. That's primarily what I need the to-do app for, to keep things straight. Makes me want to work on Stonepath. Makes me want to write TinyTask. Instead, I'll just write a barcamp scheduling app, since as far as I can tell, there aren't any that people have written for deployment, and that can probably be done in a couple of days.

Also this weekend is Girl Scout ice skating night, a probable trip to the tax office, and hopefully a meal or two out of the house with the family. Being cooped up indoors all week takes it's toll.

Now my coffee is over and the kids need to get on the bus.

Man, this week has been difficult. We've had a few server issues with work clients, and I've been playing around with my own servers, and it's just been a mess that I'm hoping will be in the past come next week. But I've learned some lessons, and I figure I might as well pass them on because people are apparently still buying hosting from really bad places.

What do I need? This is the most basic question you need to start asking yourself before you even hunt for hosts. Having some idea of your demands, both from a technical perspective and a logistical perspective can save you some pain in the future. Here are some really basic considerations:

Shared/VPS/Dedicated -- What level of hosting you choose will depend on the types of service you intend to run and the affordability of storage space. Shared hosting is for small, single, low-traffic installations, like a single blog or a low-traffic forum. VPS hosting allows you to interact with the server configuration directly, to host more complex applications and more of them. Dedicated hosting gives you full control over what runs on your system, plus often includes dedicated storage that is many times what you'd get from the other options. But there are more things to consider.

Backup -- Even if you don't get this from the same company as your host, you should consider how you're going to manage it. If you buy a dedicated box to get the 80GB drive, consider where you're going to keep backups of those 80GB. If your host offers backup, all the better, but in many cases you'll need to investigate whether that backup is on a separate box/location (useful) or on the same machine in a different drive (more often than not, useless). Don't rely on assurances that RAID will save you - in my experience RAID is more the cause of problems than the solution.

Transfer -- Be sure that the host meets your needs in terms of data transfer. One of the easiest ways to get charged extra every month is to order a plan that doesn't cover the total amount of data you're going to transfer. The best way to gauge your transfer is to look at your existing transfer usage. The next best way is to guess, but consider that if you're primarily handling photos, videos, or podcast audio, transfer is going to be more of a concern than if you're hosting only text. Also keep in mind that those transfer amounts can be reduced by using a content delivery system like Amazon S3 to store your heavy files, while keeping your site light.

Storage -- Right along with transfer, get a general estimate of how much space you're going to need for storage.

CPU -- Some CMS engines need more juice, especially when they get bigger. If you're using a shared host, there could be hundreds of other sites vying for the CPU's attention. At best, you'll get a fair slice of that CPU time and things will run at a moderate speed. At worst, your host will tell you you're using an unfair amount of CPU time and shut you down. Be aware that CMS packages like Drupal can often be ill-configured to suck down tons more CPU time than your host would like to allot you.

Support -- The oft-forgotten element. For work sites, we need phone support 24x7x365, because when one of our client's site's goes down as a result of a server problem, the only way to get it back online is via the host. If you're doing more than running your own stuff, you're going to want high availability of support staff, at least through a real-time ticket interaction system, but probably via some kind of contractual uptime and support guarantee.

What do I look for? This question is best answered by telling you what to look out for.

Overselling! -- This is the biggest thing to look out for when selecting a host. If the host you're shopping at offers 300GB of storage and a crazy multiple of that of transfer, it's more than likely that they're overselling. Basically what this means is that they take a server with 500GB of storage space on it, and fraction that out to 100 people on the assumption that you'll never use more than 5GB. And those that use a little more just eat into the share that the others on that server aren't using. If everyone on the server used their full allotment of space, the hosting company would go under trying to buy adequate storage to keep up. More likely, they'd just shut your site down citing an ambiguous violation of their terms of service. Happens all the time. Beware!

Live Chat Boxes -- Your only recourse for support should not be via a web-based chat system. In most cases, the person at the other end is fielding incoming requests from 100 other disgruntled customers, and they have their terminal set to respond to all requests with the same pat response.

Software -- Make sure that the server you get has the software you need and that the host both keeps it up to date and knows what they're talking about. For example, if your host doesn't offer PHP5, then they're probably unaware that support for PHP4 has been discontinued (as of mid February). If they do offer PHP5, make sure that then know how to configure its options. Make sure that they have configured the correct drivers for PDO. Make sure that they're running MySQL 5, not 3.x. Simple stuff to check, just call and ask. If they don't know the answer immediately, run away.

Extraneous Junk -- I see a lot of hosting advertised that offers free software or free AdWord ad units if you buy with them. Shouldn't your host be concentrating on giving its clients the best experience and not on how to beef up its affiliate numbers? It's ok if it's offered as an added value after the sale, but avoid hosts that reel you in by offering those special deals up front.

Resellers -- When I'm considering a host, I always to a tracert on their IP address to see what network they're on. You'd be surprised how many "hosting companies" are really some guy renting a dedicated server from someone else and reselling the space. There's nothing wrong with this per se, because they can offer added value if the server is otherwise unmanaged, but if something happens to the physical server, you might be waiting a while for his upstream support to respond.

Control Panels -- Beware when choosing a control panel. Some panels lock you in to certain configurations of software. For example, updating PHP on a server that runs Plesk can be tricky and often ends in violence. CPanel servers often run old versions of Apache, and can't support subversion hosting. Be aware that using a control panel may limit your ability to configure your server manually later, especially if you're using a shared host, where your hosting company will be even less inclined to upgrade things when it affects all clients on the server.

Managed vs unmanaged -- This really only comes into play when you are shopping for a VPS or dedicated box, but essentially if your server is managed - that is, if you're paying for managed service - then you should have a hotline to someone who will do things like install upgrades, hard power reboot, and swap out bad memory. If you pay for managed hosting and they won't install software for you, then you're paying 10 times over what you're actually receiving.

I can tell I'm missing things from this list, but hopefully I'll come back and update it as I think of them. There are so many little questions you can ask that might be important.

It might be helpful to you to tell you what hosts I use. As far as shared hosting, I've come to the conclusion that the big guys are the love/hate of the hosting world. They work great up until they don't. When they stop working great, it's time to move up to a VPS. That said, I have hosting at both Site 5 and Dreamhost. I like Site 5 a little better because their admin is cleaner and their database servers don't feel like their across town from the web server.

In terms of VPS hosting, I lean toward low-support unmanaged hosting, meaning I can't really call anyone when something goes wrong. Nonetheless, I've had interactions with the support folks at both of my primary VPS sites via email and ticket systems, and they're very responsive. Plus, there's been very few reasons to even contact them for tech support, which is much better than other hosts I've been on who go down for no reason and then become mysteriously unavailable to contact. I use Slicehost and VPSLink for VPS hosting, and am very happy with both.

For dedicated hosting, when I was on it, I was very happy with ev1, who have now become part of The Planet. I can't really vouch for them now since they've moved and it's been a while, but I was really happy with both the service I received and the hardware in use. My server was unmanaged, so I was doing all of the software and OS configuration, while they took care of the infrastructure.

Have any good hosts or suggestions for finding them? Tell me why you like your host best. I'm always looking for the best place to host my sites. Hosting these days is such a commodity that there's no reason to stick with a host if they're not providing the service and features that you need.

I've been hosting my own content on the web since, oh, 1995. I've been on many hosts over that time, moving sites from host to host. During that time, I've been on some good hosts and some really awful hosts, and I have really yet to find the ultimate host that I can recommend unreservedly.

Perhaps you have been having sites hosted long enough to have acquired some horror stories. A while back, I had my sites hosted with a company called A World Wide Mall. AWWM was pretty reasonably priced, but as with most hosts, the customer service was pretty lousy. And one day, the guy who ran the service decided to fold up the company and move on without notifying any customers. He just took his datacenter and left. With all of my data. Lovely.

I'm sure that folks have similar (or worse) stories. I have had service where I thought I was getting protected backup and redundant storage, when really it was all on one box and when the box died, I lost a lot. I tried hosting at 1&1 once, and after playing with it, I immediately filled out their cancellation form. Total time with their service: about 5 minutes.

I signed up for VC hosting with TextDrive. That was one of the worst investments I've made. It sounds like a good deal, a fixed high amount for lifetime hosting - for as long as the company is in business. But it seems they put all of their lifetime hosting customers on the same lousy server. Running this site on WordPress took more SQL resources than all but 2 of their lifetime customers. Eventually, they throttled performance, and I was forced to move back to non-shared hosting after paying for that whole lifetime account.

I've got another lifetime account on A Small Orange. Since my experience with TextDrive, I haven't tried to host anything intense there, but it has been doing a good job for what I use it for. But one thing that bugs me about CPanel shared hosting is how it's configured to generate names for everything using your CPanel user account. So all of the database names are prefixed with "owinkler" and all of the database users are prefixed with "owinkler" and the web logins all require the domain name in them. What a mess.

I used to have an account at Dreamhost. It has similar issues, but that's to be expected from shared hosting. Still, the reliability of Dreamhost was fairly poor during my hosting there. You would think that separating the database hosting from teh web hosting would improve performance, but for Dreamhost it caused nothing but problems. There's some kind of latency that you can feel, but would require more investigation to determine the exact cause. Anyway, the database connection is also bothersome because you can't connect directly to it remotely, and that's how I prefer to use MySQL rather than through phpMyAdmin.

My primary hosting takes place with two hosts that use VPS technology. VPS is my preferred hosting technology, after a brief stint with dedicated. Dedicated was too much trouble. VPS is cheaper, easier to upgrade, easier to maintain and backup. The dedicated server was great until things started to go wrong, and then troubleshooting those issues became problematic. With a VPS, if there's an issue, you push a button and you've got backups restored.

UnixShell is the host that I described before, the one that was hosting backups on the same server. I've learned my lesson with that, and now have a separate dedicated service for housing backups. Most other things about UnixShell are decent. The problem with them at the moment is that they aren't offering new hosting accounts. There's something unsettling about a company that offers service but has no room to expand.

SliceHost is the VPS host where this site runs. SliceHost has been great, really. Their backup options are nice, with separate timed snapshots. The administrative interface is nice, too. But once again, it seems like they've got allocation problems.

In SliceHost's case, I couldn't recommend them to a client, because there's no option to install any kind of user-friendly control panel at the VPS-level. You'd have to add email accounts and configure the server entirely form the command line. This is not the best option for clients, although the flexibility of the server is relatively unmatched.

And this is where my issues with VPSes break down. I need something that is flexible enough that I can modify things at the shell, but friendly enough that clients can configure some settings like email and backup via a web interface. Where things usually don't work out with VPS software like Plesk is when Plesk has its own idea of how things are configured, and you need to work out changes around what Plesk requires. Maybe what I need is software that manages some of the server elements, but not all of them.

In any case, these hosts aren't perfect for clients. If something goes wrong, the client has no recourse with the host. Not that I mind getting requests for support, but it's the emergent support that usually happens that makes me think that this isn't the greatest situation. I don't want to get calls in the middle of the night when someone can't figure out why their server can't do one thing or another.

In any case, I've been wondering if there's a host that is supportive of web developers. Something that a developer can tweak, but a client can still easily manipulate for simple every day tasks. It would also be nice if the host would have a management interface that understood the client/contractor relationship.

Any suggestions?