Skip to content

Instantly share code, notes, and snippets.

Working from home

Michael Mitchell Ovyerus

Working from home
View GitHub Profile
Ovyerus /
Last active Feb 28, 2020
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 / 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 /
Last active Aug 7, 2020
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 / 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() {
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 / cameraplus.cfg
Created Jan 10, 2020
My CameraPlus config
View cameraplus.cfg

Keybase proof

I hereby claim:

  • I am ovyerus on github.
  • I am ovyerus ( on keybase.
  • I have a public key ASBQtl_G8qlPAfiXLFkr95Ydxe61RFiCQn2tkbj2QjgCjQo

To claim this, I am signing this object:


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.
Ovyerus / cool-button.jsx
Created Apr 10, 2019
next-css `:export` issue
View cool-button.jsx
import styled from '@emotion/styled';
import variables from '../assets/styles/css';
export const CoolStyledButton = styled.button`
color: ${variables.primaryText};
background: ${variables.background};
Ovyerus / Cursor Flipper.ahk
Last active Dec 1, 2018
flip flop that cursor baby
View Cursor Flipper.ahk
; Constants
MOUSE_SWAP := 0x21
KEY_ORDER := ["Arrow","Help","AppStarting","Wait","Crosshair","IBeam","NWPen","No","SizeNS","SizeWE","SizeNWSE","SizeNESW","SizeAll","UpArrow","Hand"]
SCHEME = scheme name
; Generate scheme list
RegRead, SchemeList, HKEY_CURRENT_USER\Control Panel\Cursors\Schemes, % SCHEME,
SchemeList := StrSplit(SchemeList, ",")