- Install VoiceMeeter Banana
- Keep the windows default sound output as is. Select where you want to listen as always (Like a headphone)
- Select the
VoiceMeeter Output
as windows default input. (Your microphones and another virtual input will all be routed to this) - Start VoiceMeeter Banana
- Select your mic(s) in your hardware outputs, and route them only to channel B (Disable A, this will make sure that you wont hear your own mic)
- Let the Virtual Input routed to both A and B channels. (This will let everything that is routed into this virtual channel to be heard by both you and the virtual microphone)
- Select as the A1 output the MME variant of your main output (Like your headset. MME lets that sink recieve sound from multiple sources. WDM would take exclusive access which means that you either hear only the sounds you want to share or everything else).
- Select any sources in the Windows Sound Mixer
This file contains 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
const task = (i: number): Promise<number> => | |
new Promise((res, rej) => { | |
setTimeout( | |
() => { | |
if (i % 12 === 0) { | |
console.log('task reject', i); | |
rej('nope'); | |
} else { | |
console.log('task resolve', i); | |
res(i); |
This file contains 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
#!/bin/sh | |
# Converts a 1Money export to be used at Wallet | |
# Converts one Account at a time, places all found accounts into a folder | |
# called output | |
# Usage: | |
# ./convert_1money_to_wallet.sh 1moneyexport.csv | |
# Import settings: | |
# Go to https://web.budgetbakers.com/imports |
This file contains 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
#!/bin/sh | |
# This script will run npm pack on every dependency and dependencies of a dependency | |
# on 8 threads. It's useful if you want to then upload everything to a private registry. | |
mkdir packages | |
cd packages || exit 1 | |
# There is some unwanted garbage in the output of `npm ls` hence the inverted greps | |
npm ls --all --registry https://registry.npmjs.org 2> /dev/null | |
This file contains 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
#!/bin/sh | |
expand_single_args() { | |
var="${1#-}" # cut off first, and only dash | |
while [ "$var" ]; do | |
next="${var#?}" | |
first_char="${var%$next}" | |
echo "-$first_char" | |
var="$next" # next | |
done |
This file contains 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
/** | |
* Environment shape | |
*/ | |
export interface Environment { | |
/** | |
* Application version, straight from the package.json | |
*/ | |
version: string; | |
/** |
This file contains 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
export interface Model { | |
id: number; | |
} | |
export interface FooModel extends Model { | |
name: string; | |
} | |
export interface BarModel extends Model { | |
name: string; |
This file contains 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
export class Node<T> { | |
public left?: Node<T>; | |
public right?: Node<T>; | |
public constructor(public value: T) {} | |
public invert(): Node<T> { | |
return ([this.left, this.right] = [this.right?.invert(), this.left?.invert()]) && this; | |
} | |
public toString(): string { |
This file contains 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 { Actions, ofType } from '@ngrx/effects'; | |
import { ActionCreator } from '@ngrx/store'; | |
import { TypedAction } from '@ngrx/store/src/models'; | |
import { Observable, of } from 'rxjs'; | |
import { catchError, map, switchMap } from 'rxjs/operators'; | |
/** | |
* It will automatically strip the actions `type` field away before forwarding it | |
* to the httpCall. This way no accidental type fields are sent anywhere. | |
* |
This file contains 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 { OnDestroy } from '@angular/core'; | |
import { Subscription } from 'rxjs'; | |
/** | |
* Adds a subscription object and a default OnDestroy hook to the child component | |
* | |
* If ngOnDestroy is is overriden in the child component don't forget to call | |
* ```typescript | |
* super.ngOnDestroy(); | |
* ``` |
NewerOlder