Skip to content

Instantly share code, notes, and snippets.

Avatar
💭
Making the internet

Pedro Sanção pedrosancao

💭
Making the internet
View GitHub Profile
@pedrosancao
pedrosancao / git-init-on-main.md
Last active Mar 3, 2021
Configurando seu Git para inicar com "main"
View git-init-on-main.md

Consulte sua versão do Git:

git version

Se for 2.28+ use o comando:

git config --global init.defaultBranch main
@pedrosancao
pedrosancao / comments.md
Last active Jan 25, 2021
StackOverflow PT comment templates
View comments.md

Bem vindo ao SO-pt, por favor leia o manual de como NÃO fazer perguntas, principalmente a seção não fornecer um código Mínimo, Completo e Verificável

Bem vindo ao SO-pt, por favor leia o manual de como NÃO fazer perguntas, principalmente a seção achar que nós faremos o seu trabalho todo de graça

Faça um Tour para entender como este site funciona e veja também: que erro eu cometi fazendo minha pergunta? e esse outro manual

Bem vinda(o) ao SOpt. Por favor. faça o Tour e leia o Guia de sobrevivência do SOpt - Versão curta

@pedrosancao
pedrosancao / pedrosancao.asc
Last active Sep 5, 2020
My public GPG key
View pedrosancao.asc
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBF9TzPIBEADHqVpbvfkLK7pF9DbRCW33mOtOqZK2NC9fljHClvN26E5ImNWW
J2YZLkFhsnXV4gy12M+ow476o+bw1W60fpTHGWjuQdkpPDM0RLM/ifdND0kYQnsQ
57jhST3sm6AKQfDw3/92qtBs6J3zvSVUA///jEMNApi3ATFpW52MEahkNIAtXBXC
DzrnGKnqShVjHqeFcX1cjkMG94vy4F7N2VhmrYSKOWhvgFowhGSPmxP/A6g6aNN1
H1uDXl2kwwpcoDvYu97TXcCWxz9XJ2DsDisC/XA/KaiKWQZP/p0lo9AZg1VipVs9
2MyBqlOaqwMB8Lu/GHFlDpywtxxYP2EQZ5rOksZU7GAX14O5bybPv4G3few0VHhw
RpIGT5cniTYoKnCsBxlEeFF5GmRpYQFvlh6p3RatzLh5feblUMeDT5OCbAsYmmGl
+Ay5Ro0C4pGQPQr7IFt2PmHAoUb/nv7emBHy6B/CCeBJC0gDqeJjitfiXR2XU2lC
@pedrosancao
pedrosancao / player-control.js
Created Aug 21, 2020
Control Rocketseat video player speed with "<" and ">" keys
View player-control.js
const speeds = [0.75, 1, 1.25, 1.5, 1.75, 2];
const select = document.querySelector('.bmpui-ui-playbackspeedselectbox');
document.addEventListener('keypress', e => {
if (~['<','>'].indexOf(e.key)) {
const speed = parseFloat(select.selectedOptions[0].value);
const newSpeed = e.key === '<' ? speeds[speeds.indexOf(speed) - 1] || speeds[0] : speeds[speeds.indexOf(speed) + 1] || speeds[speeds.length - 1];
const popup = document.createElement('div');
const event = document.createEvent('HTMLEvents');
select.selectedOptions[0].value = newSpeed;
@pedrosancao
pedrosancao / config
Last active Aug 28, 2020
Darcula color scheme for Terminator
View config
[global_config]
title_transmit_fg_color = "#bd93f9"
title_transmit_bg_color = "#282a36"
title_receive_fg_color = "#8be9fd"
title_receive_bg_color = "#282a36"
title_inactive_fg_color = "#f8f8f2"
title_inactive_bg_color = "#282a36"
[profiles]
[[default]]
background_color = "#1e1f29"
@pedrosancao
pedrosancao / revisao-commit.md
Last active Feb 15, 2021
Manual de Revisão de Commit
View revisao-commit.md

Manual de Revisão de Commit

O uso de repositórios GIT tem diversos benefícios: trabalho em equipe, desenvolvimento de recursos separadamente, histórico das alterações, etc. Mas para disponibilizar todo o potencial é preciso um pouco de dedicação no momento do commit.

Não é preciso uma vasta experiência para já ter passado por situações como conflito de arquivos onde a mensagem não traz nenhuma informações relevante e é preciso inverstigar o que a outra pessoa estava desenvolvendo ou após

@pedrosancao
pedrosancao / inotify_add_watch_recursive.php
Created Jul 25, 2020
PHP inotify_add_watch recursive
View inotify_add_watch_recursive.php
<?php
/**
* @param resource $inotify_instance
* @param string $pathname
* @param int $mask
* @return int[] watcher descriptors
*/
function inotify_add_watch_recursive ($inotify, $path, $mask)
{
@pedrosancao
pedrosancao / fix-commit-author.sh
Last active Aug 6, 2020
Fix commit author because I keep commiting with my company e-mail on personal projects
View fix-commit-author.sh
#!/bin/bash
if [ -z $1 ]; then
echo "Usage $0 LAST_CORRECT_COMMIT"
exit 0
fi
git filter-branch --env-filter 'export GIT_COMMITTER_NAME="Pedro Sanção"; export GIT_COMMITTER_EMAIL="pedrosancao@users.noreply.github.com"; export GIT_AUTHOR_NAME="Pedro Sanção"; export GIT_AUTHOR_EMAIL="pedrosancao@users.noreply.github.com"; export GIT_AUTHOR_DATE="$GIT_COMMITTER_DATE"' $1..HEAD
# sample with ifs from https://stackoverflow.com/a/61765245/2932525
@pedrosancao
pedrosancao / uncheckable-radio.js
Created Aug 14, 2019
enable radio buttons to be unchecked both vanilla and jQuery
View uncheckable-radio.js
// iterate using Array method for compatibility
Array.prototype.forEach.call(document.querySelectorAll('[type=radio]'), function(radio) {
radio.addEventListener('click', function(){
var self = this;
// get all elements with same name but itself and mark them unchecked
Array.prototype.filter.call(document.getElementsByName(this.name), function(filterEl) {
return self !== filterEl;
}).forEach(function(otherEl) {
delete otherEl.dataset.check
})
@pedrosancao
pedrosancao / valida-cnpj-min.js
Last active Sep 15, 2020
cleanest CPF/CNPJ validation
View valida-cnpj-min.js
const validaCNPJ=c=>((p,rd,f,u)=>p.length===14&&p[rd]((a, v)=>a===u?v:(a===v?a:f))===f&&[12,13][rd]((a,l)=>(r=>a&&(r<2?0:11-r)===p[l])(p.slice(0,l).reverse()[rd]((a,n,i)=>a+n*((i%8)+2),0)%11),!f))(c.replace(/\D/g,'').split('').map(n=>parseInt(n)),'reduce',false)