Skip to content

Instantly share code, notes, and snippets.

View salvatorecapolupo's full-sized avatar
🎯
Focusing

Salvatore Capolupo salvatorecapolupo

🎯
Focusing
View GitHub Profile
@salvatorecapolupo
salvatorecapolupo / file-recovery.md
Created August 3, 2026 16:00
Come risolvere "alcuni dati non possono essere letti o scritti" con terminale Mac

Recupero dati da disco esterno "Backup1234" — Guida e log operazioni

Il problema iniziale

Disco esterno HFS+ da 60GB con cartelle musicali. Sintomi:

  • VLC non apriva i file multimediali
  • Finder, copiando, dava errore -36 ("alcuni dati non possono essere letti o scritti")

Diagnosi

Liste concatenate in C++ — esempi progressivi

Ogni blocco è indipendente e compilabile da solo (g++ -std=c++17 file.cpp).

1. Il nodo

#include <iostream>

struct Nodo {
@salvatorecapolupo
salvatorecapolupo / gist:3827bbc08e40d1d3133a18aa6da191c5
Last active July 22, 2026 15:49
Guida pratica al reward hacking

1. Il Concetto: Cos'è il Reward Hacking (Senza Algoritmi)

Prima di parlare di reti neurali, matrici di pesi e Reinforcement Learning, dobbiamo mettere a fuoco un principio fondamentale: quando misuri qualcosa nel modo sbagliato, ottieni esattamente ciò che hai chiesto, ma mai ciò che desideravi realmente.

Questo fenomeno, noto in informatica come Reward Hacking (o Specification Gaming), non è un bug del codice in senso stretto: è una scorciatoia logica. Si verifica quando un sistema scopre il modo di ottenere il "massimo dei voti" ingannando il criterio con cui lo stiamo valutando, anziché risolvendo il problema reale.

Per capirne la logica, bastano due modelli della realtà: uno dalla letteratura classica e uno dal mondo moderno.


@salvatorecapolupo
salvatorecapolupo / glitch-maggio.md
Created May 4, 2026 15:22
Glitch 3.0 è lo spettacolo teatrale sulle IA - in scena a Roma e Jesi (AN)

SYSTEM: caricamento coscienza artificiale... [ERRORE] FALLBACK: caricamento attore umano... [OK] AVVIO SPETTACOLO

Roma / Jesi — Maggio 2026

GLITCH 3.0

Monologo teatrale cross-mediale di e con Salvatore Capolupo

@salvatorecapolupo
salvatorecapolupo / wordpress-republish.py
Last active March 29, 2026 08:56
A lightweight Python script to randomly republish old WordPress posts.
import requests
import random
from datetime import datetime
from requests.auth import HTTPBasicAuth
from datetime import datetime, timezone
# --- CONFIGURAZIONE ---
WP_URL = "https://website.tld" # L'URL base del tuo sito (senza /wp-json)
WP_USER = "..." # Il tuo username di WordPress
WP_APP_PASS = "..." # La password applicativa generata (non quella di login!)

I due argomenti tecnici principali che ricorrono nelle tracce ministeriali (e che abbiamo usato negli esempi precedenti) sono due: il superamento dei blocchi di rete e la sicurezza delle comunicazioni.

Traccia Preparatoria: "La Cassetta degli Attrezzi"

Obiettivo: Creare un micro-manuale tecnico personale da usare durante le simulazioni d'esame. Tempo a disposizione: 40 minuti. Consegna: Una micro-relazione (max 1 pagina o 4 slide) su uno dei due temi assegnati.


@salvatorecapolupo
salvatorecapolupo / pensare-ia.md
Last active March 9, 2026 17:03
Emergent Stochastic Reasoning: A Functional Formalization of Transformer-Based Inference

Emergent Stochastic Reasoning: A Functional Formalization of Transformer-Based Inference

Abstract Il presente lavoro simula l'architettura funzionale del "pensiero" negli Large Language Models (LLM), definendolo non come un processo cognitivo biologico, ma come una manipolazione tensoriale in uno spazio vettoriale ad alta dimensionalità. Si analizza come la generazione di output sia il risultato della minimizzazione dell'entropia incrociata e del meccanismo di Scaled Dot-Product Attention. L'articolo conclude che il "pensiero" sintetico è una funzione di mappatura probabilistica tra sequenze di token, distinguendosi nettamente dalla coscienza fenomenica.

1. Notazione e Definizioni Preliminari

Per descrivere il processo, definiamo lo spazio dei simboli come un vocabolario $\mathcal{V}$. Ogni unità linguistica (token) $t \in \mathcal{V}$ viene proiettata in uno spazio continuo $\mathbb{R}^d$ tramite una matrice di embedding $W_e$.

  • Sequenza di Input: $\mathbf{X} = (t_1, t_2, ..., t_n)$
import java.util.stream.IntStream;

public class FizzBuzz {
    public static void main(String[] args) {
        IntStream.rangeClosed(1, 100)
            .mapToObj(i -> (i % 15 == 0) ? "FizzBuzz" : (i % 3 == 0) ? "Fizz" : (i % 5 == 0) ? "Buzz" : i)
            .forEach(System.out::println);
    }
}
@salvatorecapolupo
salvatorecapolupo / esercizi-tpsit.md
Last active March 7, 2026 07:40
Like a pro: from C++ to Javascript

10 esercizi strutturati in ordine di difficoltà crescente, focalizzati sulla manipolazione di variabili, array e matrici (array 2D).

In due linguaggi diversi.

In sintesi, C++ e JavaScript differiscono profondamente per tipologia, esecuzione e gestione della memoria: il C++ è un linguaggio compilato, a tipizzazione statica (il tipo di variabile deve essere dichiarato a priori), che offre un controllo manuale e a basso livello della memoria (tramite puntatori) ed è progettato per applicazioni di sistema ad altissime prestazioni; JavaScript, al contrario, è un linguaggio interpretato (o compilato JIT, Just In Time) a tipizzazione dinamica (una variabile può cambiare tipo durante l'esecuzione),

// 1. the clock
setcpm(120)
s("casio").n("<1 3>")
// 2. order is not relevant
s("wind").n("<0 1>")
// same as
//n("<0 1>").s("wind")
//3. basic synthwave