Skip to content

Instantly share code, notes, and snippets.

View flaviut's full-sized avatar

Flaviu Tamas flaviut

View GitHub Profile
@flaviut
flaviut / ntp.py
Created November 2, 2023 01:56
A simple, experimental NTP client written in Python.
import socket
import struct
import time
from dataclasses import dataclass
from enum import IntEnum
from typing import Optional
NTP_SERVER = "pool.ntp.org"
NTP_PORT = 123
TIME1970 = 2208988800 # 1970-01-01 in NTP epoch
@flaviut
flaviut / parse-strace.py
Created October 5, 2023 15:45
Parses an strace output file to determine how long each file spends open, and makes a treemap. This may (depending on your program) be equvilant to how long it takes to read each file.
#!/usr/bin/env python
# use with `strace --absolute-timestamps=format:unix,precision:us -o strace.log yourprogram`.
import re
import csv
import os
from collections import defaultdict
import plotly.express as px
@flaviut
flaviut / sensors3.conf
Created August 11, 2023 21:39
sensors configuration for my computer
chip "nvme-pci-*"
label temp2 "flash"
label temp3 "cpu"
# ASRock B350 Fatal1ty Gaming ITX/ac
# 2019, contributed by Erdem U. Altinyurt
# Modified by Flaviu Tamas
#
# dmi: board_name: B350 Fatal1ty Gaming ITX/ac

Get all user tables & size

SELECT database, table, storage_policy, round(total_bytes / 1024 / 1024) as MiB
FROM system.tables 
WHERE storage_policy IS NOT NULL AND lower(database) NOT IN ('system', 'information_schema')
ORDER BY MiB DESC;

Get all user tables with TTLs

#!/usr/bin/python
# -*- coding: utf-8 -*-
"""Script to draw bounding boxes and text from a Tesseract box file.
The script takes an image TIFF_FILE, draws the text and bounding boxes
of the corresponding BOX_FILE and saves the resulting OUT_FILE.
Tesseract box file columns:
<symbol> <left> <bottom> <right> <top> <page>
CREATE USER iam_admin;
GRANT rds_iam TO iam_admin;
grant rds_superuser to iam_admin;
CREATE USER iam_readonly;
GRANT rds_iam TO iam_readonly;
GRANT pg_read_all_data to iam_readonly;
REVOKE CREATE ON SCHEMA public FROM iam_readonly;
@flaviut
flaviut / Setting up Emporia Vue 2 with ESPHome.md
Last active March 12, 2024 00:27
Setting up Emporia Vue 2 with ESPHome
import sys
import datetime
"""
Dumps the data from a bluetooth-connected PC-60FW fingertip oximeter to a CSV
on stdout.
# Getting started
Make sure you have CMake, gcc, and python 3.7+ installed.

Interrupts in standard C++

Jul 23, 2018

by Mikael Rosbacke

Introduction

@flaviut
flaviut / console.log
Created September 15, 2021 23:11
uses of settings.get in octoprint plugins
$ comby -ripgrep '-g*.py' -match-only ':[~_?]settings:[~[()]*].get:[~_?([iI]nt|[fF]loat|[bB]oolean)?](:[_])' ''
OctoPrint-TheSpaghettiDetective-master/octoprint_thespaghettidetective/plugin_apis.py:48:_settings.get(["auth_token"])
OctoPrint-TheSpaghettiDetective-master/octoprint_thespaghettidetective/plugin_apis.py:49:_settings.get(["sentry_opt"])
OctoPrint-TheSpaghettiDetective-master/octoprint_thespaghettidetective/plugin_apis.py:58:_settings.get(["sentry_opt"])
OctoPrint-TheSpaghettiDetective-master/octoprint_thespaghettidetective/janus.py:53:_settings.get(["auth_token"])
OctoPrint-TheSpaghettiDetective-master/octoprint_thespaghettidetective/janus.py:56:_settings.get(["disable_video_streaming"])
Octoprint-Filament-Revolutions-master/octoprint_filamentrevolutions/__init__.py:40:_settings.get(["runout_pin"])
Octoprint-Filament-Revolutions-master/octoprint_filamentrevolutions/__init__.py:44:_settings.get(["jam_pin"])
Octoprint-Filament-Revolutions-master/octoprint_filamentrevolutions/__init__.py:48:_settings.