Skip to content

Instantly share code, notes, and snippets.

View crissilvaeng's full-sized avatar

Cristina Silva crissilvaeng

View GitHub Profile
@crissilvaeng
crissilvaeng / main.py
Last active April 8, 2021 01:04
Classic Computer Science Problems in Python – GeneticAlgorithm – SimpleEquation
from __future__ import annotations
from copy import deepcopy
from enum import Enum
from functools import reduce
from heapq import nsmallest
from itertools import tee
from math import radians, sqrt, sin, cos, atan2
from random import choices, random, shuffle, randrange
from statistics import mean
from operator import add
@crissilvaeng
crissilvaeng / main.py
Created April 12, 2021 03:06
Playground – Schedule Problem – Greedy vs NonGreedy Algorithm
from timeit import default_timer as timer
from random import randrange, choice
from itertools import combinations
from dataclasses import dataclass
from operator import attrgetter
from io import StringIO
from typing import List, Optional, Sequence, Tuple
@dataclass
@crissilvaeng
crissilvaeng / nginx.conf.sigil
Created May 6, 2021 23:22
Dokku – NGINX Configuration without maximum body size
server {
listen [::]:{{ .NGINX_PORT }};
listen {{ .NGINX_PORT }};
server_name {{ .NOSSL_SERVER_NAME }};
access_log /var/log/nginx/{{ .APP }}-access.log;
error_log /var/log/nginx/{{ .APP }}-error.log;
include {{ .DOKKU_ROOT }}/{{ .APP }}/nginx.conf.d/*.conf;
@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__)
@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 / 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 / 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 / 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 / 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 / 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