{"id":22859941,"url":"https://github.com/reelyactive/owlidays2024","last_synced_at":"2026-02-15T15:04:12.875Z","repository":{"id":265268020,"uuid":"895638534","full_name":"reelyactive/owlidays2024","owner":"reelyactive","description":"The 2024 Owl-idays hootenanny!  We believe in an open Internet of Things.","archived":false,"fork":false,"pushed_at":"2024-12-15T00:18:17.000Z","size":2550,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-07T09:09:45.175Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/reelyactive.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-11-28T15:29:10.000Z","updated_at":"2024-12-15T00:18:20.000Z","dependencies_parsed_at":"2025-02-06T12:42:52.858Z","dependency_job_id":"16f4106f-e5d9-4cbb-b95f-bfe0861a6741","html_url":"https://github.com/reelyactive/owlidays2024","commit_stats":null,"previous_names":["reelyactive/owlidays2024"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/reelyactive/owlidays2024","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reelyactive%2Fowlidays2024","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reelyactive%2Fowlidays2024/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reelyactive%2Fowlidays2024/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reelyactive%2Fowlidays2024/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reelyactive","download_url":"https://codeload.github.com/reelyactive/owlidays2024/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reelyactive%2Fowlidays2024/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29481925,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-15T11:35:25.641Z","status":"ssl_error","status_checked_at":"2026-02-15T11:34:57.128Z","response_time":118,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-13T09:08:29.901Z","updated_at":"2026-02-15T15:04:12.844Z","avatar_url":"https://github.com/reelyactive.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Owl-idays 2024\n==============\n\nThis project creates a choir of cellphones (or any device with a browser) that coordinate a performance of holiday spirit, fueled by data from ParetoAnywhere!\n\nWhat's Going On?\n====================\n\nEach star represents a raddec served up by Beaver, a Pareto Anywhere module that maintains an up-to-date hyperlocal context graph by consuming the real-time data stream from Pareto Anywhere APIs.\n\nPressing \"Play!\" launches a midi file, synced across all connected devices, __even those that join after the performance has started__.\n\nWhen the performance starts, the midi channels are distributed to all of the connected devices, and instruments are picked at random, so no performance is the same twice, and everyone gets their own unique part to play. A Pareto Anywhere mascot appears for each voice in the midi file. Each mascot sings the notes for its assigned channel.\n\nAround each mascot spin icons representing all the dynamb values captured by Pareto Anwhere and passed along through Beaver.\n\nWhy is this cool?\n====================\n\nThere's some neat time-syncing code going on, so that multiple devices can have have really close to the same time. This is useful for playing midi files together, but could be useful for lots of other things.\n\nThe graphics make use of lots of BLE data, like Raddecs and Dynambs, in a way that's not just fun, but could also be useful for ambient displays, to increase awareness of the incredible amount of interesting and useful data floating around us all the time. \n\nPrerequisites\n=============\n- [Pareto Anywhere](https://github.com/reelyactive/pareto-anywhere) running somewhere on your network. Note the IP address and port, you'll need it for configuring the app.\n\n- Some BLE devices nearby. Unless you live in a lead-lined cave in siberia, this should be no problem.\n\nInstallation\n============\n\nClone this repository, then run the following commands:\n\n```\ncd owlidays2024\nnpm install\ncd bin\n./installservice.sh\nsystemctl --user start owlidays2024.service \n```\n\nNow it should be running.\n\nYou may choose to edit web/js/index.js to set the values for:\n```\nDEFAULT_BEAVER_URL = IP ADDRESS OF PARETO ANYWHERE\nDEFAULT_BEAVER_PORT = PORT OF PARETO ANYWHERE\n```\n\nIf you don't, it will default to the same IP address as the service. You can change these values in the web interface itself.\n\nWith as many cell phones as you want, connect to the same network that this service is running on.\n\nhttp://[YOUR IP]:3003/index.html\n\nIf Beaver isn't running on the same server as this service, you can set the IP and port of Pareto Anywhere by selecting \"Setup\" and entering the values.\n\nTap \"Play!\" to start the performance.\n\nEnjoy the festivities!\n\n\nCustomizing the performance\n============================\n\n**bin/owlidays2024** : In the options objecdt, you can change the midifile to play. Songs with lots of differerent parts are the most fun. You can also change the WEBSERVER_PORT and WEBSOCKET_PORT to change the port the service runs on.\n\n**web/js/index.js** : You can change the images for the singers, and the icons for the dynambs.\n\nContributing\n------------\n\nDiscover [how to contribute](CONTRIBUTING.md) to this open source project which upholds a standard [code of conduct](CODE_OF_CONDUCT.md).\n\n\nSecurity\n--------\n\nConsult our [security policy](SECURITY.md) for best practices using this open source software and to report vulnerabilities.\n\n\nLicense\n-------\n\nMIT License\n\nCopyright (c) 2024 [reelyActive](https://www.reelyactive.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR \nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, \nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE \nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER \nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, \nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN \nTHE SOFTWARE.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freelyactive%2Fowlidays2024","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freelyactive%2Fowlidays2024","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freelyactive%2Fowlidays2024/lists"}