Skip to content

Instantly share code, notes, and snippets.

View crissilvaeng's full-sized avatar

Cristina Silva crissilvaeng

View GitHub Profile
@crissilvaeng
crissilvaeng / Makefile
Created October 6, 2024 04:17
Golang Makefile
APP_NAME ?= $(shell basename `go list`)
GOPRIVATE ?= $(dir $(shell go list))*
LOCAL := $(dir $(shell go list))
OUTPUT := $(CURDIR)/out
SOURCES := $(shell find . -type f -name '*.go' -not -path "./vendor/*")
TOOLS := goimports golangci-lint
SHELL := /bin/bash
@crissilvaeng
crissilvaeng / docker-compose.yaml
Last active February 10, 2024 05:06
Pi-hole (docker+macvlan+ipv6)
version: '3'
services:
app:
image: jacklul/pihole:latest
environment:
TZ: America/Sao_Paulo
FTLCONF_LOCAL_IPV4: 192.168.0.10
FTLCONF_LOCAL_IPV6: 2804:14d:5c5a:a96a::10
DNSSEC: true
SCRIPTS := scripts/cmd
CMD := $(sort $(basename $(notdir $(wildcard $(SCRIPTS)/*.sh))))
.DEFAULT_GOAL := help
.PHONY: help $(CMD) scripts
SHELL := /bin/bash
.ONESHELL:
.EXPORT_ALL_VARIABLES:
@crissilvaeng
crissilvaeng / README.md
Last active April 5, 2023 18:58
PDF to MP3

Audiobook Generator

This script converts a PDF file into an audiobook by extracting its text content and organizing it into chapters. It then uses a text-to-speech engine to generate audio files for each chapter and saves them in a specified output folder. The script takes a PDF file as input and allows users to set an optional output folder. It uses the PyMuPDF library for PDF processing, the re library for regular expressions, and the pyttsx3 library for text-to-speech conversion.

Installation

Follow these steps to install the required dependencies:

sudo apt update
@crissilvaeng
crissilvaeng / keybase.md
Created December 23, 2022 16:49
keybase.md

Keybase proof

I hereby claim:

  • I am crissilvaeng on github.
  • I am crissilvaeng (https://keybase.io/crissilvaeng) on keybase.
  • I have a public key ASCfEFRXivc3yNwHQhyho0GDFhw-nH-FmIUga8pDdhczHwo

To claim this, I am signing this object:

@crissilvaeng
crissilvaeng / main.rs
Created October 24, 2022 18:38
Exercism Poker Card to Cactus Kev's Poker Card
let mut chars = val.chars();
let suit = chars.next_back().unwrap().to_string();
let rank = chars.as_str();
let mut card: u32 = 0;
card |= match rank {
"2" => 1 << 16 ^ (0 << 8) + 2,
"3" => 1 << 17 ^ (1 << 8) + 3,
"4" => 1 << 18 ^ (2 << 8) + 5,
"5" => 1 << 19 ^ (3 << 8) + 7,
@crissilvaeng
crissilvaeng / alias
Last active October 21, 2021 01:54
Git Aliases
close = !sh -c 'git branch -d $1' -
local = rev-parse --abbrev-ref HEAD
swap = !sh -c 'git switch -c $1 --track origin/\"$(git local)\"' -
sync = pull --rebase --autostash
@crissilvaeng
crissilvaeng / gitr
Created October 20, 2021 01:33
Git Recursive
#!/bin/bash
find . -type d -mindepth 1 -maxdepth 1 -print0 | while read -d $'\0' folder; do
    echo -e "\033[0;35m$folder\033[0m"
    git -C $folder $@
done
@crissilvaeng
crissilvaeng / notification.js
Created May 28, 2021 19:28
Nuxt – Notification Plugin
import Notification from '@/components/Notification'
import Vue from 'vue'
const NotificationClass = Vue.extend(Notification)
export default ({ app }, inject) => {
inject('notification', {
show({ ctx, title, message = '', type = 'info' }) {
const notification = new NotificationClass({
propsData: { title, message, type },
@crissilvaeng
crissilvaeng / app.py
Created May 10, 2021 02:57
Flask with Parse Server JWT Middleware
import os
import requests
from functools import wraps
from flask import Flask, request
PARSE_SERVER_URL = os.environ['PARSE_SERVER_URL']
PARSE_APPLICATION_ID = os.environ['PARSE_SERVER_URL']
app = Flask(__name__)