Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method UltimateTagWarriorActions::ultimate_query_vars() should not be called statically in /home/illudium/illudium.com/wp2/wp-includes/plugin.php on line 57

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method UltimateTagWarriorActions::ultimate_posts_where() should not be called statically in /home/illudium/illudium.com/wp2/wp-includes/plugin.php on line 57

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method UltimateTagWarriorActions::ultimate_posts_join() should not be called statically in /home/illudium/illudium.com/wp2/wp-includes/plugin.php on line 57

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method UltimateTagWarriorActions::ultimate_tag_templates() should not be called statically in /home/illudium/illudium.com/wp2/wp-includes/plugin.php on line 160
Illudium » 2005 » November
Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method UltimateTagWarriorActions::ultimate_add_ajax_javascript() should not be called statically in /home/illudium/illudium.com/wp2/wp-includes/plugin.php on line 160

Archive for November, 2005

Podcasting should not be expensive - Part 3

Friday, November 25th, 2005

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/illudium/illudium.com/wp2/wp-includes/formatting.php on line 74

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method UltimateTagWarriorActions::ultimate_the_content_filter() should not be called statically in /home/illudium/illudium.com/wp2/wp-includes/plugin.php on line 57

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 638

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 638

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 639

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 639

In Part 2, I set up my site's .htaccess file to redirect requests from my media directory to the Coral Content Distribution Network. As I monitored my logs, I saw that Coral requested my first podcast about twice a day. That's because my site wasn't telling Coral how long it was safe to cache the file. Coral could also request the file more often than expected if it was flushed from the cache by other files, but there's nothing I can do about that.

Coral is sort of an opt-in cache, in that I am redirecting my users to the cache. There are many other caches on the web though. ISPs use them to speed up their customers' access to popular sites. Many businesses that use a proxy server for web access also turn on the proxy's cache, so that when everyone goes to the popular sports and news sites they doesn't clog the internet connection. This type of cache is called a transparent cache because it sits between the end user and the internet and substitutes cached resources for requested remote resources. There's nothing you can do about these caches, but you can help them help you by telling them how long your files are valid.

Once again, an .htaccess file comes into play. I put the following .htaccess file in my media directory:

ExpiresActive On
ExpiresDefault "access plus 1 year"

The first line turns on expiration headers. The second line sets the default expiration time for files in the directory to the time of last access plus one year. You could use 1 month or 1 day if you're more comfortable with that. I don't expect the files in my media directory to change. I didn't see any point in setting the expiration any longer than a year, because it's doubtful any cache would keep a file that long if nobody requested it. I also expect people to download files from links on my pages or feeds, so if I do need to replace a file, I can simply rename it and change my link. You can check that the expiration headers are being sent by using a program that shows you the headers. Most download managers do this. You should see something like this in the headers:

cache-control: max-age=31536000
expires: Thu, 23 Nov 2006 00:17:49 GMT

Note that the time on the first line is in seconds. You may need to ask your hosting provider to include the mod_expires module so you can use expiration headers. So far, my host Dragonfort has had everything I've needed available. Here's a link to the documentation for mod_expires on the Apache website.

You might wonder why I haven't set up expiration headers for things like my main page. I will, but there's something else I need to do first. Also, I said above that I don't expect the files to change, but I didn't say they were going to stay on my server. Stay tuned.

Illudium Podcast

Monday, November 21st, 2005

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/illudium/illudium.com/wp2/wp-includes/formatting.php on line 74

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method UltimateTagWarriorActions::ultimate_the_content_filter() should not be called statically in /home/illudium/illudium.com/wp2/wp-includes/plugin.php on line 57

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 638

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 638

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 639

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 639

Introductions and Acknowledgements

Download the show (MP3, 35:11, 25MB). The Creative Commons by-nc/2.5/ license applies to the show as a whole. Please see the Song list below for the license information that applies to different parts of the show.

I introduce myself and talk about the influence Mark Forman and Dave Slusher had on me. I talk about how I decided to read The Mysterious Matter of Mind and I make a song story out of the process of getting the necessary permission to make a derivative work.

Songs (all material is Creative Commons license):

