I’m making a few last tweaks to myWeblogOutliner in preparation for the next release. Archival storage is now a little more robust because we always store a non-upstreamed copy. This will also help reduce upstreamer traffic when doing Web refreshes. I have to make the documentation a little friendlier, and maybe add Weblogs.Com pings, but the code is basically ready.

For nearly a year I’ve been wanting to put together Visual Studio templates for a couple of common components in iLearn. There are scattered docs on how to do this, but it never came together. Maybe the appendixes in this book are what we need.

A little inspiration

I just read this little bit of inspiration at the tail end of an email from my friend Mark.

  Charity: Give a man a fish, feed him for a day
  Education: Teach a man to fish, feed him his entire life
  Humanism: Teach a man to believe in himself, and he will learn more than just how to fish.
  Teach a man to believe in mankind …

So true, so true.

For nearly a year I’ve been wanting to put together Visual Studio templates for a couple of common components in iLearn. There are scattered docs on how to do this, but it never came together. Maybe the appendixes in this book are what we need.

Just catching up on a few enclosures from Dave. Wes Clark hanging out in NYC. John Kerry playing hockey. Worked like a charm. A quick double-click and the videos were up in my browser. Ignoring the faked up production values for a moment, this seems like a perfect way to share photos, home videos etc with our friends and family. Enclosures make it so the media is there waiting for you when you sit down at your computer. The machine works for you, and not the other way around. Instant gratification!

Thanks to all the folks who replied to my questions about Windows and Apache. Bill S’s suggestion to uncomment “EnableSendfile off” yielded a 2-3x increase in the pages/second return rate. Thank you, Bill! But we’re still seeing lots of dropped connections, so I don’t think we’re out of the woods. In the meantime, I put Apache on another machine running Win2003 Server Enterprise. Everything worked fine, no dropped connections. We’re going to take a chill pill and come back to this, probably reinstalling a different OS, after Thanksgiving.

Questions about Windows + Apache

We had some problems ramping up traffic on a Windows + Apache server that I set up last week. Apache would respond normally for a while, then start dropping requests and/or refusing connections.
My first thought was that that I’d gotten the configuration wrong, or that Apache/Win32 was buggy. I found a smoking gun in the Apache error log about needing to raise the ThreadsPerChild setting, which I then raised from the default of 250 up to 1000.
But this didn’t fix the problem. The Apache error log has other, more obscure errors, which I’ll post to the comments section.
I also performed some simple scale tests with ApacheBench. The results depended on where I ran the tests from. Running the tests from the server machine, Apache could easily handle 25 concurrent requests. But running the tests from an offsite machine, ApacheBench would throw “Broken pipe” errors above about 10 concurrent requests.
Maybe our Internet pipe at the colocation wasn’t fully open. I asked Matthew at iland about this. He remembered that we were running Windows XP Pro, and suggested that maybe we were hitting XP’s 10 connection limit. But both of us were pretty sure that the 10 connection limit only applied to IIS, which we weren’t using. Also, I was able to run ApacheBench with 25 concurrent users from a second Windows machine in the same cage.
One final test. I ran ApacheBench against a Debian/Apache server at the same colocation. It passed with flying colors. Hmm, maybe it is Windows.
I went back and re-read the XP license, and here’s what it says about connection limits

  You may permit a maximum of ten (10) computers or other electronic devices (each a “Device”) to connect to the Workstation Computer to utilize the services of the Product solely for File and Print services, Internet Information Services, and remote access (including connection sharing and telephony services).

I’m not a lawyer, but if I read that correctly, it isn’t saying what I thought it said. Focus on the word “solely”. I think this is saying that computers can only connect to your computer to use Microsoft add-on software. So, connection limits aside, are they really saying that you can’t run non-Microsoft server software on an XP box?
I have to admit I’m a little lost here. I just want to set up some servers. I’m not interested in becoming expert on the Windows licensing model. I want something that works and is legal. I don’t need IIS or any of the other Windows server add-ons. This is why we went with XP, btw. Couldn’t justify paying $thousands extra for software we’re not going to use.
So, to summarize, I wonder if someone out there can help me figure out the answers to these questions:

  To run Apache on Win32, legally, do I have to purchase a Windows 2003 Server license, even if I’m not using any of the Windows server programs?
  Legalities aside, is the connection limit I’m seeing an Apache problem or an XP crippleware problem? Or something else?
  If I have to buy Windows 2003 Server, what is the least expensive version that can run Apache without interference?

A further thought on flexible content. Some of the best children’s programs we’ve found also happen to be fantastic commercials for merchandise associated with those programs. They’d probably sell a whole lot more merch by putting the programs out on the file sharing networks. When is the world going to figure this out?