[This entry is a reply to
this comment. For the most part, it stands on its own, but that's the context it was written in.]
Stress
I'm doing my best to take care of myself. Sometimes I just get stressed out anyway. I've been feeling like I'm juggling a bit too much lately, but such is life. Computers, in particular, have a tendency to put me in a negative, critical, frustrated space. I have a lot of fun with them, but it's not uncommon to find myself wresting with them and getting really negative. It can carry over into my non-computer life, and I don't recognize myself. That was one of the big reasons I decided a few years ago that programming wasn't what I wanted to do for a living. I've probably been spending too much time wresting with computers lately. And like a said, juggling a few too many things. I suspect things will settle down soon. I certainly feel more relaxed about everything today than I did last night.
Also, venting about how stupid it seemed to me was just what I needed to accept that it's just the way it was. After posting, I spent a few more minutes looking into it, then I just decided "this is what Python looks like" and got back to it.
Python
Part of the frustration I was having might be a result of the fact that I'm not learning Python because "it's time to learn a new language" or because "I've heard lots of good things." I'm learning it because I've decided that the Python version of App Engine is the best solution to my problem right now, despite having to deal with learning Python to do it.
I've been trying to just jump in and get things done without bothering to learn it first -- to just learn by doing. That worked for PHP, Ruby, Asymptote, and R. So far there have been many "gotchas" and one big frustration, but it hasn't once delighted me. Ruby constantly delighted me when I was learning it. I think Matz and I just happen to think similarly; Guido and I don't. But maybe taking the time to work through a few tutorials and glean a bit of the philosophy behind the language would help. Consistent design philosophy seems to be one of the things you appreciate about it.
In any case, I did most of the work of porting my little library over to Python last night, and I'm back to having fun with this. Not the kind of fun I have with Ruby, but fun with getting things going on App Engine.
Web Hosting
I've had
Slicehost as my VPS for almost 3 years. uptime reports 1088 days. I absolutely love having my own (virtual) server running Gentoo and whatever software I want, but I've decided I just can't afford $20 a month for it anymore, when there are free options. I suppose $20 a month is just a few dollars a week, but it's also $240 a year, and that means a lot to me. That could help get me a Nexus One, or it could get me a massage every other month, or it could be a lot of other things. $240 is just plain a lot of money to me right now, so it's worth the stress and hassle of finding free or almost free substitutes. The hardest part is going to be giving up the freedom of running whatever software I want.
Currently, I have two sites that are completely static. One of them (
recognizingwholeness.com) has already been moved over to App Engine, and it works great. It's free until such a time as I go over the quotas, which will never happen, or Google decides against having free quotas. Even then, with current rates it would be close to free. I checked, and Google is fine with this. Their philosophy is that once you're up and running on App Engine, then you're all set up should you decided to start doing some dynamic stuff.
I think I actually will set it up to be dynamic, because small modifications would be easier. I'm used to editing my source files, running rake to generate the (X)HTML with a little library I wrote and use for these things, and then a simple scp to deploy. rake finishes in fewer milliseconds than I can discern from instantaneous, and scp takes less than a second. With App Engine, I have to re-package and re-deploy the whole app (that is, every file on the site) for every minor update, which takes a good 30 seconds or so. So I think I'm going to make it dynamic so that content changes happen through a web interface that edits the datastore, and I only re-deploy the app when the code changes. Well, as I said, I'm juggling too much right now, so this'll have to wait. It certainly works well enough for now.
Data Hosting
Besides serving files over the web, the other thing my VPS does for me is host my Subversion repositories. I can of course host them on my own machine, but I like to use it as a combination of off-site backup and version control. I've started using Amazon S3 as my off-site backup. Halfway through the month, I've racked up $0.03 in charges. I'm still using subversion on my VPS for several things, though, so rather than $0.06 per month, in the long run it'll be more like $0.20 - $0.025 per month. That's close enough to free for me to ignore, even when you think of it as $2.40 - $3.00 per year, and even if my estimates are off and it's twice that.