Automatically Generating an HTML5-style Cache Manifest from the Command Line

HTML5 introduces the ability to cache content client-side so that often-used resources can be used without re-downloading them. This also enables a site to be viewed from the client when no network connection is available (i.e., offline viewing of the site).

In order for this to work, there are a few things one must do:

  1. Create a plain text file listing all of the resources that should be cached by the user agent (e.g., a web browser)– the cache manifest.
  2. Refer to that file in the opening html tag of every page that will use cached resources.
  3. Configure the web server so that the file is sent to the user agent with a specific MIME type: text/cache-manifest
  4. Regenerate the cache manifest any time you change the files in your site.
Once everything is setup properly, you can visit the site using your favorite web browser. Then, to test whether the caching has worked, you can turn off the network connection to your web browser’s computer and try reloading the page.

Continue reading

Digital Voice Recorders

Digital voice recorders can be a handy tool for dictation or recording research interviews. Here are some of the things I consider when looking for a recorder.

Connectivity Make sure the recorder you choose has a USB port or (even better) a built-in plug. Some recorders do not allow you to transfer your recordings to your computer.
File format The default recording file format should be something that is easily playable on your computer’s already installed software, such as Quicktime, iTunes, or Windows Media Player. WAV and MP3 work well, but many recorders use WMA, a windows format that requires additional software on the Mac to playback.
Microphones You generally want dual (or quad) built-in MICs for stereo recording— invaluable in interview sessions. You can play your recordings with headphones and perceive directionality. Not all recorders record in stereo. Also, an external MIC jack, in case you ever want to use an external microphone (a lapel clipped mic or shotgun mic, e.g.)
Placement A tripod mount screw is handy for setting up your recorder for standalone operation.

Two models I’m fond of:

Zoom H2 http://www.amazon.com/Zoom-H2-Portable-Stereo-Recorder/dp/B000VBH2IG
Olympus WS-600s http://www.amazon.com/Olympus-WS-600S-Digital-Recorder-142610/dp/B000NM8DI6

Reeder for the iPad

While many content providers are working diligently to find ways to lock us in to their content and to exclude aggregation, it’s aggregation that I want!! I want to be able to read my content in the form and manner that fits my workflow of the moment.

Reeder for the iPad is a great example of an app that makes reading a pleasure. It’s fast; amazingly fast. I can read my Google Reader subscribed feeds, mark items for further follow-up, forward them to my Twitter feed (Note to Reeder devs: I maintain more than one Twitter account and more than one account on other social networking sites, to separate the personal from the professional roles vested in me), add it to my Instapaper account, and so on. In short, reading news feeds in Reeder is a pleasure; very nearly perfect.

R Statistical Programming Language

The R Project provides a comprehensive, free, open source statistical programming language and environment based on the S language. R is the name of both the language and the environment in which you generally use the language. It’s an interactive environment where the commands you enter generate immediate results that you can use to guide your analyses.
Continue reading