Skip to content

Instantly share code, notes, and snippets.

@Evan-Kim2028
Evan-Kim2028 / gist:818ec5bc101b44c426c0c2ec22af9ff1
Created April 7, 2026 14:39
Local push-to-talk dictation on Linux (System76 / Pop!_OS) using faster-whisper + GPU
# Local Push-to-Talk Dictation on Linux (System76 / Pop!_OS)
Uses [faster-whisper](https://github.com/SYSTRAN/faster-whisper) + your NVIDIA GPU for local, private speech-to-text.
Hold **Right Alt** to record, release to transcribe and type into any focused window.
Tested on: System76 laptop, Pop!_OS 22.04, NVIDIA RTX 4050, GNOME on X11.
---
## Prerequisites
txs_calldata: pl.LazyFrame = (
pl.scan_parquet("data/raw/transactions/*.parquet")
.select(
"block_number",
"transaction_hash",
"input",
)
.with_columns([pl.col("input").str.len_bytes().alias("calldata_size")])
.with_columns(pl.col("calldata_size") - 1)
.select("transaction_hash", "block_number", "calldata_size")
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
import numpy as np
import matplotlib.pyplot as plt
import yfinance as yf
import pandas as pd
from scipy.optimize import curve_fit
from fastdtw import fastdtw
from scipy.spatial.distance import euclidean
from scipy.signal import find_peaks, peak_widths
from scipy.interpolate import interp1d
from queryportal.subgraphinterface import SubgraphInterface as sgi
import polars as pl
pl.Config.set_fmt_str_lengths(200)
endpoints = [
'https://api.thegraph.com/subgraphs/name/messari/uniswap-v3-ethereum',
'https://api.thegraph.com/subgraphs/name/messari/uniswap-v3-arbitrum',
'https://api.thegraph.com/subgraphs/name/messari/uniswap-v3-polygon',
'https://api.thegraph.com/subgraphs/name/messari/uniswap-v3-optimism',