Skip to content

Instantly share code, notes, and snippets.

View nathabonfim59's full-sized avatar

Nathanael Bonfim nathabonfim59

View GitHub Profile

How to get rid of random empty spaces in your commits

If you use LLM coding agents, I'm sure you dealt with random empty spaces in your codebase

The solution is simple: add a pre-commit hook to your project

No custom rules to spend your tokens, no extra steps necessary. Just set and forget

Instructions

  1. Navigate to your project. Keep in mind it needs to be a git repo.
@nathabonfim59
nathabonfim59 / dd.php
Last active April 12, 2024 12:41 — forked from james2doyle/dd.php
A implementation of "dump and die" (dd) for WordPress
<?php
if (!defined('ABSPATH')) {
exit; // Exit if accessed directly.
}
if (!function_exists('dd')) {
function dd($data)
{
ini_set("highlight.comment", "#969896; font-style: italic");
@nathabonfim59
nathabonfim59 / README.md
Last active November 23, 2023 06:35
How to parse pkcs11 certificate using golang

How to parse pkcs11 (PFX) certificate using golang

The error

If you're getting the error in golang when using the crypto/pkcs11 package, here is what you need to do:

Error decoding pfx: pkcs12: error reading P12 data: asn1: syntax error: indefinite length found (not DER)

How to fix the "Failed to close file descriptor for child process (Operation not permitted)" in your docker ci build

Disclaimer

First off, I'm not a docker expert by any means. I just wanted my CI pipeline to work and went down the habbit hole. The solution I present can cause some security implications, be aware.

Cause

The problem is caused by a seccomp policy and a glibc >= 2.34 update that returns an EPERM (operation not permitted) insted of ENOSYS (function not implemented).

Solution/Workaround

@nathabonfim59
nathabonfim59 / P3_3bim_Alg.pas
Last active August 18, 2020 16:19
Crie uma variável do tipo REGISTRO, que contenha os seguintes dados: código do cliente, nome, endereço, data de nascimento, sexo, salário mensal e idade. Após a criação dessa variável, entre com os dados relativos a cinco clientes e no final liste os valores armazenados nos registros.
// Crie uma variável do tipo REGISTRO, que contenha os seguintes dados:
// código do cliente, nome, endereço, data de nascimento, sexo, salário
// mensal e idade. Após a criação dessa variável, entre com os dados
// relativos a cinco clientes e no final liste os valores armazenados
// nos registros.
program P3_3bim_Alg;
uses crt;
@nathabonfim59
nathabonfim59 / P2_3bim_Alg.pas
Created August 11, 2020 10:45
Achar a somatória de cada uma das colunas de uma matriz (5x10), listando no final a somatória de todas as colunas. Crie uma linha a mais e armazene dentro desta última linha a soma das colunas.
program P2_3bim_Alg;
// Achar a somatória de cada uma das colunas de uma matriz (5x10),
// listando no final a somatória de todas as colunas.
// Crie uma linha a mais e armazene dentro desta última linha a soma
// das colunas.
var
matriz: array [1..6, 1..10] of integer;
l, c, i: integer;
@nathabonfim59
nathabonfim59 / fsa-1-exercicio-6.js
Created July 21, 2017 01:38
FullStackAcademy - aula 1 - exercício 6
const express = require('express')
const app = express()
const porta = 3000
// Redireciona o usuário para o a página de soma
app.get('/', (request, response) => {
response.send('Vá para <a href="/somar">Somar</a>')
})
// Realiza a soma propriamente dita com base nas variáveis na URL
@nathabonfim59
nathabonfim59 / fsa-1-exercicio-5.js
Created July 21, 2017 01:37
FullStackAcademy - aula 1 - exercício 5
const fs = require('fs')
const path = './'
/**
* Lê um diretório e retorna em array com os nomes de arquivos e pastas encontrados nele
* @param {string} path Diretório a ser analisado
*/
const readdirPromise = function(path) {
return new Promise((resolve, reject) =>
fs.readdir(path, (err, arquivos) => {
@nathabonfim59
nathabonfim59 / fsa-1-exercicio-4.js
Created July 21, 2017 01:32
FullStackAcademy - aula 1 - exercício 4
const fs = require('fs')
const path = './'
/**
* Lê um diretório e retorna em array com os nomes de arquivos e pastas encontrados nele
* @param {string} path Diretório a ser analisado
*/
const readdirPromise = function(path) {
return new Promise((resolve, reject) =>
fs.readdir(path, (err, arquivos) => {
@nathabonfim59
nathabonfim59 / fsa-1-exercicio-3.js
Created July 21, 2017 01:30
FullStackAcademy - aula 1 - exercício 3
const fs = require('fs')
const path = './'
/**
* Lê um diretório e retorna em array com os nomes de arquivos e pastas encontrados nele
* @param {string} path Diretório a ser analisado
*/
const readdirPromise = function(path) {
return new Promise((resolve, reject) =>
fs.readdir(path, (err, arquivos) => {