Skip to content

Instantly share code, notes, and snippets.

@redconfetti
redconfetti / resources.md
Last active April 1, 2024 05:27
Clockwork Pi uConsole Resources
@redconfetti
redconfetti / rpibat.sh
Last active March 29, 2024 18:59
View Battery Level in Clockwork Pi uConsole terminal
#!/bin/bash
BATTERY_DIR="/sys/class/power_supply/axp20x-battery"
echo "$(cat $BATTERY_DIR/capacity)%"
echo "Health: $(cat $BATTERY_DIR/health)%"
echo "Current: $(cat $BATTERY_DIR/current_now)%"
echo "Voltage: $(cat $BATTERY_DIR/voltage_now)%"
@redconfetti
redconfetti / access-virus-ti-firmware.md
Created March 27, 2024 10:45
Access Virus TI Firmware

Access Virus TI Firmware

Download the "Virus TI Installer 5.1.7.00 for macOS" from Virus.info. The file should save as "Virus TI Software Suite 5.1.7.00.pkg". Rename the file as "virus.pkg".

Open a terminal and run the following command to copy the firmware binary to your local path:

$ pkgutil --expand-full virus.pkg virus_pkg
$ ls "virus_pkg/Core_components.pkg/Payload/Library/Application Support/Access Music/Virus TI/Common"
@redconfetti
redconfetti / alesis-quadrasynth-qs-series.md
Last active March 20, 2024 03:52
Alesis Quadrasynth / QS Series

Alesis Quadrasynth / QS Series

[Alesis Studio Electronics][] was founded in 1984 in Hollywood, California. Initially started by selling digital effects processors at a price more accessible to home project studios, they branched out into sequencers, drum machines, and revolutionized the audio industry by introducing the ADAT digital tape standard.

The [Alesis Quadrasynth series][] seems to be named after the QuadraVerb 2 FX processor that was developed for the [QuadraVerb 2 multi-effects][] unit

@redconfetti
redconfetti / moog-sub-37.xml
Last active March 7, 2024 05:02
Moog Sub 37 MIDI Device Configuration for Cubase
<?xml version="1.0" encoding="utf-8"?>
<MidiDevices>
<list name="Devices" type="obj">
<obj class="PMidiParameterDevice" ID="140502802700288">
<int name="RuntimeID" value="408"/>
<string name="DeviceNode Name" value="Moog Sub 37" wide="true"/>
<string name="ClassName" value="Midi Device"/>
<string name="IDString" value="Moog Sub 37"/>
<list name="Children" type="obj">
<obj class="PMidiDeviceNode" ID="140501191468944">
@redconfetti
redconfetti / README.md
Created February 6, 2024 04:26
Moog Subsequent 37 - Cubase MIDI Device Manager Setup

README

In Cubase 13 under Studio > More Options > MIDI Device Manager, click on 'Import Setup' and import moog-sub-37-cubase-midi-device.xml so that Cubase supports all the default patch names in the Program Selector menu of your MIDI tracks.

@redconfetti
redconfetti / cleanup.sh
Created November 7, 2023 03:13
Cleanup Builds Directory
#!/bin/bash
# Cleanup Builds
#
# Obtains latest Git commit SHAs from branches in remote origin
# and assembles an array of build filenames to retain in a build directory (e.g. app-build-$commit_sha.war)
# Runs command to remove all found files except those identified in array
readonly BUILD_DIR=./builds
@redconfetti
redconfetti / dosn.md
Last active September 25, 2021 22:11
Distributed Open Social Network

I wish a suite of protocols existed for the internet, much like FTP, SSH, and HTTP, to support an open distributed social network.

I'd like to adopt or contribute to such a thing. Here is a list of the requirements that I can think of that I'd set for such a suite.

  • Interoperability - Ability to migrate your data between systems
  • Distributed - Much like a website is an isolated resource, each persons own photos, posts, etc. should be stored on their own node. They can pay a company to host their node as a service for them, or they can run their own software that conforms to the protocols to host their own node.
@redconfetti
redconfetti / asynchronous-http-requests-js.md
Last active August 30, 2021 01:17
Asynchronous HTTP Requests in JavaScript with Fetch, Async, and Await

Pure JavaScript

JavaScript makes AJAX requests asynchronously, so you can't expect the code to wait for a return value. You have to use a callback function to process the data when it is returned.

In the past you would use a library to make HTTP requests, like jQuery, the AngularJS $http service, or the Axios library (used in older ReactJS applications).

Now JavaScript supports a new API called Fetch.

These libraries, and Fetch, return an object known as a Promise object. The Promise wraps the actual request function in a handler that enables you configure callback functions that are called upon success or failure of the request.