Skip to content

Instantly share code, notes, and snippets.

View fabiospampinato's full-sized avatar

Fabio Spampinato fabiospampinato

View GitHub Profile
@fabiospampinato
fabiospampinato / rg.txt
Last active June 9, 2024 15:40
output for "rg something linux-master --sort path"
~/Downloads ❯ time (rg something linux-master --sort path)
linux-master/Documentation/ABI/stable/sysfs-class-infiniband
214: unless set to something else by the driver. Users may echo a
linux-master/Documentation/ABI/stable/sysfs-class-rfkill
64: transmitter is forced off by something outside of
78: The transmitter is forced off by something outside of
linux-master/Documentation/ABI/stable/vdso
14:if you set CS on x86 to something strange, the vDSO functions are
@fabiospampinato
fabiospampinato / gg.txt
Last active June 9, 2024 15:40
output for "gg something linux-master --sort path"
~/Downloads ❯ time (gg something linux-master --sort path)
linux-master/Documentation/ABI/stable/sysfs-class-infiniband
214: unless set to something else by the driver. Users may echo a
linux-master/Documentation/ABI/stable/sysfs-class-rfkill
64: transmitter is forced off by something outside of
78: The transmitter is forced off by something outside of
linux-master/Documentation/ABI/stable/vdso
14:if you set CS on x86 to something strange, the vDSO functions are
@fabiospampinato
fabiospampinato / indexof_bench.js
Created June 2, 2024 17:54
String.prototype.indexOf vs Uint8Array.prototype.indexOf
const string = ` ${'This is just some example big file with lots of strings\n'.repeat ( 100_000 )}`.slice ( 1 );
const uint8 = new TextEncoder ().encode ( string );
const getRangesFromString = value => {
let pos = 0;
let length = value.length;
while ( pos < length ) {
@fabiospampinato
fabiospampinato / nvm_bypass.sh
Created May 31, 2024 19:05
Code for avoiding calling NVM, which slows down the shell by a lot
export NVM_DIR="$HOME/.nvm"
export NVM_DEFAULT_VERSION=$(cat $NVM_DIR/alias/default)
export PATH="$NVM_DIR/versions/node/$NVM_DEFAULT_VERSION/bin:$PATH"
export MANPATH="$NVM_DIR/versions/node/$NVM_DEFAULT_VERSION/share/man:$MANPATH"
export NODE_PATH="$NVM_DIR/versions/node/$NVM_DEFAULT_VERSION/lib/node_modules"
function find-up () {
local look=${PWD%/}
@fabiospampinato
fabiospampinato / inspect.zsh
Last active April 20, 2024 23:37
Node.js inspect function and plugin for zsh
# INSPECT
function inspect () {
eval NODE_OPTIONS="--inspect-brk" $@
}
# INSPECT PLUGIN
# Toggles the "inspect " prefix upon double ESC key
function plugin-inspect () {
@fabiospampinato
fabiospampinato / repro.js
Created April 3, 2024 15:16
Setting Array.prototype.length doesn't explicitly tell you which properties got deleted
const proxy = new Proxy ( [0, 1, 2], {
get: ( ...args ) => {
console.log ( '[get]', ...args );
return Reflect.get ( ...args );
},
apply: ( ...args ) => {
console.log ( '[apply]', ...args );
return Reflect.apply ( ...args );
},
@fabiospampinato
fabiospampinato / use_controlled.ts
Created March 16, 2024 19:14
use:controlled directive for voby
/* IMPORT */
import {$$, createDirective} from 'voby';
import {useUpdateEffect} from '~/hooks';
/* HELPERS */
const onCheckboxChange = ( target: HTMLInputElement, value: $<undefined | boolean | number | string>, onChange?: ( value: boolean | string ) => void ): void => {
@fabiospampinato
fabiospampinato / emoji_re.js
Last active February 24, 2024 20:46
A regex that can match any emoji, I think. It will also match some emojis that are nonsensically joined by a zero-width joiner though. And nonsensical applications of skin tone modifiers too.
const emojiRe = /(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F)(?:\u200d(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F))*/gu;
@fabiospampinato
fabiospampinato / string-width_slowness_bench.js
Created February 24, 2024 18:03
string-width_slowness_bench.js
/* IMPORT */
import benchmark from 'benchloop';
import stringWidth from 'string-width';
// import fastStringWidth from '../dist/index.js';
/* HELPERS */
const IMPLEMENTATIONS = [
@fabiospampinato
fabiospampinato / bench.js
Created December 9, 2023 18:25
dot ignore bench
/* IMPORT */
import benchmark from 'benchloop';
import fs from 'node:fs';
import path from 'node:path';
import toIgnore from 'fast-ignore';
import dotignore from 'dotignore';
/* HELPERS */