Archive for the ‘MVC’ Tag

Grateful Dead: Scarlet Begonias -> Fire On The Mountain Concert Tapes On The Internet Archive   18 comments

While getting ready to do a blog post on Microsoft’s MVC Web API I dumped my CouchDB database of Grateful Dead Internet Archive tapes into SQL Server 2008.  To test the full text search on SQL Server I produced this list.  I hope you enjoy it.  Here is a list of Soundboard or Matrix concert recordings on the Internet Archive where Scarlet Begonias and Fire On The Mountain are played during the same concert.  This is a computer generated list.  There are 163 concerts listed here. There are 217 concert recordings with this song combination if we were to include audience tapes also.

Click On the image below of a list of ‘best’ SB –> FOTM concert Recordings

[this is a hypertext list – click on a date and you will jump to the Internet Archive Music Player for that concert]

1977-03-18 – Winterland Arena

1977-04-23 – Springfield Civic Center Arena

1977-04-27 – Capitol Theatre

1977-05-04 – The Palladium

1977-05-05 – New Haven Coliseum

1977-05-08 – Barton Hall

1977-05-11 – St. Paul Civic Center Arena

1977-05-13 – Auditorium Theatre

1977-05-17 – Memorial Coliseum

1977-05-25 – Mosque

1977-10-02 – Paramount Theatre

1977-10-09 – McNichols Sports Arena

1977-11-06 – Broome County Arena

1977-12-27 – Winterland Arena

1977-12-31 – Winterland Arena

1978-01-31 – Uptown Theater

1978-04-08 – Veterans Memorial Coliseum

1978-04-11 – Fox Theater

1978-04-16 – Huntington Civic Center

1978-04-24 – Horton Field House – Illinois S

1978-05-07 – Field House – Rensselaer Polyte

1978-07-07 – Red Rocks Amphitheatre

1978-09-02 – Giants Stadium

1978-10-17 – Winterland Arena

1978-11-18 – Uptown Theatre

1978-12-16 – Nashville Municipal Auditorium

1978-12-30 – Pauley Pavilion – University of

1979-01-17 – Veterans’ Memorial Coliseum

1979-02-10 – Soldier’s And Sailors Memorial

1979-04-16 – Unknown studio

1979-04-22 – Spartan Stadium – San Jose Stat

1979-05-05 – Baltimore Civic Center

1979-08-05 – Oakland Auditorium

1979-09-05 – Madison Square Garden

1979-10-24 – Springfield Civic Center Arena

1979-11-01 – The Nassau Coliseum

1979-11-08 – Capitol Center

1979-11-30 – Stanley Theatre

1979-12-03 – Uptown Theater

1979-12-10 – Soldiers & Sailors Memorial Aud

1979-12-30 – Oakland Auditorium Arena

1980-03-30 – Capitol Theatre

1980-05-11 – Cumberland County Civic Center

1980-05-30 – Milwaukee Auditorium

1980-08-17 – Kansas City Municipal Aud

1980-08-30 – The Spectrum

1980-10-22 – Radio City Music Hall

1980-10-27 – Radio City Music Hall

1980-11-30 – Fox Theatre

1980-12-26 – Oakland Auditorium Arena

1980-12-31 – Oakland Auditorium Arena

1981-02-27 – Uptown Theater

1981-03-10 – Madison Square Garden

1981-03-20 – Rainbow Theater

1981-05-11 – Veterans’ Memorial Coliseum

1981-05-15 – Athletic Center – Rutgers U

1981-08-16 – MacArthur Court – University of

1981-08-31 – Aladdin Theater

1981-09-12 – Greek Theatre, U. Of California

1981-09-25 – Stabler Arena

1981-10-04 – Rainbow Theater

1981-10-19 – Sports Palace

1981-12-03 – Dane County Coliseum

1981-12-09 – Events Center, U of Colorado

1981-12-26 – Oakland Auditorium

1982-02-17 – Warfield Theater

1982-03-14 – Recreation Hall – University of

1982-04-03 – Scope

1982-04-15 – Providence Civic Center

1982-05-23 – Greek Theatre – University of C

1982-07-25 – Compton Terrace Amphitheatre

1982-07-31 – Manor Downs

