Archive for March, 2012

Canada Trip Day 2

25 March 2012 at 9:33 pm
by Jonah

We woke up this morning to more fog. There are mountains to the west as we head further north, but we can’t see them, although the sun breaks through the fog from time to time. Every tree and blade of grass is coverd in hoarfrost. Everyone in Alberta appears to drive giant pick up trucks, most of which are hauling a pair of snow mobiles riding atop a big metal plate that’s mounted on top of the bed walls. We’re currently following one that’s carrying a 4-wheeler instead. Wow! We just escaped the fog and can see the peaks!

We spent most of yesterday driving in fog, our eyes searching for the next post along the road. Eastern Montana doesn’t have many trees (big sky country), so those were our only refernece points to differentiate between the snow on the gound and the fog in the air as to where the road went. Whenever we got behind a slower moving car we were half relieved at having a much better reference point and half annoyed at being completely unable to safely pass them in the fog. Finally, we got to Great Falls, where we descended out of the fog. We stopped at an autoparts store (my car drinks nearly a quart of oil with every fuel fill-up), and my retractable ariel was caked in ice on the leading edge and would not descend into the trunk.

In Great Falls we had lunch at Bert & Ernie’s, which had Moose Drool on tap and great poutine. Poutine is Canadian comfort food that’s rather hard to find in the U.S. It’s French fries topped with gravy and cheese curds. We also split a burger that came with ham and a fried egg on it. There was apparently some confusion about whether the hostess or the waitress was supposed to get us drinks, and then the waitress apologized that she had twice as many tables as normal. It took forever for us to get the burger, and when the manager came by and asked me how the food was, I said, good, and when she asked how the service was, I said a little slow. She offered us a free beer or dessert, but I really wanted to get going, as I didn’t see how we were going to be able to get to Banff by nightfall, which had been my plan. So she said she’d take 10% off. This apparently made getting our check take even longer, and our waitress just took the beer off instead. We still tipped her 20% of the entire check, guessing on the price of the beer. I got a box and finished my half of the burger in the car.

We’re now heading straight for the jagged peaks of the Canadian Rockies on TransCanada 1, or Maple Leaf 1, as Berck calls it. Berck is amazed that Canadian drivers keep in the right lane except to pass, which makes driving so much more pleasant. “That’s it; I’m moving to Canada.” Everyone also seems to be driving exactly the speed limit.

From Great Falls we wound around more flat Montana and more fog on an incredibly empty road.

Now we’re stopped at the Banff National Park gate waiting to pay to get in. The TransCanada Highway just stops at the park gates. If you have a park pass, you can apparently bypass it in one lane, but the rest of us have to wait in line. It’s about $20. Oh! A new lane just opened up! And we’re second in line!

Finally, mountains appeared out of the mist, the back side of Glacier National Park. We were going to take a back road through a corner of the park, but it was covered in snow, so we continued on the not-quite-as-back road we were on. We eventually arrived at a very lonely customs station where a Canadian border officer asked if we had any alcohol, tobacco, firearms, firewood, or $10,000 in cash. “I wish,” said Berck. She did not seem amused. She asked us to take off our glasses while she peered at our passports, then disappeared with them for a bit, then returned them and told us to have a nice day.

The last time we tried to drive into Canada, the officers asked for proof of auto insurance, and that’s when we discovered that we had the insurance card for Berck’s mom’s car, not his. They then searched every single bit of the car and told us that as soon as we started driving, they’d call the cops and have us fined for not having insurance. We then turned around and reentered Minnesota.

When you enter Alberta by road, you’re met with a series of signs that inform you of all the things that are illegal, including importation of firewood that includes bark (to prevent the spread of Dutch elm disease). I turned off my phone, and Berck turned off roaming and data (so he can still use wifi on his phone).

We immediately noticed a difference in Canada. The roads are far wider and much better maintained. All the houses, even those in the middle of nowhere, are neat and tidy and well kept. There aren’t those piles of fallen barns in the middle of fields. And of course, the signs are all slightly different. We have fun trying to guess what the pictograms indicating what awaits travelers at each exit. In the U.S., we’d say, “GAS, LODGING” etc. But here there’s a picture of “an uncomfortable bed with a triangle above it,” as Berck says. Guess what an uncomfortable bed topped with a triangle over a slash over an egg in a soft-boiled egg holder means?

