Tech

The hackathon will involve Travis CI data, either online through a websocket, or offline with a dump of 35M Travis jobs.

Input stream : the Travis CI WebSocket

A websocket with Travis builds is available at ws://travis.durieux.me. More information about the streamed objects is available here. This tool uses Travis-CI npm package to gather jobs information. Job informations are gethered every 1.5 seconds and then exposed through the websocket channel in a “real-time” stream. More information about how Travis exposes information here

PYTHON

Install the websocket client package

pip3 install websocket_client

Run the following code:

import websocket
def on_message(ws, message):
    print(message)

websocket.enableTrace(True)
ws = websocket.WebSocketApp("wss://travis.durieux.me/",on_message = on_message)
ws.run_forever()

JavaScript

ws = new WebSocket('wss://travis.durieux.me’);
ws.onmessage = console.log

More information is available here.

openFrameworks and SuperCollider

A template using a node.js program to “convert” the websocket packets of Travis data to OSC messages that can be parsed by anything that understands OSC and JSON. openFrameworks and SuperCollider examples are provided to build upon. See the templates section of the repository or click this link.

Travis Listener (NodeJS)

Travis Listener provides a websocket server for easier use (documentation)

Tangible output technology

We have setup hardware bridges to exploit the unique space of reaktorhallen. Participants have the opportunity to hook on two hardware interfaces

Light fixtures

We will setup 20 light fixtures in reaktorhallen, which can be controlled through a simple web interface. Hackathon participants can use the ligth fixtures emulator to prepare their piece of CI art. The same code can be reused to control real light fixtures on the day of the hackathon. More documentation about this interface is available here

Visualization

Here are popular Javascript libraries for data vizualization

For example, the Travis CI drum machine uses the P5.js library.

Organ

To be documented.

Sound & reverb of the hall

Impulse response files recorded in the reactor hall can be used to simulate its reverb in the computer. Read more here or go to resources/impulse-response_of_reaktorhallen.

Sonification

Here are examples of sound synthesis libraries

For example, the Pulse of Travis uses tone.js.

Other resources

A collection of libraries, code examples and papers that can serve to build CI-art pieces.