Skip to content

Instantly share code, notes, and snippets.

View nathabonfim59's full-sized avatar

Nathanael Bonfim nathabonfim59

View GitHub Profile
@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) => {
@nathabonfim59
nathabonfim59 / fsa-1-exercicio-2.js
Last active August 3, 2017 13:46
FullStackAcademy - aula 1 - exercício 2
// Exercício 2
const produtos = [
{
id: 1,
preco: 10.0,
qtd: 2
},
{
id: 2,