Skip to content

Instantly share code, notes, and snippets.

@storopoli
storopoli / haskell_ci.yml
Created January 31, 2026 20:31
Comprehensive Haskell CI
jobs:
tool-output:
runs-on: ubuntu-latest
outputs:
ghc_versions: ${{ steps.gen_output.outputs.ghc_versions }}
steps:
- uses: haskell/ghcup-setup@v1
@storopoli
storopoli / Dockerfile
Created May 10, 2025 21:10
Fuck Docker! But if you need it use this. From https://kerkour.com/rust-docker-from-scratch
####################################################################################################
## Build
####################################################################################################
# rust:alpine3.21
FROM rust@sha256:661d708cc863ce32007cf46807a72062a80d2944a6fae9e0d83742d2e04d5375 AS build
RUN apk update && \
apk upgrade --no-cache && \
apk add --no-cache lld mold musl musl-dev libc-dev cmake clang clang-dev openssl file \
libressl-dev git make build-base bash curl wget zip gnupg coreutils gcc g++ zstd binutils ca-certificates upx
@storopoli
storopoli / .env.example
Last active February 2, 2026 01:13
continuwuity matrix home server with bridges
CONDUWUIT_REGISTRATION_TOKEN="foo"
@storopoli
storopoli / config.toml
Last active August 23, 2025 23:45
Helix Config
theme = "gruvbox_dark_hard_transparent"
[editor]
line-number = "relative"
mouse = true
scrolloff = 8
cursorline = true
rulers = [80]
true-color = true
color-modes = true
@storopoli
storopoli / xpriv.rs
Last active March 12, 2026 23:15
Easy way to generate testing xprivs
use bip39::{Language, Mnemonic};
use bitcoin::{bip32::Xpriv, Network};
const MNEMONIC: &str = "bacon bacon bacon bacon bacon bacon bacon bacon bacon bacon bacon bacon bacon bacon bacon bacon bacon bacon bacon bacon bacon bacon bacon bacon";
fn main() {
let mnemonic = Mnemonic::parse_in(Language::English, MNEMONIC).unwrap();
println!("{}", mnemonic.to_string());
let seed = mnemonic.to_seed("");
let xpriv = Xpriv::new_master(Network::Regtest, &seed).unwrap();
println!("{}", xpriv.to_string());
@storopoli
storopoli / .bashrc
Last active December 27, 2025 12:53
Distrobox Dev Config
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific environment
if ! [[ $PATH =~ $HOME/.local/bin:$HOME/bin: ]]; then
PATH=$HOME/.local/bin:$HOME/bin:$PATH
@storopoli
storopoli / signatures.typ
Last active October 23, 2024 23:04
Schnorr vs ECDSA Signatures
#import "@preview/polylux:0.3.1": *
#import themes.simple: *
#set text(font: "Inria Sans")
#set align(horizon)
#show: simple-theme.with(footer: [Bitcoin Signatures])
#title-slide[
= Bitcoin Signatures
#v(2em)
@storopoli
storopoli / nixify-your-codebase.md
Last active June 23, 2025 20:11
Nixify your Codebase Workshop

title: How to Nixify your codebase sub_title: Docker is a shitcoin author: Jose Storopoli, Alpen Labs, storopoli.io, stratabtc.org options: incremental_lists: true theme: override: code: alignment: left

@storopoli
storopoli / halting_problem.md
Created August 5, 2024 20:06
The Halting problem
fn halts(program: A) -> bool

fn b(program: A) {
    if halts(A) {
        loop {}
    } else {
        return ();
    }
}
@storopoli
storopoli / stack_pinning.rs
Created July 30, 2024 20:36
Getting mutable references to a pinned struct in the stack
use std::pin::pin;
use std::marker::PhantomPinned;
#[derive(Debug)]
struct MyStruct {
field: u32,
_pin: PhantomPinned
}
impl MyStruct {