I had altered Berck’s original route to go by the mountains instead of through Calgary. Unfortunately, when we got to that road, we were greeted with A) gravel B) a sign that said the road was closed in 100 kilometers. So we had to turn around and go back the way we’d come and go up a less interesting road. But we did get to see the Frank Slide, which, as Berck said made it almost worth going out of our way for. At least we got gas, because there were no towns and no gas for a very, very long way. Provincial Highway 22 is beautifully empty (and much more interesting than the highway that goes straight up to Calgary).

It eventually led us to a town with two hotels, but there was a bigger town a little bit further up the road, so we continued on. The next town of Black Diamond also had two motels. One of them looked like it had at one time been a string of double-wide trailers but looked cheap. The other one was called the Black Diamond Hotel, which was called the Black Diamond Bar via a different door. It looked more expensive, so we went back to the cheaper looking motel, which displayed two signs that said VACANCY and one that said OPEN. We opened the office door that said OPEN to find a dark room. An old Chinese man came up behind us and asked if he could help us. We said we wanted a room, and he said that he had just let out the last one three minutes ago. I suggested he change the vacancy sign, but instead he just went into the office.

So we went to the Black Diamond Hotel. I went inside to ask how much rooms were. Inside was a gigantic bar, a kitchen, and a band playing country covers very loudly. I walked all around looking for a front desk, but finally asked a bartender if there were rooms. She said yes, but there was absolutely no smoking or pets. I went outside to report to Berck, who wasn’t convinced this was really a hotel. We decided to stay there. The bartender showed us on the menu about the rooms and then we completed the transaction and took our stuff up to a very comfortable room. Then we headed down to the bar, found the seat furthest away but still in sight of the band, and enjoyed our second dish of poutine for the day, which had excellent gravy and grated mozzarella instead of cheese curds and some meatballs with Buffalo sauce for dipping. We also tried some Traditional, which is a beer made in Calgary and liked it so much we had a few more. The band never stopped playing, though it rotated through several lead singers, most of which also played guitar. One guy sang old rock and roll songs, but the rest of it was country. Several couples did the swing energetically on the dance floor. It appeared all of Black Diamond was in this one place, enjoying a Saturday night out. We finally went back upstairs to our room, still able to hear exactly what song the band was playing from down below (they played Footloose twice, several hours apart) but fell sound asleep anyway.

Canada Trip Day 1

24 March 2012 at 9:05 pm
by Jonah

We’re currently sitting on highway 12 in Montana waiting for a pilot car to lead us through a construction zone. Ah, here it comes.

On Friday, I didn’t set my alarm, but we woke up at 7:38 anyway, two minutes before my alarm normally would have gone off. Still, even though we’d packed our bags the night before, it took us nearly two hours to gather everything and pack it into the car, including the snow shoes, which are surprisingly bulky for essentially being very flat devices. We decided not to camp on this trip because we expected it to be too cold once we got to Canada and because so many campgrounds are closed this time of year anyway. As it turned out, it was a beautiful day, and the only clouds in the sky were contrails. By the time we got to Denver, it was actually hot, and we had to run the air conditioner…on the third day of spring. We ended up running it all day.

We’re finally through the construction, which lasted for miles. It appears they’re widening the road, but there really isn’t very much traffic on it at all.

We stopped at Johnson’s Corner Truck Stop for the first time for breakfast. Fortunately, they serve breakfast all day, since it was already 11:30. Berck got the breakfast burrito, of course, and I got the chicken fried steak (of course) which was really good. It felt so nice to be playing hooky from work on my birthday.

Today, on the other hand, is completely grey. In fact, we just drove through some fog, though, fortunately, it was just high enough that we could see the road but couldn’t see the blades of the turbines of the wind farm we drove through.

We apparently had a tail wind through most of Wyoming, because we had gone 200 miles and the gas gague read half full. We did some calculations and decided we could make it to Casper but if need be there was a town on the way we could stop and get gas. Unfortunately, the two was a mile off the highway, and when we got there, the only gas station we could find was now an antique store. So we drove back to the interstate. I looked at the gas gauge and decided we could easily make it the 22 miles to Casper, but it turned out all we needed was 15 miles before we got to a truck stop. We filled the tank and found we still had at least a quarter gallon. We’d been getting 32 MPG with the AC on and going 85 MPH.

