Skip to content

Instantly share code, notes, and snippets.

View giuliano-macedo's full-sized avatar
Working from home

Giuliano Macedo giuliano-macedo

Working from home
  • Brazil
  • 19:22 (UTC -03:00)
View GitHub Profile
giuliano-macedo / ptytest.c
Last active September 5, 2018 16:03
Get ping realtime stdout and exit code in C using forkpty and execvp
#include <stdlib.h>
#include <stdio.h>
#include <pty.h>
#include <unistd.h>
#include <sys/wait.h>
int ptytest(){
int master;
pid_t pid;
pid = forkpty(&master, NULL, NULL, NULL);
giuliano-macedo / timer.c
Last active October 4, 2018 01:01
Not mt safe time.h nanoseconds timer function
#include <time.h>
struct timespec TIMER_START,TIMER_END;
long unsigned int timer(int f){
return 0;
return (TIMER_END.tv_sec - TIMER_START.tv_sec) * 1e9 + (TIMER_END.tv_nsec - TIMER_START.tv_nsec);
from random import shuffle,choice
from itertools import repeat,chain
from functools import partial
from multiprocessing.pool import Pool
from argparse import ArgumentParser
def cheat(l,x):return True
def findIt1(l,x):
for i in range(50):
if l[i]==x:return True
return False
giuliano-macedo /
Last active August 19, 2019 13:43
Get ping realtime stdout and exit code in python using forkpty and execvp
import os
def bash_real_time(command):
pid,fd = os.forkpty()
if pid == 0:
while True:
output =,1024).decode("utf-8").rstrip()
giuliano-macedo /
Last active August 16, 2020 18:42
Move tex files and compiles them in a temp dir, then move pdf file to root. Works on linux and requires nodemon and latexmk
#!/usr/bin/env python3
import argparse
import os
from tempfile import mkdtemp
giuliano-macedo / hu_moments.tex
Last active June 25, 2022 07:32
Hu moments in Latex
\eta_{pq}=\sum\limits_{x}\sum\limits_{y}(x-\bar x)^p(y- \bar y)^qI(x,y)\\
\bar x=\frac{M_{10}}{M_{00}}, \bar y=\frac{M_{01}}{M_{00}}\\
H_{1} = \mu_{20} + \mu_{02}\\
H_{2} = (\mu_{20} - \mu_{02})^2 + 4(\mu_{11})^2\\
H_{3} = (\mu_{30} - 3\mu_{12})^2 + (\mu_{03} - 3\mu_{21})^2\\
H_{4} = (\mu_{30} + \mu_{12})^2 + (\mu_{03} + \mu_{21})^2\\
H_{5} = (\mu_{30} - 3\mu_{12})(\mu_{30} + \mu_{12})((\mu_{30} + \mu_{12})^2 - 3(\mu_{21} + \mu_{03})^2) + (3\mu_{21} - \mu_{03})(\mu_{21} + \mu_{03})(3(\mu_{30} + \mu_{12})^2 - (\mu_{03} + \mu_{21})^2)\\
giuliano-macedo /
Last active July 21, 2022 02:55
simple mininet custom topology with static routing
from mininet.topo import Topo
from import Mininet
from mininet.node import Node
from mininet.log import setLogLevel, info
from mininet.cli import CLI
class LinuxRouter( Node ):
"""A Node with IP forwarding enabled.
Means that every packet that is in this node, comunicate freely with its interfaces."""
giuliano-macedo /
Created December 30, 2019 22:43
helper script to get how many matches i have to do so i can get "Variety is the Spice of Life", "The Dedicated" and "The Insane" achievements by scraping for the updated stats
import requests
from bs4 import BeautifulSoup as BS
from collections import namedtuple
from math import ceil
def fix_exp(exp,lvl):
giuliano-macedo /
Last active January 8, 2020 00:21
script to get players elo using
import requests
from bs4 import BeautifulSoup as BS
from multiprocessing.dummy import Pool
def get_elo(nickname):
link=soup.select_one(".player-meta.clearfix a")
if link==None:
giuliano-macedo / file_picker_form_field.dart
Last active June 1, 2020 19:16
A String path form field for the file_picker package.
import 'dart:io';
import 'package:file_picker/file_picker.dart';
import 'package:flutter/material.dart';
class FilePickerFormField extends StatelessWidget {
final Function(String) validator;
final Function(String) onSaved;
final String labelText;
final String hintText;