<commit_before># Music organisation and streaming system

Tchaik is an open source music organisation and streaming system.  The backend is written in [Go](http://golang.org), the frontend is built using [React](https://facebook.github.io/react/) and [Flux](https://facebook.github.io/flux/).

![Tchaik UI](https://s3-ap-southeast-2.amazonaws.com/dhowden-pictures/screenshot.jpg "Tchaik UI")

# Features

* Automatic prefix grouping and enumeration detection (ideal for classical music: properly groups big works together).
* Multiplatform web-based UI and REST-like API for building remote controls.
* Multiple storage options: Amazon S3, local and remote file stores.
* Imports iTunes Music Library files.

# Getting up and running

### Requirements

* Go 1.4 (recent changes have only been tested on 1.4.2).
* NodeJS, NPM and Gulp installed globally (for building the UI).
* Recent version of Chrome/Firefox/Safari.

### Building

    $ go get github.com/dhowden/tchaik/...

Which will fetch the code and build the command line tools, putting the executables into `$GOPATH/bin` (which is assumed to be in your `PATH` already).

Building the UI:

    $ cd $GOPATH/src/github.com/dhowden/tchaik/cmd/tchaik/ui
    $ npm install
    $ NODE_ENV=development gulp

Alternative, if you want the JS and CSS to be recompiled, and have the browser refreshed as you change the source files:

    $ WS_URL="ws://localhost:8080/socket" NODE_ENV=development gulp serve

Now you can start Tchaik.  For the moment this means first moving to the cmd/tchaik directory:

    $ cd $GOPATH/src/github.com/dhowden/tchaik/cmd/tchaik<commit_msg>Updated README to use new github user<commit_after># Music organisation and streaming system

Tchaik is an open source music organisation and streaming system.  The backend is written in [Go](http://golang.org), the frontend is built using [React](https://facebook.github.io/react/) and [Flux](https://facebook.github.io/flux/).

![Tchaik UI](https://s3-ap-southeast-2.amazonaws.com/dhowden-pictures/screenshot.jpg "Tchaik UI")

# Features

* Automatic prefix grouping and enumeration detection (ideal for classical music: properly groups big works together).
* Multiplatform web-based UI and REST-like API for building remote controls.
* Multiple storage options: Amazon S3, local and remote file stores.
* Imports iTunes Music Library files.

# Getting up and running

### Requirements

* Go 1.4 (recent changes have only been tested on 1.4.2).
* NodeJS, NPM and Gulp installed globally (for building the UI).
* Recent version of Chrome/Firefox/Safari.

### Building

    $ go get github.com/tchaik/tchaik/...

Which will fetch the code and build the command line tools, putting the executables into `$GOPATH/bin` (which is assumed to be in your `PATH` already).

Building the UI:

    $ cd $GOPATH/src/github.com/tchaik/tchaik/cmd/tchaik/ui
    $ npm install
    $ NODE_ENV=development gulp

Alternative, if you want the JS and CSS to be recompiled, and have the browser refreshed as you change the source files:

    $ WS_URL="ws://localhost:8080/socket" NODE_ENV=development gulp serve

Now you can start Tchaik.  For the moment this means first moving to the cmd/tchaik directory:

    $ cd $GOPATH/src/github.com/tchaik/tchaik/cmd/tchaik
{'fraction_non_alphanumeric': 0.09305172941536578, 'fraction_numerical': 0.0073461891643709825, 'mean_word_length': 4.130298273155416, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6283017', 'n_tokens_mistral': 1029, 'n_tokens_neox': 967, 'n_words': 377}