Eastern Wyoming is still full of dusky green rolling hills, and it seems like each one of them had a herd of a dozen antelope on it. I amused myself by trying to take pictures of them. The wind started blowing from the west, and Berck said he wished he had steering wheel trim. I like that the entire state of Wyoming has a population less than that of Colorado Springs where we live.

We passed into Montana, and the scenery became a bit more varied. I decided to stay in Billings for the night, and Berck suggested I Priceline a hotel room. We had just enough internet connectivity through the Android for me to get a $52 a night room at a Super 8. We could have driven further, but hotel rooms aren’t just anywhere in Montana.

Unfortunately, when we got to the Super 8, the lady behind the front desk said that they were full and that she didn’t know why Priceline kept making reservations there. She unsympathetically told us we’d have to call Priceline about that. Fortunately, the Super 8 had wifi in the lobby (though I’d saved the confirmation page from Priceline, so we didn’t really need it). Berck called Priceline and told them that he wanted another hotel room in Billings for the same price. We waited on hold while the customer service representative called the lady at the front desk standing 15 feet from us. Then he read Berck a lengthy piece of legalese, to which Berck answered that he still wanted a room in Billings for the same price. He got us a room at an Econolodge not very far away. It definitely seemed like a step down but was supposedly also a 2 star motel. When Berck was checking in, the person at the front desk was telling people that they were already full, so it sounds like we might have gotten the last room. It was clean at least, so we unpacked and then drove downtown to the Montana Brewing Company, which I’d found while Berck was on the phone with Priceline.

The brewery had some of the best microbrews I’ve ever had. We tried their Amber (which they billed as a English mild style) nut brown, hefeweizen, Happy Hour (which was an English bitter ale), chocolate oatmeal stout, and Baltic porter, which we had with a giant cookie topped with ice cream. They had good cheese fries and decent pizza. They were very noisy, though, so loud that when the newborn at the table next to us started bawling, we couldn’t hear it at all.

Berck decided it was time to get up at 7:39 this morning. It’s been grey all day, so different from yesterday. We’re currently driving though fairly thick fog that keeps us from speeding. The ground is now pretty well covered with snow. When we drove through Montana during our spring break in 1998, all of Montana was snow covered, though the roads were mostly clear. The creeks and lakes are all swollen now.

We’re now at the Black Diamond Hotel outside Calgary. I’ll write about today’s adventures tomorrow.

Spring Break!

22 March 2012 at 11:21 pm
by Berck

Finally. I’m probably going to have a pile of stuff so large when I get back that I’ll never going to get done.

I think, traditionally, college kids head to Florida for Spring Break. We’re going to Canada!

Here’s a vague outline of our route. We don’t think we’re likely to actually get that far north, but we might. If we’re in the mood, we may stay somewhere for a couple of days. We may just mostly drive and look at mountains. Because we like doing that.

Normally, on a trip like this, we’d camp. But campgrounds are likely to be closed, and it’s likely to be extraordinarily cold some of the places we’re going. So, we’re going to pretend that we’re grown-ups and stay in motels. We’ll see how that goes, or if we have any money left when we get back. I’ll worry about that along with the pile of homework/projects.

We’re hoping for some poutine, some mountains, and some snow. I’m not about to pay Verizon the insane pile of money they want to let me use my telephone up there, but I’ll try to update my latitude location whenever we’re near WiFi. If you don’t hear from us for a few days, don’t worry. We’ll be back April 1, so if you haven’t heard from us by then, go ahead and call the Mounties.

Paris, Texas

17 March 2012 at 12:08 am
by Berck

Fantastic movie. From the description of it, I didn’t think I’d like it at all, but I loved it. Probably in my top 25. I couldn’t believe that anyone did anything like this in 1984. It made sense once I found out that it was a co-production between West Germany and France. It’s set in the U.S., so I didn’t realize it was European. It’s the movie that inspired Joshua Tree.

I’ve also been playing with Criticker. Check it out. Probably a better recommendation engine than others I’ve seen.

