Skip to content

Instantly share code, notes, and snippets.

Avatar
💻
working on some cool shit 👀

Michael Mitchell Ovyerus

💻
working on some cool shit 👀
View GitHub Profile
@Ovyerus
Ovyerus / The Ultimate Naming Script.ptsp
Created Aug 23, 2022
The best Picard naming format
View The Ultimate Naming Script.ptsp
title: The Ultimate Naming Script
description: ""
author: ''
license: ''
version: ''
last_updated: 2022-03-03 13:29:23 UTC
script_language_version: '1.1'
script: |
$if($gt(%totaltracks%,1),%albumartist% - %album%/,)
$if($gt(%totaltracks%,1),$if($gt(%totaldiscs%,1),%discnumber%-,)$num(%tracknumber%, 2),) %artist% - %title%
@Ovyerus
Ovyerus / profile.ps1
Created Apr 1, 2022
epic powershell prompt
View profile.ps1
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 { "[" };
@Ovyerus
Ovyerus / config.fish
Last active Feb 28, 2020
Helpful fish aliases and stuff
View config.fish
# 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 / yes.js
Created Feb 22, 2020
Serially execute a chunk of parallel tasks one after another (without caring about return value)
View yes.js
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 Aug 7, 2020
Sexy fish prompt
View config.fish
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 / index.js
Created Jan 31, 2020
cool async generator helper for nodejs stdin
View index.js
/** 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 / cameraplus.cfg
Created Jan 10, 2020
My CameraPlus config
View cameraplus.cfg
fov=110
antiAliasing=2
renderScale=1
positionSmooth=5
rotationSmooth=5
cam360Smoothness=2
thirdPerson=False
showThirdPersonCamera=True
use360Camera=False
posx=1.155572
View keybase.md

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:

View clarisa.md

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.