We set up the first webcam for the Lake Wentworth Association (LWA) web site at least seven or eight years ago. It started with one of those old, beige eyeball webcams, which soon gave way to our old tape-based video camera hooked up through a TV tuner card.…

Continue reading...

Dear SeacoastOnline.com,

If you want to make money with your new payment model, consider hiring a web developer who could create a real login system to protect your content. All it takes is a few lines of JavaScript (four to be exact) in a bookmarklet to disable the current content “protections” and read an article.…

Continue reading...

BuyThisBeer.com is a little project I started to keep track of what beers I’ve tried, what beers I liked and didn’t, and what beers I’m seeking out. Right now there’s not much to it, but it gives me an opportunity to play with new technologies and techniques (there’s no fun in repetition, but there is in self-improvement).…

Continue reading...

I’m not a web designer. I’ll admit that. I do, however, appreciate how a good design can aid the development process. When I’m slicing a site, I’m often working with Photoshop files of the home page and a sample inner page, assuming the two layouts are different.…

Continue reading...

With Django 1.2 being released a couple months ago now, I figured it was the perfect time to upgrade and check out the new features. Nothing is ever that easy. After spending too many hours last weekend chasing a mysterious attribute exception with my application and finding no Google results on it, I finally traced it back to a dirty build directory in my Django checkout.…

Continue reading...

When building sites that handle dynamic data, it’s important to make sure that all HTTP requests are both intentional and authentic. Addressing the first issue is the easier of the two: requests that retrieve data should use the GET method while requests that modify data should use the POST method.…

Continue reading...