1982-08-06 – St. Paul Civic Center

1982-09-20 – Madison Square Garden

1982-11-25 – Bob Marley Performing Arts Cent

1982-11-26 – Bob Marley Performing Arts Cent

1982-12-27 – Oakland Auditorium

1983-03-26 – Aladdin Theatre

1983-04-13 – The Patrick Gymnasium, U of V

1983-06-18 – Saratoga Performing Arts Center

1983-06-27 – Poplar Creek Music Theater

1983-07-31 – Ventura County Fairgrounds

1983-09-04 – Park West Ski Resort

1983-09-13 – Manor Downs

1983-10-14 – Hartford Civic Center

1983-10-21 – The Centrum

1983-12-27 – San Francisco Civic Center

1984-03-31 – Marin County Veterans Aud

1984-04-13 – Hampton Coliseum

1984-04-20 – Philadelphia Civic Center

1984-04-26 – Providence Civic Center

1984-06-21 – Kingswood Music Theatre

1984-07-13 – Greek Theatre – University of C

1984-10-15 – Civic Center

1984-10-30 – Berkeley Community Theater

1984-12-31 – San Francisco Civic Auditorium

1985-02-20 – Henry J. Kaiser Convention Cent

1985-06-16 – Greek Theater, U. of California

1985-07-01 – Merriweather Post Pavilion

1985-09-15 – Devore Field

1985-11-11 – Brendan Byrne Arena

1986-02-12 – Henry J. Kaiser Convention Cent

1986-05-03 – Cal Expo Amphitheatre

1986-12-28 – Henry J. Kaiser Convention Cent

1987-01-29 – San Francisco Civic Center

1987-03-01 – Henry J. Kaiser Convention Cent

1987-04-02 – The Centrum

1987-04-09 – UIC Pavilion – University of Il

1987-05-10 – Laguna Seca Raceway

1987-06-14 – Ventura County Fairgrounds

1987-06-30 – Kingswood Music Theatre

1987-07-08 – Roanoke Civic Center

1987-08-15 – Town Park

1987-08-23 – Calaveras Co. Fairgrounds

1987-11-15 – Long Beach Arena

1988-03-16 – Henry J Kaiser Convention

1988-03-27 – Coliseum

1988-04-15 – Rosemont Horizon

1988-06-28 – Saratoga Performing Arts Center

1988-07-15 – Greek Theater – University of C

1988-09-02 – Capital Centre

1989-03-27 – The Omni

1989-04-06 – Crisler Arena – University of M

1989-04-16 – Mecca

1989-08-06 – Cal Expo Amphitheatre

1989-10-20 – The Spectrum

1990-02-26 – Oakland-Alameda County Coliseum

1990-03-22 – Copps Coliseum

1990-06-15 – Shoreline Amphitheatre

1990-07-04 – Sandstone Amphitheatre

1990-07-21 – World Music Theatre

1990-09-10 – The Spectrum

1990-09-14 – Madison Square Garden

1990-10-19 – Internationales Congress Centru

1990-12-09 – Compton Terrace Amphitheatre

1990-12-27 – Coliseum Arena

1991-03-21 – Capital Centre

1991-03-27 – Nassau Veterans Memorial

1991-04-27 – Sam Boyd Silver Bowl, U.N.L.V.

1991-06-25 – Sandstone Amphitheatre

1991-08-16 – Shoreline Amphitheatre

1991-09-04 – Richfield Coliseum

1991-09-13 – Madison Square Garden

1991-12-27 – Oakland-Alameda County Coliseum

1992-05-21 – Cal Expo Amphitheatre

1992-05-31 – Sam Boyd Silver Bowl

1992-06-12 – Knickerbocker Arena

1992-06-22 – Star Lake Amphitheater

1992-12-17 – Oakland Coliseum Arena

1993-03-28 – Knickerbocker Arena

1993-06-21 – Deer Creek Music Center

1993-08-25 – Shoreline Amphitheatre

1993-09-13 – The Spectrum

1993-09-24 – Boston Garden

1993-12-10 – Los Angeles Sports Arena

1993-12-19 – Oakland-Alameda County Coliseum

1994-03-16 – Rosemont Horizon