The Coconut Monkeyrocket - Illogical Boogie by-nc/2.0/
Jonathan Coulton - I Feel Fantastic by-nc-sa/2.5/
Penmachine - Burning Moon by-sa/2.5/
People Like Us - DO or DIY sampling+/1.0/
The Dharmas - Book Inside You by-nc-nd/2.5/
Lee Rosevere - The Comfort Zone by-nc/2.0/
Martinibomb - cha l'ectro cha cha by-nc/2.0/
Nick Warner - Owlchemist Number 1 by-nc-sa/2.0/

Remarks of Hugh Brackett are by-nc-sa/2.0/ because they are overlayed onto Owlchemist Number 1. My remarks with no music are available on request with a by-sa/2.5/ license.

Links Mentioned:

Mark Forman - Getting a Leg Up Podcast
Dave Slusher - Evil Genius Chronicles Podcast

Please support the Internet Archive and Creative Commons

Podcasting should not be expensive - Part 2

Friday, November 18th, 2005

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/illudium/illudium.com/wp2/wp-includes/formatting.php on line 74

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method UltimateTagWarriorActions::ultimate_the_content_filter() should not be called statically in /home/illudium/illudium.com/wp2/wp-includes/plugin.php on line 57

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 638

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 638

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 639

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 639

Popularity can be both a blessing and a curse. It's great to have thousands of subscribers—Until you get the bill for your bandwidth. I don't want Illudium to become about raising money to run illudium.com. To avoid that I'm using the Coral Content Distribution Network. Coral is a free caching service that offloads your file requests to a geographically distributed array of cache servers. The result is that your users don't have problems getting your files and you don't get problems when your ISP bill arrives. To use Coral I just added the following to my .htaccess file:

# BEGIN CoralizeDirectories

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} !^CoralWebPrx
RewriteCond %{QUERY_STRING} !coral-no-serve$
RewriteRule ^media/(.*)$ http://%{HTTP_HOST}.nyud.net:8090/media/$1 [R,L]

# END CoralizeDirectories

Make sure this is outside of the # BEGIN WordPress/# END WordPress section.
This comes almost straight from the example at coralcdn.org. The main change is that I used %{HTTP_HOST} instead of illudium.com, so this redirect isn't specific to my site. The two conditions are necessary to ensure that requests from the cache servers themselves aren't redirected. My media files are in illudium.com/media. This rule redirects all requests for files in the media directory to the cache address. For example, http://illudium.com/media/untitled01.mp3 will redirect to http://illudium.com.nyud.net:8090/media/untitled01.mp3. Try it if you don't believe me. The file is a minute of silence, so you might want to kill the download after you see the redirect. You should be able to adapt this if your podcasts are in a directory as mine are by changing the rewrite rule to match your directory. I don't know how to set it up for a subdomain (e.g. mp3.example.com). Perhaps someone who uses subdomains can comment on this. I'm not going to write a how-to on something I haven't done. Test your downloads after you set Coral up by using something that will show you the redirects. Most download managers do this.

Podcasting should not be expensive - Part 1

Tuesday, November 15th, 2005

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/illudium/illudium.com/wp2/wp-includes/formatting.php on line 74

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method UltimateTagWarriorActions::ultimate_the_content_filter() should not be called statically in /home/illudium/illudium.com/wp2/wp-includes/plugin.php on line 57

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 638

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 638

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 639

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 639

Update: Dragonfort is no more. I currently recommend Dreamhost. See my "Life could be a dream" post for more information.

I hate to see podcasters talking about their hosting and bandwidth charges. Yes, it can be expensive, particularly if you use a one-stop solution. Here's why I feel bad: My charges are $1 a month. My host is dragonfort.net. One dollar gets me 500MB of storage and 10GB of transfer. I don't expect to ever hit that, because I'm using The Coral Cache, and older podcasts will be moved to archive.org. Dragonfort is not a ready-to-use blog. You get a virtual host with MYSQL, PHP, and other requisite stuff. It's up to you to install Wordpress or whatever you want to use. It wasn't hard to do, and I can't say I used any geek-fu more advanced than using FTP and following directions until I had been up and running for 4 days and decided to start messing with the footer and the sidebar. If folks are interested, I'll approach James at Dragonfort about the possibility of me creating a template so that you can request Wordpress preinstalled (or install it with one click). If you sign up, I'd appreciate if you mentioned illudium.com.

