56,966 blogs · [ { "id": "01a0bb50-c0d4-72c0-bf44-2e8034f43b7e", "title": "Drinking from the Hoover Dam", "url": "https://madeddu.xyz/posts/cognitive/ten-bits-per-second/", "published_at": "2026-09-16T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f01864634", "title": "Consciousness, collapse and tokens", "url": "https://madeddu.xyz/posts/cognitive/consciousness-llm-relational/", "published_at": "2026-06-07T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f02434747", "title": "Fabble, or: bedtime stories that won't bankrupt me", "url": "https://madeddu.xyz/posts/fabble-evolution/", "published_at": "2026-05-20T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f02d58c84", "title": "Back to basic: typing on a TV virtual keyboard", "url": "https://madeddu.xyz/posts/go-pathfinder/", "published_at": "2026-04-23T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f0303bea8", "title": "Building a Second Brain with Strands Agents, AgentCore Memory, and Bedrock Knowledge Bases", "url": "https://madeddu.xyz/posts/aws/strands-agentcore-memory/", "published_at": "2025-12-28T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f030a6115", "title": "Lambda Managed Instances: When Serverless Meets EC2 Economics", "url": "https://madeddu.xyz/posts/aws/lambda-managed-instances/", "published_at": "2025-12-20T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f03809583", "title": "Your Own Semantic Search Engine for $2/Month: Amazon S3 Vectors", "url": "https://madeddu.xyz/posts/aws/s3-vectors-personal-search/", "published_at": "2025-12-08T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f0394ab55", "title": "Zero to Production Container in Seconds: Amazon ECS Express Mode", "url": "https://madeddu.xyz/posts/aws/ecs-express-mode/", "published_at": "2025-11-25T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f0493f88f", "title": "From Bedrock Prototype to Full-Fledged Adventure: The Evolution of Kroz", "url": "https://madeddu.xyz/posts/aws/kroz-evolution/", "published_at": "2025-09-13T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f0500ffbb", "title": "From Cloud to Home: Migrating an AI Story Generator to Kubernetes", "url": "https://madeddu.xyz/posts/aws/aws-story-telling/", "published_at": "2025-07-15T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f05c7bb07", "title": "Look Mum, an LLM Can Water My Plants!", "url": "https://madeddu.xyz/posts/aws/aws-watering-plants/", "published_at": "2025-05-27T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f060afdd1", "title": "Building an ECS Cluster with Raspberry Pi 4 Nodes Using AWS ECS Anywhere", "url": "https://madeddu.xyz/posts/aws/ecs-anywhere/", "published_at": "2024-11-04T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f0660a635", "title": "An hard time for creativity", "url": "https://madeddu.xyz/posts/aws/hard-times-for-creativity/", "published_at": "2024-09-10T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f0738392f", "title": "Amplify v2: way better than v1", "url": "https://madeddu.xyz/posts/aws/amplify-v2/", "published_at": "2024-07-28T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f07b46f35", "title": "How AWS Bedrock and 80s-Style Text Adventure Game got me selected at the AWS Summit 2024 in Milan", "url": "https://madeddu.xyz/posts/aws/textual-adventure-summit/", "published_at": "2024-05-15T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f081639e8", "title": "That time I was selected as a coach in the AWS New Voices program", "url": "https://madeddu.xyz/posts/aws/aws-new-voices-program/", "published_at": "2024-03-02T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f08539952", "title": "quotes", "url": "https://madeddu.xyz/quotes/", "published_at": "2024-02-15T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f0889f37d", "title": "whoami", "url": "https://madeddu.xyz/whoami/", "published_at": "2024-02-15T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f097b92d1", "title": "The opponent strategy", "url": "https://madeddu.xyz/posts/life/the-opponent-strategy/", "published_at": "2023-11-13T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f09d4c3d2", "title": "Seamless payment integration in your webapp with Stripe, Amplify and DynamoDB (+ indexes)", "url": "https://madeddu.xyz/posts/aws/amplify/aws-stripe-payments/", "published_at": "2023-09-10T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f0a30cdea", "title": "How to harden your premium Content Deliver Network", "url": "https://madeddu.xyz/posts/aws/amplify/aws-signed-url/", "published_at": "2023-07-15T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f0aea1b98", "title": "Produce HLS content ready for streaming with AWS Media Convert", "url": "https://madeddu.xyz/posts/aws/amplify/aws-media-convert/", "published_at": "2023-06-22T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f0ba38dd9", "title": "AWS Amplify in 2023: the good, the bad, and the evil", "url": "https://madeddu.xyz/posts/aws/amplify/aws-amplify/", "published_at": "2023-05-05T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f0c836bf2", "title": "Building an e-learning platform on AWS", "url": "https://madeddu.xyz/posts/aws/amplify/aws-learning-platform/", "published_at": "2023-04-17T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f0d7a6f79", "title": "CSP (better, ASP) in Clingo to bet FantaSanremo", "url": "https://madeddu.xyz/posts/fantasanremo/", "published_at": "2023-01-30T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f0dd4aaaf", "title": "The Doomsday rule", "url": "https://madeddu.xyz/posts/reposted/doomsday/", "published_at": "2022-12-23T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f0e71e3c0", "title": "A monadic reasoning around function composition in Golang", "url": "https://madeddu.xyz/posts/reposted/go-function-composition/", "published_at": "2022-09-01T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f0eac163c", "title": "The Deutsch Algorithm", "url": "https://madeddu.xyz/posts/reposted/deutsch-algorithm/", "published_at": "2022-07-20T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f0f595687", "title": "?(DRY(KIS(afe)S)) => CF(ALB+TLS+SM);", "url": "https://madeddu.xyz/posts/reposted/alb-tls-termination/", "published_at": "2022-02-01T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f0f81198c", "title": "Security and Docker: tips and tricks", "url": "https://madeddu.xyz/posts/reposted/docker-security/", "published_at": "2021-05-07T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f1024fb8a", "title": "Home-as-a-service", "url": "https://madeddu.xyz/posts/k8s/home-as-a-service/", "published_at": "2021-03-24T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f1088e77e", "title": "How to: create a fleet of container-based-go-lambda with one command", "url": "https://madeddu.xyz/posts/aws/container-lambda-fleet/", "published_at": "2020-12-12T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f10ac7f47", "title": "I hacked my blog to let AWS Polly create podcast over it", "url": "https://madeddu.xyz/posts/aws/hacked-my-blog-polly/", "published_at": "2020-11-26T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f10e325e4", "title": "My team run VSC in the browser and they are just fine - Part II", "url": "https://madeddu.xyz/posts/reposted/traefik-single-to-multi-tenant/", "published_at": "2020-10-22T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f11addef8", "title": "I run VSC in the browser and I am just fine - Part I", "url": "https://madeddu.xyz/posts/reposted/immutable-vsc/", "published_at": "2020-09-21T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f11e130fa", "title": "A Golang Turing machine library", "url": "https://madeddu.xyz/posts/reposted/golang-turing-machine/", "published_at": "2020-05-20T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f126dca9c", "title": "Jails: confining the omnipotent root", "url": "https://madeddu.xyz/posts/reposted/jails/", "published_at": "2020-04-19T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f12716129", "title": "T.H.I.N.K: is all about problems, not data", "url": "https://madeddu.xyz/posts/data-vs-problems/", "published_at": "2020-02-10T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f12ab34f6", "title": "?(DRY(KIS(afe)S)) => CF(ALB+TLS+SM);", "url": "https://madeddu.xyz/posts/aws/alb-tls-termination/", "published_at": "2020-02-01T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f12bf6a2e", "title": "A monadic reasoning around function composition in Golang", "url": "https://madeddu.xyz/posts/go-function-composition/", "published_at": "2020-01-16T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f137b7778", "title": "The await/async concurrency pattern in Golang", "url": "https://madeddu.xyz/posts/go-async-await/", "published_at": "2020-01-02T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f13c9d667", "title": "Devops strategies", "url": "https://madeddu.xyz/posts/aws/devops-strategies/", "published_at": "2019-12-08T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f14a501f0", "title": "From Jekyll to Hugo, from Travis to Gitlab: a time for changes", "url": "https://madeddu.xyz/posts/from-jekyll-to-hugo/", "published_at": "2019-09-20T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f1593549e", "title": "Time to say good bye", "url": "https://madeddu.xyz/posts/time-to-say-goodbye/", "published_at": "2019-09-03T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f166d4764", "title": "The Good Employee, a story about how you can explain modern companies with graph theory", "url": "https://madeddu.xyz/posts/life/im-still-learning/", "published_at": "2019-07-10T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f16b343dd", "title": "My team run VSC in the browser and they are just fine - Part II", "url": "https://madeddu.xyz/posts/aws/cloudformation/traefik-single-to-multi-tenant/", "published_at": "2019-07-03T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f16ca6c1f", "title": "I run VSC in the browser and I am just fine - Part I", "url": "https://madeddu.xyz/posts/aws/cloudformation/immutable-vsc/", "published_at": "2019-06-25T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f173b08a5", "title": "A serverless OCR with Polly and Rekognition unveils the power of stack inheritance in CDK", "url": "https://madeddu.xyz/posts/aws/cdk/serverless-ocr/", "published_at": "2019-06-13T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f181e6f9c", "title": "SQS Extended: a serverless producer/consumer chain", "url": "https://madeddu.xyz/posts/aws/cdk/producer-consumer/", "published_at": "2019-06-04T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f1831ecde", "title": "Build an upload form with 45 lines of Typescript", "url": "https://madeddu.xyz/posts/aws/cdk/uploader-stack/", "published_at": "2019-05-29T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f1835bb7f", "title": "How to deploy a serverless contact form with API Gateway, DynamoDB and SNS", "url": "https://madeddu.xyz/posts/aws/cdk/contact-form/", "published_at": "2019-05-23T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f18f7bb1c", "title": "A Bugs Life: stories of a software engineer", "url": "https://madeddu.xyz/posts/life/life-as-a-software-engineer/", "published_at": "2019-05-12T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f19dea744", "title": "From Cloudformation to CDK: the good, the bad and the evil", "url": "https://madeddu.xyz/posts/aws/cdk/cloudformation-to-cdk/", "published_at": "2019-03-25T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f1a6ab2eb", "title": "Software developing and Data science", "url": "https://madeddu.xyz/posts/life/data-whatever/", "published_at": "2019-03-18T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f1a76c605", "title": "GraphQL is the new black", "url": "https://madeddu.xyz/posts/graphql/", "published_at": "2019-03-05T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f1afbaca7", "title": "A serverless blog using CodePipeline, s3 and CloudFront", "url": "https://madeddu.xyz/posts/aws/blog-migration/", "published_at": "2019-02-24T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f1b1be4cc", "title": "A journey through the network - Hands on (Part 1)", "url": "https://madeddu.xyz/posts/network/network-hands-on/", "published_at": "2019-02-18T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f1b8ce6a8", "title": "Security and Docker: tips and tricks", "url": "https://madeddu.xyz/posts/docker-security/", "published_at": "2019-02-07T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f1c5b6fa2", "title": "The Deutsch Algorithm", "url": "https://madeddu.xyz/posts/quantum/deutsch-algorithm/", "published_at": "2019-01-23T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f1cfed3fe", "title": "A Golang Turing machine library", "url": "https://madeddu.xyz/posts/golang-turing-machine/", "published_at": "2019-01-19T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f1dc397b6", "title": "Smart SPA Shower at home", "url": "https://madeddu.xyz/posts/smart-spa-shower/", "published_at": "2019-01-13T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f1e1de2cb", "title": "Machine Learning is useless", "url": "https://madeddu.xyz/posts/machine-learning/", "published_at": "2018-12-19T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f1e85ca84", "title": "My first UniKernel image for sequence prediction", "url": "https://madeddu.xyz/posts/compact-prediction-tree/", "published_at": "2018-11-30T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f1ed177dd", "title": "Migrations in modern companies: how to expect the unexpected from a real-life point of view", "url": "https://madeddu.xyz/posts/life/app-migrations/", "published_at": "2018-11-18T00:00:00+00:00" }, { "id": "01a0879e-4e5f-7143-83fe-c64f1ed2a8e7", "title": "How my Elman network learnt to count", "url": "https://madeddu.xyz/posts/elman-student/", "published_at": "2018-11-13T00:00:00+00:00" }, { "id": "01a0879e-4e60-7203-992a-545d7ccf71e4", "title": "ACT-R by John R. Anderson - Part II", "url": "https://madeddu.xyz/posts/cognitive/act-r-part-ii/", "published_at": "2018-11-07T00:00:00+00:00" }, { "id": "01a0879e-4e60-7203-992a-545d7db5214d", "title": "ACT-R by John R. Anderson - Part I", "url": "https://madeddu.xyz/posts/cognitive/act-r-part-i/", "published_at": "2018-10-30T00:00:00+00:00" }, { "id": "01a0879e-4e60-7203-992a-545d7e7467dc", "title": "DRY, immutable, opinionated, agnostic", "url": "https://madeddu.xyz/posts/dry-immutable-opinionated/", "published_at": "2018-10-21T00:00:00+00:00" }, { "id": "01a0879e-4e60-7203-992a-545d7f27f51f", "title": "Go Erlangen!", "url": "https://madeddu.xyz/posts/go-erlangen/", "published_at": "2018-09-24T00:00:00+00:00" }, { "id": "01a0879e-4e60-7203-992a-545d7ffb4351", "title": "[Not completed yet] Implementing a Blockchain using Kafka", "url": "https://madeddu.xyz/posts/kakfa-and-blockchain/", "published_at": "2018-04-11T00:00:00+00:00" }, { "id": "01a0879e-4e60-7203-992a-545d80879d03", "title": "HAL: AWS s3-sns based single-slack-command bot to handle your VPC", "url": "https://madeddu.xyz/posts/aws/hal-s3-sns/", "published_at": "2018-03-24T00:00:00+00:00" }, { "id": "01a0879e-4e60-7203-992a-545d8127a1cb", "title": "JarvisButton: how to invoke multiple AWS Lambda with one AWS IoT Button (not Enterprise ed.)", "url": "https://madeddu.xyz/posts/aws/aws-jarvis-button/", "published_at": "2018-03-18T00:00:00+00:00" }, { "id": "01a0879e-4e60-7203-992a-545d81fc769f", "title": "I'm still learning", "url": "https://madeddu.xyz/posts/life/doing-vs-learning/", "published_at": "2018-03-15T00:00:00+00:00" }, { "id": "01a0879e-4e60-7203-992a-545d82df16c7", "title": "AWS Free Tier, Docker and Jenkins: smart resources handling with CloudWatch Events and Slack", "url": "https://madeddu.xyz/posts/free-tier-cloudwatch/", "published_at": "2018-03-11T00:00:00+00:00" }, { "id": "01a0879e-4e60-7203-992a-545d82e30f40", "title": "Node.js, DynamoDB, and AWS Step Functions to collect sentimented movie reviews", "url": "https://madeddu.xyz/posts/aws/aws-step-functions/", "published_at": "2018-03-05T00:00:00+00:00" }, { "id": "01a0879e-4e60-7203-992a-545d82fa9867", "title": "A Quantum Experience", "url": "https://madeddu.xyz/posts/quantum/quantum-computing/", "published_at": "2018-02-20T00:00:00+00:00" }, { "id": "01a0879e-4e60-7203-992a-545d836d4f49", "title": "AWS Lambda, GoLang and Grafana to perform sentiment analysis for your company / business", "url": "https://madeddu.xyz/posts/aws/aws-lambda/", "published_at": "2018-01-30T00:00:00+00:00" }, { "id": "01a0879e-4e60-7203-992a-545d843a2709", "title": "A journey through the network - Layer 2", "url": "https://madeddu.xyz/posts/network/network-layers-2/", "published_at": "2018-01-25T00:00:00+00:00" }, { "id": "01a0879e-4e60-7203-992a-545d8518d561", "title": "GoLang vs Python: deep dive into the concurrency", "url": "https://madeddu.xyz/posts/go-py-benchmark/", "published_at": "2018-01-17T00:00:00+00:00" }, { "id": "01a0879e-4e60-7203-992a-545d8545344f", "title": "Elasticsearch over My home Network Attached Storage", "url": "https://madeddu.xyz/posts/elasticnas/", "published_at": "2018-01-13T00:00:00+00:00" }, { "id": "01a0879e-4e60-7203-992a-545d85da8c43", "title": "Jails: confining the omnipotent root", "url": "https://madeddu.xyz/posts/jails/", "published_at": "2018-01-08T00:00:00+00:00" }, { "id": "01a0879e-4e60-7203-992a-545d85e34e1e", "title": "A journey through the network - Layer 1", "url": "https://madeddu.xyz/posts/network/network-layers-1/", "published_at": "2018-01-05T00:00:00+00:00" }, { "id": "01a0879e-4e60-7203-992a-545d86cbdaf0", "title": "My first textual game", "url": "https://madeddu.xyz/posts/textual-game/", "published_at": "2018-01-02T00:00:00+00:00" }, { "id": "01a0879e-4e60-7203-992a-545d87bf27f0", "title": "Best wishes for Christmas holidays!", "url": "https://madeddu.xyz/posts/merry-christmas/", "published_at": "2017-12-24T00:00:00+00:00" }, { "id": "01a0879e-4e60-7203-992a-545d88bc8d17", "title": "The Doomsday rule", "url": "https://madeddu.xyz/posts/doomsday/", "published_at": "2017-12-23T00:00:00+00:00" }, { "id": "01a0879e-4e60-7203-992a-545d88f8438e", "title": "A journey through the network - Introduction", "url": "https://madeddu.xyz/posts/network/network-layers-0/", "published_at": "2017-12-22T00:00:00+00:00" }, { "id": "01a0879e-4e60-7203-992a-545d898784aa", "title": "Predix Machine and how to configure them", "url": "https://madeddu.xyz/posts/predix-angular-iot/", "published_at": "2017-12-21T00:00:00+00:00" }, { "id": "01a0879e-4e60-7203-992a-545d8a02d6f3", "title": "Build a multilayer perceptron with Golang", "url": "https://madeddu.xyz/posts/neuralnetwork/", "published_at": "2017-12-20T00:00:00+00:00" }, { "id": "01a0879e-4e60-7203-992a-545d8af56a03", "title": "Fundamentals by an ITalian guy", "url": "https://madeddu.xyz/posts/life/fundamentals/", "published_at": "2017-12-19T00:00:00+00:00" }, { "id": "01a0879e-4e60-7203-992a-545d8b510cf7", "title": "Golang, Docker and multistage build", "url": "https://madeddu.xyz/posts/goa-docker-multistage/", "published_at": "2017-12-18T00:00:00+00:00" }, { "id": "01a0879e-4e60-7203-992a-545d8bc6c143", "title": "Java 8 Pills", "url": "https://madeddu.xyz/posts/java-8-pills/", "published_at": "2017-12-15T00:00:00+00:00" }, { "id": "01a0879e-4e60-7203-992a-545d8bf4954b", "title": "How to plan your daily activity with Python", "url": "https://madeddu.xyz/posts/python-lifeplan/", "published_at": "2017-12-14T00:00:00+00:00" }, { "id": "01a0879e-4e60-7203-992a-545d8cc38303", "title": null, "url": "https://madeddu.xyz/home/", "published_at": null }, { "id": "01a0879e-4e60-7203-992a-545d8d221a1e", "title": null, "url": "https://madeddu.xyz/trivia/", "published_at": null } ] posts Claim your blog
Back to madeddu.xyz
Blog · corpus.blog/blogs/madeddu.xyz/posts

madeddu.xyz

madeddu.xyz

2026

2025

2024

2023

2022

2021

2020

2019

2018

2017

Undated