tgragnato.it - Tommaso Gragnato

Hi there 👋 I'm Tommaso

- 🔧 I am a backend developer currently engaged in platform engineering roles
- 💼 I strive to leverage my knowledge and expertise to create and manage robust and scalable infrastructures
- 🚀 My focus is on security, containerization and orchestration, monitoring and logging
- 🔭 I am presently working on projects that involve Go and/or PHP
- 🌱 I am actively engaged in expanding my skill set by delving into the realms of Ruby and Javascript
- 💬 I'm always eager to engage in discussions and share my knowledge, especially about networking and censorship circumvention

Contacts

Email: tgragnato「単価記号」icloud

PGP: A283 C77F BE2B 15D8 7EF4 16E9 B7E4 732B 4DE7 4631

https://keys.openpgp.org/vks/v1/by-fingerprint/A283C77FBE2B15D87EF416E9B7E4732B4DE74631

https://gitlab.torproject.org/tgragnato.gpg - http://eweiibe6tdjsdprb4px6rqrzzcsi22m4koia44kc5pcjr7nec2rlxyad.onion/tgragnato.gpg


Words

06-06-2026 - Tactical Macro Derisking - Systematic risk analysis and asset allocation 🇬🇧

12-08-2025 - Factor ETF Portfolio - Smart-beta investing the European way 🇬🇧

11-05-2025 - темпера на бумаге - темперная живопись - tempera on paper - tempera painting, tempera su carta - pittura a tempera, 紙に描かれたテンペラ - テンペラ画 🇷🇺

10-05-2025 - Allineamento Strategico - Grande parte del successo nella gestione di un buon team sta nella selezione. Scegli le persone giuste! 🇮🇹

21-03-2025 - Open Source Day 2025 - For Who Loves Open Source 🇬🇧

23-02-2025 - Mitigations for the NoName057(16) DDoSia Project - Understanding the attack methodology and the source infrastructure to implement cost-effective mitigations 🇬🇧

19-02-2025 - HAProxy Stream Processing Offload Engine - Blind testing & Performance Benchmark 🇮🇹

25-12-2024 - Code Chronicle - Advent of Code 2024 [Day 25] 🇬🇧

24-12-2024 - Crossed Wires - Advent of Code 2024 [Day 24] 🇬🇧

23-12-2024 - LAN Party - Advent of Code 2024 [Day 23] 🇬🇧

22-12-2024 - Monkey Market - Advent of Code 2024 [Day 22] 🇬🇧

21-12-2024 - Keypad Conundrum - Advent of Code 2024 [Day 21] 🇬🇧

20-12-2024 - Race Condition - Advent of Code 2024 [Day 20] 🇬🇧

19-12-2024 - Linen Layout - Advent of Code 2024 [Day 19] 🇬🇧

18-12-2024 - RAM Run - Advent of Code 2024 [Day 18] 🇬🇧

17-12-2024 - Chronospatial Computer - Advent of Code 2024 [Day 17] 🇬🇧

16-12-2024 - Reindeer Maze - Advent of Code 2024 [Day 16] 🇬🇧

15-12-2024 - Warehouse Woes - Advent of Code 2024 [Day 15] 🇬🇧

14-12-2024 - Restroom Redoubt - Advent of Code 2024 [Day 14] 🇬🇧

13-12-2024 - Claw Contraption - Advent of Code 2024 [Day 13] 🇬🇧

12-12-2024 - Garden Groups - Advent of Code 2024 [Day 12] 🇬🇧

11-12-2024 - Plutonian Pebbles - Advent of Code 2024 [Day 11] 🇬🇧

10-12-2024 - Hoof It - Advent of Code 2024 [Day 10] 🇬🇧

09-12-2024 - Disk Fragmenter - Advent of Code 2024 [Day 9] 🇬🇧

08-12-2024 - Resonant Collinearity - Advent of Code 2024 [Day 8] 🇬🇧

07-12-2024 - Bridge Repair - Advent of Code 2024 [Day 7] 🇬🇧

06-12-2024 - Guard Gallivant - Advent of Code 2024 [Day 6] 🇬🇧

05-12-2024 - Print Queue - Advent of Code 2024 [Day 5] 🇬🇧

04-12-2024 - Ceres Search - Advent of Code 2024 [Day 4] 🇬🇧

03-12-2024 - Mull It Over - Advent of Code 2024 [Day 3] 🇬🇧

02-12-2024 - Red-Nosed Reports - Advent of Code 2024 [Day 2] 🇬🇧

01-12-2024 - Historian Hysteria - Advent of Code 2024 [Day 1] 🇬🇧

31-10-2024 - USENIX SREcon24 Europe/Middle East/Africa - 29-31 Oct 2024 The Convention Centre Dublin 🇬🇧

20-10-2024 - The Innovation Paradox: Why Tech Revolutionaries Must Embrace Risk - The dichotomy that exists between genius and the solitude of failure 🇬🇧

