• Apache MultiViews option is dangerous

    I was poking through my web logs and saw requests to pages that didn't exist on my server and the server returned something (200 return code), so I started looking at them. I was able to hit the pages with a browser and after much searching, I figured out how pages that obviously didn't exist could return a valid page that was slightly messed up (image references were hosed). Turns out my sites had

  • Doing the right thing

    My previous rants about Sandvox may have been harsh, but as I mentioned before, I see so much promise in it and the sites it creates. I want to offer an apology to the authors; they, like all software developers, do their best to create good products.

  • Another Sandvox bug

    So this is my week to beat on Sandvox. I think the product has great potential, but still needs some work to do a basic website (my website isn't all that complicated). Yes, I am reporting the bugs I find.

  • New website uploaded!

    After many days of fighting Sandvox and its underlying Connection Kit framework, I've managed to upload my website. All my uploading problems stem from Connection Kit's poor implementation of SFTP. What basically happened is that the SFTP implementation was bolted onto the libssh2 library. Like most UNIX libraries, libssh2 uses UNIX socket calls such as recv, write and writev. Connection Kit is based around Apple's stream calls with queued writes and basically non-blocking reads. So Connection Kit tries to merge the 2, but does a poor job. Apple's stream calls actually give access to the UNIX sockets, so write, writev, and recv could have been used. I removed the hacked up write calls so that write was used, but when I tried to use recv, things got strange. I ended up changing the buffer size to 16K (from 32K) prompted by a comment in the code: