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 / gdown_folder_regex.py
Last active September 7, 2022 14:43
Shallow download files from Google Drive folder with requests,bs4 and regex
import re
from bs4 import BeautifulSoup
import requests
import gdown
import json
import argparse
parser=argparse.ArgumentParser()
parser.add_argument("url")
from .download import download
from bs4 import BeautifulSoup
import json
import re
import requests
import sys
if sys.version_info.major < 3:
from pathlib2 import Path
else:
@giuliano-macedo
giuliano-macedo / custom_commands.sh
Created November 2, 2020 17:40
some common custom shell commands i use, you can add to your home directory and add "source custom_commands.sh" on your .bashrc file to add them.
function notify_when_online(){
host=$1
while true; do
ping -c1 $host > /dev/null && break;
done && notify-send --icon=dialog-information "$host is online"
}
@giuliano-macedo
giuliano-macedo / download_file.rs
Last active July 13, 2025 13:56
Download large files in rust with progress bar using reqwest, future_util and indicatif
// you need this in your cargo.toml
// reqwest = { version = "0.11.3", features = ["stream"] }
// futures-util = "0.3.14"
// indicatif = "0.15.0"
use std::cmp::min;
use std::fs::File;
use std::io::Write;
use reqwest::Client;
use indicatif::{ProgressBar, ProgressStyle};
@giuliano-macedo
giuliano-macedo / print_json.go
Last active September 20, 2021 01:21
print_json.go
package main
import (
"encoding/json"
"fmt"
)
func printJson(data interface{}) {
bs, err := json.MarshalIndent(data, "", " ")
if err != nil {
@giuliano-macedo
giuliano-macedo / quadratic_bezier.rs
Last active November 18, 2021 16:49
Quadratic bézier function in rust (not the most performant, focused in readability)
use std::fmt;
#[derive(Debug, Clone, Copy)]
struct Point {
x: f64,
y: f64,
}
impl fmt::Display for Point {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
@giuliano-macedo
giuliano-macedo / cubic_bezier.rs
Last active November 15, 2021 22:38
Cubic bézier function in rust (not the most performant, focused in readability)
use std::fmt;
#[derive(Debug, Clone, Copy)]
struct Point {
x: f64,
y: f64,
}
impl fmt::Display for Point {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
@giuliano-macedo
giuliano-macedo / scanner.dart
Created December 17, 2021 20:52
QrCode/Barcode scanner using qr_code_scanner in flutter
import 'dart:io';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:qr_code_scanner/qr_code_scanner.dart';
class ScannerWidget extends StatefulWidget {
final BarcodeFormat format;
final void Function(String?) onScan;
ScannerWidget({
@giuliano-macedo
giuliano-macedo / tab_controller_with_on_change.dart
Last active December 29, 2021 11:22
Flutter TabController with onChange callback
import 'package:flutter/material.dart';
class TabControllerWithOnChange extends TabController {
TabControllerWithOnChange({
int initialIndex = 0,
required int length,
required TickerProvider vsync,
required void Function(int) onChange,
}) : super(initialIndex: initialIndex, length: length, vsync: vsync) {
addListener(() {
@giuliano-macedo
giuliano-macedo / 40-microsoft-mouse.conf
Last active October 7, 2024 19:46
Microsoft Classic IntelliMouse Xorg config for I3
# put file in /etc/X11/xorg.conf.d/40-microsoft-mouse.conf
# use xinput list-props "Microsoft Microsoft® Classic IntelliMouse®" to get all options
# use xinput set-prop "Microsoft Microsoft® Classic IntelliMouse®" "OPTION" "OPTIONVALUE" to test an option
Section "InputClass"
Identifier "Microsoft Mouse"
MatchProduct "Microsoft Microsoft® Classic IntelliMouse®"
Driver "libinput"
Option "TransformationMatrix" "2.4 0 0 0 2.4 0 0 0 1"
EndSection