08-09-2024 - US Covert Communications - Channels uncovered by the counter intelligence of Iran, Russia and China 🇬🇧

22-07-2024 - We Are Developers 2024 - 17-19 Jul 2024 Messe Berlin 🇬🇧

05-07-2024 - BPF HTTP Replay - Midpoint network interception for HTTP traffic mirroring 🇬🇧

14-05-2024 - DxDay 2024 (1st edition) - Bologna - Hotel Savoia Regency 🇬🇧

24-12-2023 - Never Tell Me The Odds - Advent of Code 2023 [Day 24] 🇬🇧

23-12-2023 - A Long Walk - Advent of Code 2023 [Day 23] 🇬🇧

22-12-2023 - Sand Slabs - Advent of Code 2023 [Day 22] 🇬🇧

21-12-2023 - Step Counter - Advent of Code 2023 [Day 21] 🇬🇧

20-12-2023 - Pulse Propagation - Advent of Code 2023 [Day 20] 🇬🇧

19-12-2023 - Aplenty - Advent of Code 2023 [Day 19] 🇬🇧

18-12-2023 - Lavaduct Lagoon - Advent of Code 2023 [Day 18] 🇬🇧

17-12-2023 - Clumsy Crucible - Advent of Code 2023 [Day 17] 🇬🇧

16-12-2023 - The Floor Will Be Lava - Advent of Code 2023 [Day 16] 🇬🇧

15-12-2023 - Lens Library - Advent of Code 2023 [Day 15] 🇬🇧

14-12-2023 - Parabolic Reflector Dish - Advent of Code 2023 [Day 14] 🇬🇧

13-12-2023 - Point Of Incidence - Advent of Code 2023 [Day 13] 🇬🇧

12-12-2023 - Hot Springs - Advent of Code 2023 [Day 12] 🇬🇧

11-12-2023 - Cosmic Expansion - Advent of Code 2023 [Day 11] 🇬🇧

10-12-2023 - Pipe Maze - Advent of Code 2023 [Day 10] 🇬🇧

09-12-2023 - Mirage Maintenance - Advent of Code 2023 [Day 9] 🇬🇧

08-12-2023 - Haunted Wasteland - Advent of Code 2023 [Day 8] 🇬🇧

07-12-2023 - Camel Cards - Advent of Code 2023 [Day 7] 🇬🇧

06-12-2023 - Wait For It - Advent of Code 2023 [Day 6] 🇬🇧

05-12-2023 - If You Give A Seed A Fertilizer - Advent of Code 2023 [Day 5] 🇬🇧

04-12-2023 - Scratchcards - Advent of Code 2023 [Day 4] 🇬🇧

03-12-2023 - Gear Ratios - Advent of Code 2023 [Day 3] 🇬🇧

02-12-2023 - Cube Conundrum - Advent of Code 2023 [Day 2] 🇬🇧

01-12-2023 - Trebuchet?! - Advent of Code 2023 [Day 1] 🇬🇧

20-09-2023 - EBMBTreeBench - a naive measurement tool for ebmb trees 🇬🇧

20-08-2023 - Topton N5105 e Kingnovy J6413 - Due schede efficienti e potenti, con un mucchio di porte 🇮🇹

04-06-2023 - Fondamenti SEO con Cloudflare - Una guida completa su come Cloudflare può migliorare la SEO del tuo sito web 🇮🇹

26-03-2023 - Browser's "memory management" - A common memory leak in JS engines 🇬🇧

12-03-2023 - Микро Миниатюра / Micro Miniatura - Транзисторные Усилители / Amplificatori e Transistor 🇷🇺

07-12-2022 - Application Programming Interface - We followed your API documentation to the letter! 🇮🇹

03-10-2022 - Apple Silicon Decompilation - When you wish you didn’t know how to use a decompiler 🏳️

06-09-2022 - 붉은별 사용자용체계 / Red Star Operating System - pilsung 암호화 알고리즘 / pilsung encryption algorithm 🇬🇧

17-04-2022 - Enriching HAProxy Logs with GeoIP and Elasticsearch - A Go ingestion sketch that parses HAProxy records, adds GeoIP and ASN data, then indexes events 🇬🇧

13-12-2020 - Estimating Service Coverage with the Haversine Formula - A PHP example that ranks shoppers by straight-line distance from nearby locations 🇬🇧

06-12-2020 - Lexically Normalizing Paths in PHP - A small path abstraction with traversal handling, validation, and PHPUnit examples 🇬🇧

20-09-2020 - A Personal Suricata Policy Snapshot - Historical network-policy and signature rules, with the assumptions and operational risks made explicit 🇬🇧

27-08-2020 - Geiger Counter - A nuclear side project 🏳️

28-12-2019 - Grizzly Steppe - Samples from Russian cyber operations 🇬🇧

