I'm Paul Bissex, and e-scribe.com is my consulting business. I build web applications using open source software, especially Django. In the '90s I did graphic design for newspapers and magazines. Then I wrote technology commentary and reviews for Wired, Salon.com, Chicago Tribune, and lots of little places you've never heard of. Feel free to email me.
I'm co-author of "Python Web Development with Django", an excellent guide to my favorite web framework. Published by Addison-Wesley, it is available from Amazon and your favorite technical bookstore as well.
Built using Django, served by Apache and mod_wsgi. The database is SQLite. The operating system is FreeBSD, on a VPS hosted at Johncompanies.com. Comment-spam protection by Akismet. Vintage topo imagery from the Maptech archive. The markup engine is Markdown.
Akismet, bitbucket, del.icio.us, Django, Emacs, FreeBSD, Git, jQuery, LaunchBar, Markdown, Mercurial, OS X, Postfix, Python, Review Board, S3, SQLite, TextMate, Ubuntu Linux
At least 96060 pieces of comment spam killed since January 2008, mostly via Akismet.
Some domain names become active verbs: I googled it. Others become passive verbs: I got slashdotted.
BoingBoing, linked to by over 16,000 blogs, is a passive verb too, and two weeks ago my server got BoingBoinged.
Joe started it when he made a posting on the Well with a link to a series of (bloodless) photos from a huge motorcycle ride turned motorcycle pileup. Somebody suggested a slideshow; I took the opportunity to exercise my mass-image-resize script and to check out ImageReady's ability to export animations as Flash. I put the resulting 2.6MB file on my neglected moto-blog, posted the link to the Well, and went on with my evening.
That first night about 100 people viewed the file.
The next morning I logged on to the Well and saw a post from Jim -- he had submitted the link to BoingBoing.
I checked my stats; 5000 people had now downloaded the Flash file, with about a thousand more coming in every hour. At that rate I was only a day away from using my entire traffic allotment, and I wasn't sure how quickly interest was going to drop off. (I even wondered if it might pick up a little bit on Monday, as a new round of whilte-collar idlers picked up the link. This actually did seem to happen on a small scale, as you can see in the graph linked below.)
My server hosts about a dozen domains, but none of them are particularly high-traffic. The busiest one sees about 5GB in an average month. I had never come close to consuming my monthly 40GB traffic allowance.
I emailed the splendid folks at my hosting company just to make sure I wasn't going to go broke. They reminded me that I'd requested to have the whole server's connection throttled back to 256Kbps after exceeding the 80GB mark.
I didn't really want to get to that point, so I decided to look into distributed caching services. I discovered that archive.org had shut down their "Freecache" service; Coral cache seemed to be what was left, so I tried it. This consisted of appending ".nyud.net:8090" to my hostname in the link to the .swf. That's it.
It worked very well. I know from my stats that thousands of copies of the .swf were served by the Coral network. To date my bandwidth consumption for that Flash file has been about half of what it would have been without Coral, and probably would have been better if fewer people had direct-linked to the file.
If you're interested in what the falloff was like, or to get a rough idea of the numbers, see this traffic graph from a few days after the BoingBoinging. And bookmark Coral for the next time you post something large and popular.
The other thing worth noting is that even though I have Google AdSense ads on the site in question, I didn't see a significant uptick from the ordinary meager revenue level. This suggests, unsurprisingly, that making money through web advertising isn't just a matter of raw visits. Damned rubberneckers.
Thanks for reading! Please note: Your comment will not appear until approved, which may take a few hours or more. Spammers will be torpedoed.
Booktools
2 comments
A different kind of URL shortener
4 comments
The syncbox
2 comments
Branching and merging in real life
8 comments
Summer Spam
1 comment
malpaso
Understanding tuples vs. lists in Python
13 days ago
vj100
Understanding tuples vs. lists in Python
13 days ago
scott
Bicycle Repair Man bundle for TextMate
19 days ago
Jasmine
Trying to send eBay a message?
56 days ago
Smok Cigs
Let's play a game: BASIC vs. Ruby vs. Python vs. PHP
93 days ago
Copyright 2012
by Paul Bissex
and E-Scribe New Media