Blue Security Offers Linux Client, Opens Source to Developers

Thursday, November 10th, 2005

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/illudium/illudium.com/wp2/wp-includes/formatting.php on line 74

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method UltimateTagWarriorActions::ultimate_the_content_filter() should not be called statically in /home/illudium/illudium.com/wp2/wp-includes/plugin.php on line 57

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 638

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 638

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 639

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 639

Blue Security offers a free service to help users complain to websites that advertise via spam. Until now, only a Windows client has been available. A number of members who otherwise run Linux or Macs have resorted to running Windows on a spare box to be able to run the Blue Frog client. The client posts complaints on spamvertised websites, one for each spammed message the member receives. Today Blue Security released a Linux client, and at the same time opened the source code to the client and the tool that Blue Security provides to spammers to remove Blue Community members from their mailing lists. The source is available under a "visible source" license (my description) that permits developers to inspect the source, and to develop ports and improvements and submit them to Blue Security. I believe this will rapidly result in features much sought after by Blue Community members, particularly Mac clients, and integration with mail programs such as Microsoft Outlook for one-click and fully automated spam reporting. Perhaps one day soon, Blue Security will accept reports of comment spam in blogs.

Podiobooks

Thursday, November 10th, 2005

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/illudium/illudium.com/wp2/wp-includes/formatting.php on line 74

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method UltimateTagWarriorActions::ultimate_the_content_filter() should not be called statically in /home/illudium/illudium.com/wp2/wp-includes/plugin.php on line 57

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 638

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 638

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 639

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 639

Evo Terra has coined the term Podiobooks for audiobooks delivered by podcast in serial form. A nice touch is that the feed is customized for you so you start at the beginning of the book. The parts are then delivered to you on the schedule you select. For books that are in progress, you may catch up with the author, in which case you get the chapters as they become available. Mark Forman has a good interview with Evo in his recent Free Culture News podcast. Evo also has some tips for recording books. His recommendation to print out the pages on letter-sized paper surprised me a bit because I greatly prefer to read (for myself, not aloud) from a computer screen. I like to scroll the text to keep my place. I can see where a hard copy could be useful, particularly if I'm already recording and mixing on one computer. I guess I'll try it both ways.

The bookcast vs. the audiobook

Friday, November 4th, 2005

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/illudium/illudium.com/wp2/wp-includes/formatting.php on line 74

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method UltimateTagWarriorActions::ultimate_the_content_filter() should not be called statically in /home/illudium/illudium.com/wp2/wp-includes/plugin.php on line 57

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 638

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 638

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 639

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 639

I thought I'd be clever and call the podcasts where I read books "bookcasts". A quick check of Technorati and Google revealed that the main use of the tag/term "bookcast" is for shows about books, especially for author interviews. The tag people use when books are being read is "audiobooks", which is what the people who make them commercially call them. Audiobooks it is, then.

Hello!

Friday, November 4th, 2005

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/illudium/illudium.com/wp2/wp-includes/formatting.php on line 74

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method UltimateTagWarriorActions::ultimate_the_content_filter() should not be called statically in /home/illudium/illudium.com/wp2/wp-includes/plugin.php on line 57

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 638

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 638

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 639

Strict Standards: Non-static method UltimateTagWarriorActions::regExEscape() should not be called statically in /home/illudium/illudium.com/wp2/wp-content/plugins/UltimateTagWarrior/ultimate-tag-warrior-actions.php on line 639

Hi, my name is Hugh Brackett. I just finished installing WordPress and Denis de Bernardy's beautiful Semiologic theme and CMS. It's far too pretty to leave sitting empty. I've only written one paragraph and I already like his Smart Link plugin.

One of the things I'll be doing is reading books in my podcast. I've greatly enjoyed listening to Mark Forman reading Cory Doctorow's Down and Out in the Magic Kingdom. I have some general business to take care of in the first podcast. The second podcast will introduce the book I'll be reading, then I'll start the book in the third podcast.

I'd like to thank Mark (The Brooklyn Bluesman, Reigning Shogun of Taiwan) for leading by example. I'd also like to thank The Evil Genius himself, Dave Slusher both for the encouragement he gives to everyone, and for direct, personal encouragement.


Bad Behavior has blocked 144 access attempts in the last 7 days.

Creative Commons License