1994-03-30 – The Omni

1994-06-19 – Autzen Stadium – University of

1994-10-01 – Boston Garden

1994-10-14 – Madison Square Garden

1995-05-26 – Memorial Stadium

(More Concert Info is available by clicking on the image below)

Grateful Dead – The 1966 Tapes On The Internet Archive   33 comments

The Grateful Dead Concert Tapes On The Internet Archive

The Internet Archive’s Grateful Dead is a great collection of concert tapes. There are over 2,000 unique concerts. There are multiple recordings of most concerts. This series attempts to provide a simple interface to this collection by selecting one recording for each concert on a given date. Preference is given to tapes processed by the great Charlie Miller and sound board tapes. Not all shows are well recorded but the there are great moments here. Dig in and enjoy! You didn’t have to be there. Good Luck.

The Grateful Dead: Dark Star Rising (1966 – 1969)

After leaving the Army in 1960 (the story goes that he lost a tank) Jerry Garcia gravitated towards bluegrass (playing banjo in his band Mother McCree’s Uptown Jug Champions and LSD (1964). Jerry, Pigpen, Phil, Bill and (the under aged) Bob formed the Warlocks in 1965 playing as the ‘house band’ with Ken Kesey’s Acid Tests in San Francisco. Tom joined in 1968 and was very important to the massive Dark Stars of yore. Owsley Stanley (The Bear) was both chemist and sound man for the Grateful Dead. Between 1965 and 1967, Stanley produced and help distribute more than 1.25 million doses of LSD. Owsley helped develp the distinctive ‘Steal You Face’ Skull logo for the Dead. Many of the early live recordings of the Grateful Dead where due to Owsley’s efforts and his unique approach to clairity and simplicity in miking allows us to experence much of the early shows ‘as they were.’

In 1968 The Grateful Dead included these members:

Jerry Garcia
Bob Weir
Ron “Pigpen” McKernan
Phil Lesh
Bill Kreutzmann
Mickey Hart
Tom Constanten

In This Series:

____ 1970 1980 1990
____ 1971 1981 1991
____ 1972 1982 1992
____ 1973 1983 1993
____ 1974 1984 1994
____ 1975 1985 1995
1966 1976 1986 ____
1967 1977 1987 ____
1968 1978 1988 ____
1969 1979 1989 ____

Additional details of the Internet Archive Collection and how these lists were generated can be found here.

My blogs on individual Grateful Dead show can be found here.

A list of all soundboard tapes of Dark Star performances on the Internet Archive can be found here.

A list of all soundboard tapes of Scarlet Begonia -> Fire On The Mountain performances on the Internet Archive can be found here.

The amazing Internet Archive in a global treasure of archived public domain Moving Images, Live Music, Audio recording and Text. For Dead head the Internet Archives Grateful Dead collection is priceless.   Here is the basic statement of purpose from the Internet Archive on the Grateful Dead collection:

About Grateful Dead concerts on the Archive

Audience-made Grateful Dead concert recordings are available as downloads while available soundboards are accessible in streaming format only.

The Grateful Dead is being separated from the Live Music Archive into its own collection (with its own forum) to avoid confusion about lossless availability. The metadata and reviews for shows and recordings, even those not available for regular download, will remain available for those who maintain direct links. No filesets have been deleted from the Archive; certain items are simply not public now. Prior to our completing the changes, text files are easily referenced at a separate database.

At this time, the Grateful Dead collection is not open to public uploads. The Grateful Dead Internet Archive Project (GDIAP) will continue its direct management of this collection for the time being.

As far as we know, there has been no change to standard GD fan trading. It is common for bands to have policies that differ between fan trading, versus archiving here.

Please note the comments on “The Grateful Dead Internet Archive Project”  Recording range from the primordial Acid Test Recording from 1965 through the final Grateful Dead concert in 1995.  There are multiple recordings of most concerts ranging from audience recordings through full digitally recorded soundboard ‘tapes’.  Quality ranges from very poor to almost perfect.  Note that concerts which have been released by the Grateful Dead organization or by Rhino records are no longer available on the Internet Archive.

In 2011 I started a demonstration project for CouchDB on the windows platform using Ruby on Rails and (later) Microsoft MVC.  This lead to a series of blog posts on reverse engineering the Internet Archive’s Grateful Dead collection and collecting an abstract of meta data into couchdb (note the recording themselves were NOT loaded into my local couchdb database).  The Ruby On Rails series of posts can be found here. The MVC post can be found here.  Reviewing the concerts has lead me to post a series of blogs on concert recording of the Grateful Dead I personally found interesting.  This series, which can be found here, is on going.

The 1966 Tapes

This current blog lists hyperlinks into the Internet Archive for the  1966 recordings.  Please note I am listing here ONE recording per performance.  The achieve includes tapes contributed by multiple sources.  I am using a simple hierarchical method to select which recording to list for each date:

  1. The recording is a soundboard recording processed by Charlie Miller
  2. The recording is a soundboard recording
  3. The is the most recently submitted tape for a given date

The tape linked here is not necessarily the best recording for a given date but it is the best an algorithm can select. Just click the Listen hyperlink to jump to the Internet Archive and its player to hear the concert.  If you are interested in other recording on the same date click on the “check for other copies” link within the Internet Archives page.  I will be posting additional years as time passes.  Have fun and keep dancing.  Remember, Jerry died for our sins.

1966-00-00 – Various – See info file Listen

1966-01-01 – Viola Lee Blues Reahearsals Listen

1966-01-08 – Fillmore Auditorium Listen

1966-01-29 – Sound City Recording Studios Listen

1966-02-12 – Youth Opportunities Center Listen

1966-02-25 – Ivar Theater Listen

1966-03-12 – Danish Center Listen

1966-03-19 – Carthay Studios Listen

1966-03-25 – Trouper’s Hall Listen

1966-05-19 – Avalon Ballroom Listen

1966-06-01 – Scorpio Studio Outtakes Listen

1966-06-15 – Various Listen

1966-07-01 – Unknown (perhaps Fillmore Auditorium) Listen

1966-07-03 – Fillmore Auditorium Listen

1966-07-16 – Fillmore Auditorium Listen

1966-07-17 – Fillmore Auditorium Listen

1966-07-29 – P.N.E. Garden Auditorium Listen

1966-07-30 – P.N.E. Garden Auditorium Listen

1966-08-01 – Various Listen

1966-09-16 – Avalon Ballroom Listen

1966-10-02 – San Francisco State University Listen

1966-10-07 – Winterland Arena Listen

1966-10-31 – Winterland Arena Listen

1966-11-19 – Fillmore Auditorium Listen

1966-11-29 – The Matrix Listen

1966-12-01 – The Matrix Listen

1966-12-04 – The Matrix Club Listen

1966-12-05 – Studio Listen

Microsoft MVC 3 and CouchDB – Low Level Get Calls   1 comment

I have written elsewhere on couchdb on Windows and using Ruby on Rails to interface to this system.  These posts can be found here:couchdb

Part 0 – REST, Ruby On Rails, CouchDB and Me

Part 1 – Ruby, The Command Line Version

Part 2 – Aptana IDE For Ruby

Part 3 CouchDB Up and Running on Windows

Part 4 – CouchDB, Curl and RUBY

Part 5 – Getting The Data Ready for CouchDB

Part 6 – Getting The Data Into And Out Of CouchDB

Part 7 – JQUERY,JPlayer and HTML5

In my work life I work in a Microsoft shop which for us means Microsoft servers for the back end and (mostly) pure HTML/AJAX frontends.  We are transitioning towards using Microsoft MVC 3 to provide HTTP end points for our AJAX calls.  Here are some notes from my POC work in this area.  My couch data consists of documents describing Grateful Dead concerts stored on the great site Internet Archive, if you have never visited the Internet Archive, please do so.  I back engineered the meta data of IA’s extensive collection of Dead concerts (over 2,000 concert recordings).  Visit the Grateful Dead Archive Home at the Internet Archive here.

CouchDB Documents and Views

I stored the meta data into a local couchdb (running on Windows XP).  The basic document I am storing is a master detail set for the ‘best’ recording for each Dead concert.  The Master part of the document contains the date, venue and other data of the concert and the detail set is an array of meta data on each song preformed during the concert.  As is traditional with couchdb, the documents are represented as JSON strings.  Here is what the document for the UR recording (1965-11-01) found on the IA:


“_id”: “1965-11-01”,tumblr_ld4jfoNw7F1qai6ym

“_rev”: “1-6ea272d20d7fc80e51c1ba53a5101ac1”,

“mx”: false,

“pubdate”: “2009-03-14”,

“sb”: true,

“venue”: “various”,

“tracks”: [


“uri”: “ 01.sbd.bershaw.5417.sbeok.shnf/Acid4_01_vbr.mp3”,

“track”: “01”,

“title”: “Speed Limit”,

“time”: “09:48”



“uri”: “”,

“track”: “02”,

“title”: “Neil Cassidy Raps”,

“time”: “02:19”




Couchdb allow the creation of views which are binary trees with user defined Keys and user defined sub sets of the document data.  If one wanted to return the venue and the tracks for each concert for a given Month and Day (across all years) the view created in couchdb would look like:

“MonthDay”: {

“map”: “function(doc){emit(doc._id.substr(5,2)+doc._id.substr(8,2),[doc.venue , doc.IAKey, doc.tracks ])}”


This view allows us to use and HTTP GET to pass in a monthday key (e.g. “1101”) and get back (as a JSON array)

the date (MMDDYY: doc._id.substr(5,2)+doc._id.substr(8,2))

the venue (doc.venue);

the AI URI of the concert (doc.IAKey); and

an array of track data (doc.tracks)

MVC URL Routing Maps

Although we could call couchdb directly from the browser, we normally work through a gateway system for security, so we will build a shim to sit between the browser and couchdb.  This allows us to flow the authentication / authorization stack separately from couchdb’s security system.  In MS MVC we can create a new HTTP endpoint for AJAX calls (our shim) is a very simple manner. Let’s create an endpoint which will look like:

http:\\{our server path}\DeadBase\MonthDay\{month}\{day}

where vacuum_routing

http:\\{our server path}\DeadBase\MonthDay\111

would request month:11 and day:01 concerts.  In MVC we can declare this routing as:




new { controller = “DeadBase”, action = “RestMonthDay”,null} );

Done.  Interestingly in MVC 3 this route definition will accept either the form:

http:\\{our server path}\DeadBase\MonthDay\{month}\{day} ; or

http:\\{our server path}\DeadBase\MonthDay?month=”??”&day=”??”

In the second form,  parameter order does not matter, but case does; quotation marks are optional and need to be dealt with internally by the action method.

either of these call will resolve to the same controller and method.

MVC Controller and Method HandlerMVC

We now need to create the shim which will be the target for the Http Endpoint.  In C# this looks like:

public class DeadBaseController : Controller

public string RestMonthDay( string month, string day )
//our shim code goes here



We able to use string as our return type because we will be calling couchdb which returns a string from of JSON by default.  As a side note if we wanted to use MVC 3 to return JSON from a native C# object our controller method takes a different form:

public JsonResult GetStateList()


List<ListItem> list = new List<ListItem>() {

new ListItem() { Value = “1”, Text = “VA” },

new ListItem() { Value = “2”, Text = “MD” },

new ListItem() { Value = “3”, Text = “DC” } };

return this.Json(list);


Our AJAX call from the browser does not need to know any of these details.  Here is one way to code the call in JavaScript using JQuery:

var url = urlBase + “?” + args;ajax


url: url,

dataType: ‘json’,

success: okCallBack,

error: nookCallBack


function okCallBack(data) {

gdData = data;

//do something useful here


function nookCallBack(xhr, ajaxOptions, errorThrown) {

alert(“ErrorText:” + errorThrown + ” ” + “Error Code:” + xhr.status);



From Handler to CouchDB in C#

Here is the rest of the generic C# code to go from the Handler to CouchDB and back.

Clean the parameters and pass the call to a generic couchDB GET caller:mvc


Format the view name and parameter into couchdb format  and pass to the low level couchDB caller:


Classic Framework HTTP code to make the HTTP GET and return the results as a string back up the call stack:


We could (and did) take our Browser code from the Ruby on Rails project above and with minimum changes call our MVC shim.

Simple clean and fun.

Occupy your mind2

%d bloggers like this: