Skip to content

Instantly share code, notes, and snippets.

View israelss's full-sized avatar
📚
Learning 📚

Israel Sant'Anna israelss

📚
Learning 📚
View GitHub Profile
@israelss
israelss / #calculator.ts
Created June 29, 2025 16:21 — forked from tkrotoff/#calculator.ts
Calculator function using shunting yard algorithm and reverse Polish notation (RPN)
// https://gist.github.com/tkrotoff/b0b1d39da340f5fc6c5e2a79a8b6cec0
// WTF!
// parseFloat('-0') => -0 vs parseFloat(-0) => 0
// -0 === 0 => true vs Object.is(-0, 0) => false
const minus0Hack = (value: number) => (Object.is(value, -0) ? '-0' : value);
export const operators: {
[operator: string]:
| {

How to compose React Providers with TypeScript

Tree and sunset

Photo by Sergei A on Unsplash

Hi guys 😁! Long time no new articles!

Today, I am going to show you how to compose React providers with TypeScript.

@israelss
israelss / README.md
Created July 2, 2024 15:55 — forked from gampleman/README.md
Algorithm to find a short unique CSS selector from an arbitrary node

This algorithm when passed a DOM node will find a very short selector for that element.

@israelss
israelss / rotate_desktop.sh
Created July 28, 2023 14:51 — forked from mildmojo/rotate_desktop.sh
Script to rotate the screen and touch devices on modern Linux desktops. Great for convertible laptops.
#!/bin/bash
#
# rotate_desktop.sh
#
# Rotates modern Linux desktop screen and input devices to match. Handy for
# convertible notebooks. Call this script from panel launchers, keyboard
# shortcuts, or touch gesture bindings (xSwipe, touchegg, etc.).
#
# Using transformation matrix bits taken from:
# https://wiki.ubuntu.com/X/InputCoordinateTransformation
@israelss
israelss / clear-branches.sh
Created July 10, 2023 21:38 — forked from dchueri/clear-branches.sh
Clear Local Branches Script
echo "Starting..."
branch=$1
delete()
{
echo "Deleting branches..."
git branch --list | \
egrep --invert-match "($branch|\*)" | \
xargs git branch -D
echo "Done!"
}
@israelss
israelss / git_log.sh
Created July 10, 2023 21:29
Script para listar os últimos commits (por padrão último dia até o momento da execução) de todos os projetos em um diretório especificado
#! /bin/bash
# Salve este arquivo e não esqueça de dar permissão de execução:
# chmod +x ./git_log.sh
IFS=$'\n'
today=$(date '+%Y-%m-%d %H:%M:%S')
days=1
projectsDir=$HOME/Projetos # Substitua pelo seu diretório de projetos ou use a flag -p para especificar outro diretório
username=$(git config user.name)
@israelss
israelss / redis-clear
Created February 3, 2023 15:49 — forked from dimasch/redis-clear
Clear a redis cache in Docker
docker exec -it container-name redis-cli FLUSHALL
@israelss
israelss / getScrolledParent.ts
Created September 16, 2022 21:03
Find and return scrolled parent of a HTML element
export const getScrolledParent = (el: HTMLElement | null): HTMLElement | null => {
if (el === null || el.parentElement === null) return null
if (el.parentElement.scrollTop > 0) return el.parentElement
return getScrolledParent(el.parentElement)
}
@israelss
israelss / resetIdSequence.sql
Last active September 16, 2022 21:04
Reset and fill Postgres id sequence
-- Reset sequence to 1
ALTER SEQUENCE table_name_id_seq RESTART WITH 1;
-- Fill all entries with sequence
UPDATE table_name SET id=DEFAULT;
-- Ref: https://stackoverflow.com/questions/4678110/how-to-reset-sequence-in-postgres-and-fill-id-column-with-new-data
@israelss
israelss / One-liner npm package inspector
Created March 27, 2022 20:30
Find out what will be published to npm in a package without actually publishing it
if you want to find out what files npm will publish into the tarball without actually publishing, you can use this little one-liner:
npm pack && tar -xvzf *.tgz && rm -rf package *.tgz
Found @ https://medium.com/@jdxcode/for-the-love-of-god-dont-use-npmignore-f93c08909d8d in 2022-03-27