Skip to content

Instantly share code, notes, and snippets.

View Ovyerus's full-sized avatar
😵
too many ideas!!

Michael Mitchell Ovyerus

😵
too many ideas!!
View GitHub Profile

Plans for Clarisa

  • Move to Erisa org and either keep name, or rename to @erisa/micro.
  • Essentially micro for bots.
  • Either single function export or programmatic instantiation.
    • Programmatic returns an instance of Erisa - still wraps single function.
  • Function export gets called with clarisa or @erisa/micro on the command line.
  • Ability to use command system without programmatic API
    • Either export as exports.commandSystem = true or config file?
    • Sets up a folder as a directory to load commands from.
    • Commands follow single function export like main.

Keybase proof

I hereby claim:

  • I am ovyerus on github.
  • I am ovyerus (https://keybase.io/ovyerus) on keybase.
  • I have a public key ASBQtl_G8qlPAfiXLFkr95Ydxe61RFiCQn2tkbj2QjgCjQo

To claim this, I am signing this object:

@Ovyerus
Ovyerus / cameraplus.cfg
Created January 10, 2020 03:22
My CameraPlus config
fov=110
antiAliasing=2
renderScale=1
positionSmooth=5
rotationSmooth=5
cam360Smoothness=2
thirdPerson=False
showThirdPersonCamera=True
use360Camera=False
posx=1.155572
@Ovyerus
Ovyerus / index.js
Created January 31, 2020 02:09
cool async generator helper for nodejs stdin
/** Helper for working with `process.stdin` as a char-by-char iterator */
async function* stdin() {
process.stdin.setEncoding('utf-8');
process.stdin.resume();
if (process.stdin.isTTY) process.stdin.setRawMode(true);
for await (const char of process.stdin) {
// raw mode doesn't get set when piping text into stdin, so often text is
// given altogether
if (char.length > 1) {
@Ovyerus
Ovyerus / yes.js
Created February 22, 2020 13:14
Serially execute a chunk of parallel tasks one after another (without caring about return value)
const chunk = (arr, n) =>
Array.from({ length: Math.ceil(arr.length / n) }, (v, i) =>
// eslint-disable-next-line no-mixed-operators
arr.slice(i * n, i * n + n)
);
const data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
chunk(data, 2)
// Turn each chunk into a function that will await all of its parts to resolve before finishing
@Ovyerus
Ovyerus / config.fish
Last active February 28, 2020 23:25
Helpful fish aliases and stuff
# Store normal bins
alias _cat (which cat)
alias _find (which find)
alias _grep (which grep)
alias _ls (which ls)
alias _nano (which nano)
# Alias cool and swag bins
alias cat 'bat'
alias find 'fd'
@Ovyerus
Ovyerus / config.fish
Last active August 7, 2020 04:11
Sexy fish prompt
set -g symb '▲'
set -g leading_brace 0
set -g has_launched 0
function git_info
set -l branch (git rev-parse --abbrev-ref HEAD 2> /dev/null)
printf "%s(%s%s%s)" $c0 $c1 $branch $c0
set -l changes (git status --porcelain --ignore-submodules 2> /dev/null)
@Ovyerus
Ovyerus / prompt-preview.png
Last active August 7, 2020 04:13
Hot powershell prompt
prompt-preview.png
/* Account Panel */
.account .btn-mute, .account .btn-deafen, .account .btn-settings {
border: none;
box-shadow: none;
transition: background-color 0.2s;
}
.account .btn-group {
border-radius: 50px;
}
@Ovyerus
Ovyerus / profile.ps1
Created April 1, 2022 05:47
epic powershell prompt
set-psreadlineoption -predictionsource history
$asciiSymbols = $false # If your terminal doesn't display unicode properly
$esc = [char]27
$r = "$esc[0m"
$symbols = @{
pathOpen = if (!$asciiSymbols) { "⌈" } else { "[" };
pathClose = if (!$asciiSymbols) { "⌋" } else { "]" };
timeOpen = if (!$asciiSymbols) { "⌊" } else { "[" };