Someone goes postal on my server.

8 March 2012 at 2:40 pm
by Berck

I’m not the best web server admin, mostly because it tends to bore me. My little server spends most of its time idle, and 90% of the requests it gets are from Google’s bot. (I’ve actually just used Google’s web-admin tools to seriously reduce the crawl rate on my server, because its continually re-examining images that haven’t changed in a decade… To the tune of 2GB per month. Things are much more acceptable, now.)

Anyway, I was listening to my new old Dan Bern album (New American Language) and it started stuttering. I quickly determined the problem wasn’t with the rip of the used CD, but that my server was busy thrashing its swap space. Several iterations of manually invoking the OOM-killer proved ineffective, and I managed to determine there were a zillion instances of php5 running.

I looked at the logs, and found this: – – [08/Mar/2012:11:25:58 -0700] “GET /?p=3335 HTTP/1.1” 200 36014 “
pQ&sig2=2JwwkvbKO_70wnK-o7UU8A” “Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2” – – [08/Mar/2012:11:25:59 -0700] “GET /blog/wp-content/themes/berck-steam/style.css HTTP/1.1” 200 8018 “-” “Mozilla/4.0 (compati
ble;)” – – [08/Mar/2012:11:26:00 -0700] “GET /favicon.ico HTTP/1.1” 200 622 “-” “Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101
Firefox/10.0.2” – – [08/Mar/2012:11:26:03 -0700] “GET /blog/wp-includes/wlwmanifest.xml HTTP/1.1” 200 1350 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=200901 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=200912 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=201107 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=201106 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?feed=rss HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=201012 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=201008 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:26:03 -0700] “GET /?m=199508 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:26:03 -0700] “GET /?m=199702 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:26:03 -0700] “GET /?m=199501 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:26:03 -0700] “GET /?m=200003 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:26:03 -0700] “GET /?m=199612 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:26:03 -0700] “GET /?m=199804 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:26:03 -0700] “GET /?m=199602 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:26:03 -0700] “GET /?m=199809 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:26:03 -0700] “GET /?p=3340 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:26:03 -0700] “GET /?m=199510 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:26:03 -0700] “GET /blog/xmlrpc.php?rsd HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:26:03 -0700] “GET /?p=3333 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:26:03 -0700] “GET /?m=199701 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:26:03 -0700] “GET /?p=3335 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:26:03 -0700] “GET /?m=199405 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:26:03 -0700] “GET /?m=199609 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:26:03 -0700] “GET /?m=199408 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:26:03 -0700] “GET /?m=199803 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:26:03 -0700] “GET /?m=199411 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:26:03 -0700] “GET /?m=199805 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=201010 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=201004 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=200905 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=200806 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=201005 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=201003 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=200812 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=200911 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=201001 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=200811 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?feed=rss2 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=200904 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=200902 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=200805 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=201105 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=200903 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:26:06 -0700] “GET /?m=199603 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=201112 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=201110 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=200810 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=200908 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=200910 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=201111 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?feed=atom HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=200907 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=201104 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=201103 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=201109 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=200808 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=201006 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=201002 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=201009 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=200909 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=201011 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=201202 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=201007 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)” – – [08/Mar/2012:11:25:59 -0700] “GET /?m=201101 HTTP/1.1” 504 550 “-” “Mozilla/4.0 (compatible;)”

It goes on, but I’ve truncated the paste. It’s a recursive request for everything on the front page of my site, which isn’t nice, but wouldn’t have caused problems except that they were all concurrent. Which is evil. My first thought it was intentionally malicious, but this is weird:

host domain name pointer

The USPS, not China. And the first entry appears to be someone who found the page from a Google search. I’m wondering if maybe there’s some evil Firefox extension that spawns a million connections and tries to download an entire website before you ever click on anything, just in case you want something?

Anyway, I learned my lesson about default values. Max Connections of 150 is no good for dynamic page content on a P4 with 1GB of RAM. Some testing reveals I can support 32 connections without death and destruction resulting (though it’s certainly not fast). So, changed that value to 32 and I’m good to go for now.

Of course, it brings up all kinds of silliness with dynamic page content. There’s probably lots of optimization I could do, but I have homework, and future instances of this will at least keep my music playing.