Skip to content

Instantly share code, notes, and snippets.

@fabiolimace
fabiolimace / Dockerfile
Last active January 8, 2025 02:37
Tinyproxy on Docker
FROM ubuntu:24.04
RUN apt update
RUN apt upgrade -y
RUN apt install tinyproxy -y
RUN mkdir --parents /home/tinyproxy
COPY template.conf /home/tinyproxy
COPY entrypoint.sh /home/tinyproxy
WORKDIR /home/tinyproxy
@fabiolimace
fabiolimace / validar-bissexto.awk
Last active January 1, 2025 23:15
Validação de datas com expressões regulares levando em consideração os anos bissextos
#!/usr/bin/mawk -f
/^((([0][48]|[2468][048]|[13579][26])00)|([0-9][0-9]([0][48]|[2468][048]|[13579][26])))$/ { print $0; next; }
{ print $0 " INVALIDO" }
@fabiolimace
fabiolimace / gnucash-caixa-visa-detectar-colunas.awk
Last active March 24, 2025 02:10
Ferramentas para detectar entradas de fatura e expandir parcelas de cartão de crédito da CAIXA para importação no GnuCash
#!/usr/bin/mawk -f
#
# Detecta as colunas das entradas de extrato de cartão de crédito da CAIXA.
#
# Útil para extrair as entradas de extrato das faturas no formato de arquivo PDF, pois ao se copiar e colar as entradas de arquivos PDF, as divisões em colunas se perdem.
#
# No visualizador de PDF do Firefox, as colunas são separadas por espaços. Já no visualizador de PDF do Gnome, as colunas não são separadas por nada.
#
# Aceita linhas neste formato (com espaços simples entre as colunas):
@fabiolimace
fabiolimace / hash-uniqueness.sh
Last active December 21, 2024 14:53
Hash Function Uniqueness and Collision
#!/bin/bash
# Calculates hash uniqueness.
#
# Usage:
#
# hash-uniqueness.sh PROGRAM LENGTH WINDOW
#
# hash-uniqueness.sh md5sum
#
@fabiolimace
fabiolimace / NonCryptoHash.java
Last active December 21, 2024 06:39
Non-Cryptographic Hash Functions: CRC32, FNV-1A and MIX of both.
package com.example;
import java.nio.charset.StandardCharsets;
// https://www.youtube.com/watch?v=siV5pr44FAI
public final class NonCryptoHash {
// http://www.mrob.com/pub/comp/crc-all.html (crc32-adler)
private static final int[] crc32tab = { //
0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, //
@fabiolimace
fabiolimace / SHA-256 UUIDv8 and Tag URI.md
Last active December 23, 2024 23:02
SHA-256 UUIDv8 and Tag URI

SHA-256 UUIDv8 and Tag URI

SHA-256 UUIDv8

UUIDv8 is a UUID type defined by RFC 9562 that allows for customization.

Our custom UUIDs are generated by UUIDv8.generate() using SHA-256 hash algorithm.

@fabiolimace
fabiolimace / TSID.diff
Created November 20, 2024 16:05
TSID.diff
diff --git a/src/main/java/io/hypersistence/tsid/TSID.java b/src/main/java/io/hypersistence/tsid/TSID.java
index 1ca20ca..665f081 100644
--- a/src/main/java/io/hypersistence/tsid/TSID.java
+++ b/src/main/java/io/hypersistence/tsid/TSID.java
@@ -36,6 +36,7 @@ import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.locks.ReentrantLock;
import java.util.function.IntFunction;
import java.util.function.IntSupplier;
+import java.util.function.Supplier;
@fabiolimace
fabiolimace / DELAS_PBv2.md
Last active October 19, 2024 14:31
Brazilian Portuguese simple words from DELAS_PBv2 - USP/NILC/Unitex-PB

DELAS-PB

O DELAS_PBv2 é um dicionário de Palavras Simples para o Português Brasileiro. Possui aproximadamente 67.500 canônicas associadas a suas regras de flexão. Foi atualizado em 07/05/2015.

URL: http://www.nilc.icmc.usp.br/nilc/projects/unitex-pb/web/dicionarios.html

Projeto Unitex-PB

O projeto Unitex-PB: a construção de recursos lingüístico-computacionais para o português do Brasil.

@fabiolimace
fabiolimace / portuguese
Created October 19, 2024 14:14
Portuguese words from `/usr/dict/words` (apt install wportuguese)
This file has been truncated, but you can view the full file.
a
à
AAC
Aachen
Aalborg
Aarhus
aba
abas
abacate
abacates
@fabiolimace
fabiolimace / brazilian
Created October 19, 2024 14:12
Brazilian words from `/usr/dict/words` (apt install wbrazilian)
Aarão
Abade
Abadia
Abadiânia
Abaetetuba
Abaeté
Abaiara
Abaixo
Abaré
Abatiá