Skip to content

Instantly share code, notes, and snippets.

View giuliano-macedo's full-sized avatar

Giuliano Macedo giuliano-macedo

  • Brazil
View GitHub Profile
@giuliano-macedo
giuliano-macedo / focus_node_mem_leak_test.dart
Created June 2, 2020 21:17
FocusScope.of(context).requestFocus(new MyFocusNode()) memleak test
import 'package:flutter/material.dart';
class MyFocusNode extends FocusNode {
MyFocusNode() : super() {
print("constructor");
}
@override
void dispose() {
print("dispose");
@giuliano-macedo
giuliano-macedo / wpp_video_splitter.py
Last active September 24, 2022 04:08
Split video using ffmpeg to fit WhatsApp status
from subprocess import getstatusoutput as shell
from subprocess import Popen,PIPE,STDOUT
import shlex
import re
import argparse
import os
from tqdm import tqdm
from math import ceil,log10
def get_video_length(fname):
@giuliano-macedo
giuliano-macedo / modes.json
Last active August 31, 2020 13:10
Workout timer written in python using curses
[
{
"name":"REP",
"time_seconds":60
},
{
"name":"SWITCH",
"time_minutes":3
}
]
@giuliano-macedo
giuliano-macedo / random_particles.py
Last active August 31, 2020 13:11
Generate n random particles with random velocity vectors in python using curses
import curses
from time import time,sleep
from random import randrange,random
from math import cos,sin,pi
import argparse
class TUI:
FPS=60
def __init__(self,screen,no_particles):
@giuliano-macedo
giuliano-macedo / pandoc.py
Created August 28, 2020 23:59
pandoc + nodemon tool, need eisvogel template
#!/usr/bin/env python3
import argparse
import os
parser=argparse.ArgumentParser()
parser.add_argument("input",type=str)
args=parser.parse_args()
out_pdf=os.path.splitext(os.path.split(args.input)[-1])[0] +".pdf"
from sklearn.datasets import make_blobs
# import pandas as pd
import numpy as np
centers=[
[.1,.1],
[.2,.1],
[.3,.1],
[.4,.1],
[.5,.1],
from io import StringIO
from random import gauss,randrange
max_chars=63206 #https://sproutsocial.com/insights/social-media-character-counter/
wrong="9"
right="6"
f=StringIO()
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@giuliano-macedo
giuliano-macedo / psyche.py
Created October 7, 2020 22:25
using contextlib+signals to make a with timeout with statement
import signal
from contextlib import contextmanager
class TimeOutError(RuntimeError):pass
@contextmanager
def timeout(duration):
def timeout_handler(signum, frame):
raise TimeOutError()
signal.signal(signal.SIGALRM, timeout_handler)
signal.alarm(duration)
try:
@giuliano-macedo
giuliano-macedo / gdown_folder.py
Created October 25, 2020 21:34
Shallow download files from Google drive folder using gdown and selenium
from bs4 import BeautifulSoup
from selenium import webdriver
import gdown
import argparse
parser=argparse.ArgumentParser()
parser.add_argument("url")
args=parser.parse_args()