- They're > 10 years old and already on every platform (JS, Ruby, Python..)
- They're like multi-valued Promises.
- They're cancelable, and their compoositions remain cancelable.
- Netflix is built on 'em, Microsoft originally built them—they're here to stay.
- Angular and GraphQL are built around them, React integrates well
- You can do normal collection operations on them (
filter,map). - You can do async wizardry with them (
bufferWithTimeOrCount). - Their schedulability means your test code can run in 'virtual time'.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /ip firewall address-list add list=MStelemetry address=111.221.29.177 | |
| /ip firewall address-list add list=MStelemetry address=111.221.29.253 | |
| /ip firewall address-list add list=MStelemetry address=131.253.40.37 | |
| /ip firewall address-list add list=MStelemetry address=134.170.30.202 | |
| /ip firewall address-list add list=MStelemetry address=134.170.115.60 | |
| /ip firewall address-list add list=MStelemetry address=134.170.165.248 | |
| /ip firewall address-list add list=MStelemetry address=134.170.165.253 | |
| /ip firewall address-list add list=MStelemetry address=134.170.185.70 | |
| /ip firewall address-list add list=MStelemetry address=137.116.81.24 | |
| /ip firewall address-list add list=MStelemetry address=137.117.235.16 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 'use strict'; | |
| const authentication = require('feathers-authentication'); | |
| const jwt = require('feathers-authentication-jwt'); | |
| const local = require('feathers-authentication-local'); | |
| const oauth2 = require('feathers-authentication-oauth2'); | |
| const GithubStrategy = require('passport-github'); | |
| // Bring in the oauth-handler | |
| const makeHandler = require('./oauth-handler'); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # https://github.com/salsita/node-pg-migrate | |
| npm install node-pg-migrate |
To set it up:
- copy
gulp-config.json.exampletogulp-config.json - enter the blog admin url, no trailing slash, e.g. https://myblog.ghost.io
- grab the client secret for the frontend from the source of any page of the blog
- enter the email address & password you use to login to the blog (must be administrator-level)
To deploy:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # synthio_midi_synth.py - pretty usable MIDI-controlled synth using synthio in CircuitPython | |
| # 11 May 2023 - @todbot / Tod Kurt | |
| # Uses cheapie PCM5102 DAC on QTPY RP2040 | |
| # Video demo: https://www.youtube.com/watch?v=N-PbbWWDE6k | |
| # Features: | |
| # - midi velocity controls attack rate (gentle press = slow, hard press = fast) | |
| # - notes have small random detune on all oscillators to reduce phase stacking | |
| # - adjustable number of detuned oscillators per note 1-5 (midi controller 83) | |
| # - five selectable waveforms: saw, squ, sin, noisy sin, noise (midi controller 82) | |
| # - vibrato depth on mod wheel (midi controller 1) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import ulab.numpy as np | |
| import random | |
| import synthio | |
| SAMPLE_SIZE = 200 | |
| sinwave1 = np.array(np.sin(np.linspace(0, 2*np.pi, SAMPLE_SIZE, endpoint=False)) * 32767, dtype=np.int16) | |
| sinwave2 = np.array(np.sin(np.linspace(np.pi/2, 2.5*np.pi, SAMPLE_SIZE, endpoint=False)) * 32767, dtype=np.int16) | |
| downwave = np.linspace(32767, -32767, num=3, dtype=np.int16) | |
| noisewave = np.array([random.randint(-32767, 32767) for i in range(SAMPLE_SIZE)], dtype=np.int16) |
OlderNewer