Skip to content

Instantly share code, notes, and snippets.

@juanpabloaj
juanpabloaj / send_telegram_message.py
Last active March 26, 2023 13:26
python3 send telegram message
View send_telegram_message.py
import os
import urllib.request
import urllib.parse
TELEGRAM_TOKEN = os.environ["TELEGRAM_TOKEN"]
TELEGRAM_CHANNEL_ID = os.environ["TELEGRAM_CHANNEL_ID"]
telegram_url = f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage"
telegram_url += f"?chat_id={TELEGRAM_CHANNEL_ID}"
@juanpabloaj
juanpabloaj / main.go
Created November 8, 2022 16:31
Channel example, channel as queue with discard of messages
View main.go
// go playground
// https://go.dev/play/p/3HjtqJlbMnE
package main
import (
"log"
"time"
)
func main() {
@juanpabloaj
juanpabloaj / .gitignore
Last active August 14, 2022 14:53
download images with puppeteer
View .gitignore
imgs
.DS_Store
node_modules
@juanpabloaj
juanpabloaj / gas_alert.sh
Created December 4, 2021 00:41
ethereum gas telegram alert
View gas_alert.sh
#!/bin/bash
# get channel id
# https://api.telegram.org/bot<YourBOTToken>/getUpdates
# crontab
# */5 * * * bash /path/gas_alert.sh 2>&1 | logger -t gas_alert
cheapPrice="80"
@juanpabloaj
juanpabloaj / ohlcbtc.sh
Last active December 9, 2021 12:19
OHLC BTC
View ohlcbtc.sh
# pip install ohlc; apt install jq
# with other token, ohlcbtc ETHUSDT
ohlcbtc () {
token=${1:-BTCUSDT}
while true;
do
ohlc --pab --ha -n <( curl "https://api.binance.com/api/v3/klines?symbol=${token}&interval=1h" 2>/dev/null | jq -r '.[][1:5]|join(" ")' )
sleep 3600
done
@juanpabloaj
juanpabloaj / pool_length.py
Created July 9, 2021 22:35
get pool length
View pool_length.py
from web3 import Web3
# https://web3py.readthedocs.io/en/stable/quickstart.html
# https://docs.matic.network/docs/develop/network-details/network/
w3 = Web3(Web3.HTTPProvider("https://rpc-mainnet.matic.network"))
print(w3.isConnected())
print(w3.eth.block_number)
@juanpabloaj
juanpabloaj / logs_with_color.exs
Created June 25, 2021 23:41
elixir, colorful log lines
View logs_with_color.exs
require Logger
Logger.configure_backend(:console, format: "$time $metadata[$level] $levelpad$message\n")
# more colores in
# https://hexdocs.pm/elixir/1.12/IO.ANSI.html
Logger.info("colorful log line", ansi_color: :black)
Logger.info("colorful log line", ansi_color: :blue)
Logger.info("colorful log line", ansi_color: :cyan)
@juanpabloaj
juanpabloaj / docker_clean_old.service
Created June 1, 2021 23:20
delete old containers
View docker_clean_old.service
# /etc/systemd/system/docker_clean_old.service
[Unit]
Description=delete old containers
[Service]
CPUQuota=20%
TimeoutSec=3600
ExecStart=/bin/bash /root/opt/bin/docker_clean_old
@juanpabloaj
juanpabloaj / boxplot_duration_per_project.py
Last active January 28, 2021 13:29
gitlab_runner_jobs_duration
View boxplot_duration_per_project.py
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import matplotlib
sns.set(rc={'figure.figsize':(14,12)})
file_name = "duration_per_project.csv"
df = pd.read_csv(file_name, ';')
@juanpabloaj
juanpabloaj / batetry_level.ino
Created January 10, 2021 15:22
battery_level.ino
View batetry_level.ino
#include <M5StickCPlus.h>
// the setup routine runs once when M5StickC starts up
void setup() {
// initialize the M5StickC object
M5.begin();
// Lcd display
M5.Lcd.fillScreen(WHITE);