03-11-2019 - A RAID6 Recovery Attempt with mdadm - An archived Go experiment for testing candidate disk orders, with important data-preservation caveats 🇬🇧

21-04-2019 - A Go Job Queue, a Misnamed Stack, and a Race - A small producer-consumer example that exposes locking and ticker-lifecycle mistakes 🇬🇧

18-11-2018 - An OpenSSL Default TLS Policy Fragment - A historical system-default configuration for protocol versions, cipher suites, and TLS options 🇬🇧

13-07-2018 - Traffic Analysis - Exfiltrating (meta)data while minimising lateral movements 🇬🇧

01-07-2018 - D-Link botnet - Extracting binaries from a botnet of compromised NAS devices 🇬🇧

17-06-2018 - Notes on Searching for ROP Gadgets in a JavaScript Buffer - An incomplete research fragment for scanning a byte buffer with partial gadget signatures 🇬🇧

10-05-2018 - FASTGate-RCE - Abusing DNS to exploit a command injection and obtain root 🇬🇧

18-03-2018 - An Intentionally Vulnerable TCP Server - A small socket-programming lab showing how unsafe input handling becomes a memory-safety problem 🇬🇧

12-11-2017 - PerlでMaildirをmbox形式にまとめる - reformailまたはformailを使ってMaildirのメッセージを一つのメールボックスに変換する旧式スクリプト 🇯🇵

14-05-2017 - D-Link DNS-323 toolchain - An in-depth guide for DNS-323 hacking with patches, binaries, and helpful resources 🇬🇧

23-03-2017 - macOS firmware integrity check - Looking how Apple’s security features are implemented across architectures 🇬🇧

05-02-2017 - An Incomplete jQuery Experiment with Video Blobs - A CoffeeScript sketch for fetching a video as a Blob and creating an object URL 🇬🇧

18-09-2016 - Dumping Legacy Paradox Databases with Python - A small Python 2 batch exporter for inspecting Paradox database files 🇬🇧

22-05-2016 - Extracting Tracks from BIN/CUE CD Images - An archived Linux-oriented bin2iso program for converting raw CD tracks to ISO and WAV files 🇬🇧

17-04-2016 - Rubyで重複ファイルを検出する - SHA-256を使った重複ファイル検出スクリプトと、削除前に確認すべき実装上の注意点 🇯🇵

20-03-2016 - Building aMule in a Disposable Vagrant VM - An archived Debian and VirtualBox recipe for configuring and compiling aMule from a mounted source tree 🇬🇧

24-01-2016 - Sketching Simplex Data-Transfer Protocols in C - A small sequence of sender and receiver examples, useful for discussing acknowledgements and incomplete state handling 🇬🇧

20-12-2015 - Installing APKs on Multiple Android Devices with ADB - A small JavaFX and Ant tool for installing selected APK files across connected Android devices 🇬🇧

08-11-2015 - A One-Click FFmpeg Converter for ownCloud - A historical ownCloud app for converting stored media, and the shell-safety lessons in its implementation 🇬🇧

13-09-2015 - RubyでTCPポートへの接続を確認する - TCPSocketとタイムアウトを使った、小さなTCP接続チェック 🇯🇵

19-07-2015 - Rendering a Run-Length Encoded Pixel Pattern - A tiny Python script that expands monochrome pixel runs into a text image 🇬🇧

24-06-2015 - Generatore di sudoku in coffeescript - Permutazioni, rimozione validazione e backtracking 🇮🇹

12-04-2015 - A Minimal File Copier with POSIX System Calls - A small C example using open, read, write, and creat, with an important short-write caveat 🇬🇧


Quotes

Humans are allergic to change. They love to say, “We’ve always done it this way.” I try to fight that. Grace Murray Hopper

We can lick gravity but sometimes the paperwork is overwhelming. Wernher Magnus Maximilian Freiherr von Braun

It’s often easier to ask forgiveness than to ask for permission. Grace Murray Hopper

Just keep making great shit, keep your costs in check, charge appropriate prices for your work, share as much as you can, and let the chips fail where they may. Jason Fried

Whenever you make an abstraction and you find that every time you do something and it’s extremely complex, it’s always because you got too clever to begin with. This is a tale as old as time. Just program like you’re an idiot. You’re stupid. It’s okay. Be stupid. Be like the rest of us and just be stupid. Don’t be clever. Don’t come up with some cutesy way to generate all the greatest things you’ve ever done and don’t worry this is super flexible and abstract. No, you’re too dumb. I’m too dumb. John Carmack’s probably too dumb to do it too. It’s okay, just make it simple, one dimensional. Solve the problem at hand, don’t solve tomorrow’s problems because you don’t know what they are and you’re not that good at it anyways. That’s the secret. I’m always stupid. That’s funny I’m always wrecked. ThePrimeagen