# Tiago Rodrigues > Dipping into programming one toe at a time. Public Ghost content for AI and LLM tooling. Use `/llms-full.txt` for consolidated page and post context. Append `.md` to any post or page URL to get the content in Markdown (for example, `/example-post.md`). ## Pages - [AAI - AWS Authorized Instructor](https://tig.pt/aai.md) - As an AWS Authorized Instructor (AAI), I am certified and empowered to deliver comprehensive AWS training programs that help individuals and organizations deepen their understanding of cloud technologies. This certification ensures that I bring expert knowledge, real-world experience, and engaging… - [About this site](https://tig.pt/about.md) - Tiago Rodrigues is an independent publication launched in June 2026 by Tiago Rodrigues. If you subscribe today, you'll get full access to the website as well as email newsletters about new content when it's available. Your subscription makes this site possible, and allows Tiago Rodrigues to continu… - [AWSary Privacy Policy](https://tig.pt/awsary-privacy.md) - This policy applies to all information collected or submitted on AWSary's website and our apps for iPhone and any other devices and platforms. Information we collect AWSary collect no personal user data. We don’t send promotional emails. Technical basics Our server software may store basic technica… - [AWSary](https://tig.pt/awsary.md) - AWSary makes creating AWS Cloud Architecture diagrams a breeze. Quickly access AWS service logos & drag-and-drop to design professional diagrams. Perfect for AWS Cloud Consultants & Solution Architects. Download now and streamline your diagramming process! Regarding Privacy, this application only a… - [Contacto](https://tig.pt/contacto.md) - Sempre disponível para discutir qualquer assunto, contate-me pelo formulário a baixo, quer seja para agradecer algum dos meus artigos, criticar, denunciar um erro ou fazer-me uma proposta de negócio. Formulário de Contactos: O seu nome (obrigatório) O seu e-mail (obrigatório) Assunto A sua mensagem - [EuroMillions--](https://tig.pt/euromillions.md) - This is EuroMillions-- iOS app about page. Under construction - [iOS Apps](https://tig.pt/ios-apps.md) - Check my iOS Apps * EuroGroup for Euromillions One of my most recent apps that lets you check the EuroMillions draw's result. Get the latest euromillions results seconds after the the draw! Check the prizes breakdown to see how much did you won. EuroGroup can sit on your today widget screen and on… - [Mac Install specific version of Node](https://tig.pt/mac-install-specific-version-of-node.md) - If you, like me, are working on multiple projects of Node, big projects that you can't just use the latest version of Node in all of them, you need to manage how to have multiple versions of Node on your Mac. You can install a specific version of Node, or multiple versions of Node with NVM. If you… - [You are Offline](https://tig.pt/offline.md) - Woops! Looks like you are offline. You can just wait, I will tell you when you are back online. 😃 - [Sobre Tiago Rodrigues](https://tig.pt/sobre-mim.md) - Chamo-me Tiago Rodrigues tenho 31 anos e sou de Lisboa. Tirei o *Curso Tecnológico de Informática *e frequentei a Licenciatura em Engenharia Informática e Computadores. Há cerca de 9 anos comecei a interessar-me pela Robótica, desde essa altura comecei a explorar cada vez mais esta área, tendo em 2… - [Websites](https://tig.pt/websites.md) - Here is the list of the websites I've been working on. This page is under construction... LusoRobótica ## Posts - [Terraform AWS IAM Role Errors DNS](https://tig.pt/terraform-aws-iam-role-errors-dns.md) - This is not the first time, and if you are out there and seeing a similar error, this may be the soltuion you are looking for. terraform plan Planning failed. Terraform encountered an error while generating this plan. ╷ │ Error: configuring Terraform AWS Provider: IAM Role (arn:aws:iam::11122233344… - [New AWS Game on AWSary v1.4.0](https://tig.pt/new-aws-game-on-awsary-v1-4-0.md) - 🚀 Exciting News Alert! 🚀 I'm thrilled to announce the latest update to our AWSary mobile app - introducing a brand new feature that takes learning about AWS services to a whole new level: the AWSary Logo Challenge Game! 🎮💡 At AWS re:invent 2023 Guillermo Ruiz challenged me to tweak my app and a… - [Yet another AWS Terraform Backend on S3 + DynamoDB](https://tig.pt/yet-another-aws-terraform-backend-on-s3-dynamodb.md) - Every time I start an AWS project, I have the same issue, what Terraform backend to use? I love the AWS S3 + DynamoDB backend solution but this just covers the basics, you want your Terraform State to be protected from client misbehavior or human error. Yes, I've been on the end of the call where t… - [AWS re:cap 2023](https://tig.pt/aws-recap-2023.md) - This week we had AWS re:cap in Lisbon, we had bad luck organising the event on the same day as the two major football teams in Lisbon played, Sporting and Benfica, but the core people attended the event anyway in Academia de Código office. It was so great to have finally María Encinar and Guillermo… - [AWSary on Android](https://tig.pt/awsary-android.md) - AWSary - Apps on Google PlayAWS services dictionaryApps on Google PlayLuiz Calderaro Finally, AWSary is available on Android. About 4 Months ago, Luiz Calderaro approached me to help port AWSary to Android, and I couldn't be more thrilled. Luiz has found some time here and there to sync with me and… - [AWS re:invent 2023](https://tig.pt/aws-re-invent-2023.md) - This was my first re:invent and boy, oh boy, it was overwhelming in a good way. I want more! It was my first time outside of Europe, and I have to say, jetlag is a real thing, with 8 hours difference I was waking up at 3 am every day and trying to enjoy the full day as if it was nothing, and you kn… - [CloudFront and the Wild West of the Internet](https://tig.pt/cloudfront-and-the-wild-west-of-the-internet.md) - The internet is truly amazing, but it is a Wild West. The other day I was looking at my CloudFront Popular objects and was supper curious, this is pointing to an S3 bucket with some static images and polly mp3 that are serving the mobile app. What wp-login.php and server-status or login.action. The… - [AWS Cloud Experience Portugal 2023](https://tig.pt/aws-cloud-experience-portugal-2023.md) - This year on Cloud Experience Portugal, I was invited by AWS to step up on the stage and talk about AWS cloud in my carrier, in Portuguese 🥳 When looking back, I realized what a journey has been. From casual running some virtual machines on ec2 to being a Champion AAI and an AWS User Group Leader,… - [DeepRacer Day](https://tig.pt/deepracer-day.md) - Today I was part of the team organising a DeepRacer Day with SIXT. It is awesome to share some of the experiences and help others start on the Cloud Journey. As I won 1st place on AWS DeepRacer Madrid 2022, tecRacer kind of nominated me as the DeepRacer guy. Once we knew that SIXT was getting the M… - [AWAsary v1.3.0](https://tig.pt/awasary-v1-3-0.md) - ‎AWSary - AWS Dictionary‎AWSary is the ultimate resource for AWS Cloud Consultants, students, and anyone looking to stay up-to-date with AWS services. With this app, you’ll have access to a comprehensive AWS dictionary, allowing you to easily search and learn about various AWS services. With this a… - [AWS GuardDuty is an Angel](https://tig.pt/aws-guardduty-is-an-angel.md) - A few weeks ago a client asked me: "Hey, can you please create a dev machine on our POC account, we want an internet-facing server with RDP opened on port 3389 for a small test and an RDS Database connected to it, just go simple, ClickOps to test out something" I immediately said: Careful RDP is ty… - [AWAsary v1.2.2](https://tig.pt/awasary-v1-2-2.md) - ‎AWSary - AWS Dictionary‎AWSary is the ultimate resource for AWS Cloud Consultants, students, and anyone looking to stay up-to-date with AWS services. With this app, you’ll have access to a comprehensive AWS dictionary, allowing you to easily search and learn about various AWS services. With this a… - [Python Amazon Polly](https://tig.pt/python-amazon-polly.md) - By now if you have been following my blog, you know about AWSary. What if we could generate sound out of text, what if I could "magically" have AWS generate all AWS Services names in voice format so I know how to pronounce them? First we importo boto3 the AWS SDK for Python. import boto3 Then we lo… - [AWAsary v1.2.1](https://tig.pt/awasary-v1-2-1.md) - ‎AWSary - AWS Dictionary‎AWSary is the ultimate resource for AWS Cloud Consultants, students, and anyone looking to stay up-to-date with AWS services. With this app, you’ll have access to a comprehensive AWS dictionary, allowing you to easily search and learn about various AWS services. With this a… - [AWAsary v1.2.0](https://tig.pt/awasary-v1-2-0.md) - ‎AWSary - AWS Dictionary‎AWSary is the ultimate resource for AWS Cloud Consultants, students, and anyone looking to stay up-to-date with AWS services. With this app, you’ll have access to a comprehensive AWS dictionary, allowing you to easily search and learn about various AWS services. With this a… - [AWAsary v1.1.2](https://tig.pt/awasary-v1-1-2.md) - I'm happy to bring a new update to AWSary, our laved iOS tool: ‎AWSary - AWS Dictionary‎AWSary is the ultimate resource for AWS Cloud Consultants, students, and anyone looking to stay up-to-date with AWS services. With this app, you’ll have access to a comprehensive AWS dictionary, allowing you to… - [CloudFront cache policies](https://tig.pt/cloudfront-cache-policies.md) - Last blog post we did the setup of CloudFront, deal right? Wrong! Just because we setup a CDN, do not mean we did it right, if you look carefully to the output our our curl to the sample image, it's missing an important http response header, the cache-control, also neither an age header. curl -I ht… - [CloudFront on S3 and InvalidViewerCertificate](https://tig.pt/cloudfront-on-s3-and.md) - Continuing our iOS AWSary App project, we want to put a CDN in front of S3 to speed up content deliver as well as reduce S3 costs with cache at edge. If you try to create CloudFront with terraform you will probably use the same region as the rest of your infrastructure, and if you are not on us-eas… - [Route53 - Transfer domain from Cloudflare](https://tig.pt/route53-transfer-domain-from-cloud.md) - Cloudflare is great, I've been using them as my DNS manager and CDN for years and they offer a lot of value even on the free tier, they also have very competitive domain registration pricing, but... you can not point your domains bought on Cloudflare to other CDNs like AWS CloudFront or even to oth… - [AWSary - Creation of S3 bucket](https://tig.pt/creation-of-s3-bucket.md) - I created a proof of concept (POC) for the iOS app AWSary, with a quick and dirty backend on a docker NGINX image. Now that I decided to move the backend to AWS, we will need to setup multiple things. First things first, we need a S3 bucket to store and serve the static resources like images, for t… - [AWSary - AWS Dictionary](https://tig.pt/awsary-released.md) - ‎AWSary - AWS Dictionary‎AWSary is the ultimate resource for AWS Cloud Consultants, students, and anyone looking to stay up-to-date with AWS services. With this app, you’ll have access to a comprehensive AWS dictionary, allowing you to easily search and learn about various AWS services. With this a… - [ISCTE](https://tig.pt/iscte.md) - It was a pleasure to be invited to give a talk about AWS at ISCTE Universiry. This was a guide for the students during the class and I will keep this post alive for now in case some student needs it. Let's build a website with hugo and AWS Amplify 1. Head to https://github.com and create and accoun… - [AWS at Future.works 2022](https://tig.pt/future-works-2022.md) - Last week, I had the opportunity to participate in a job fair as a speaker. I was invited to speak about the topic of my choice and I couldn't resist to talk about AWS - Big Data and how businesses can leverage AWS cloud services to collect and analyze it. As someone who is passionate about the pow… - [AWS Authorized Instructor](https://tig.pt/aws-authorized-instructor.md) - Achieving the AAI: AWS Authorized Instructor Certification I am thrilled to announce that I have achieved the AAI: AWS Authorized Instructor certification. This may not mean much on its own, but in the context of my career and personal goals, it means a lot to me. I have always loved to learn and t… - [AWS Learning: Object Storage](https://tig.pt/aws-learning-object-storage.md) - Making the Most of My Time: Learning on the Go at the Airport Sitting at the airport, waiting for my Lufthansa flight, I had booked business class (yes, it was cheaper than booking economy flights for some reason) and I found myself in the lounge room with comfortable seats, great food and a lot of… - [AWS User Group Lisbon - 2022](https://tig.pt/aws-user-group-lisbon-2022.md) - It was great to see the AWS user group Lisbon kick off again this week after a long hiatus due to Covid-19. I and my tecRacer colleagues took the lead in hosting the event, and it was a pleasure to see the room full once again. We were fortunate to have Bruno Quintas from AWS join us as a speaker,… - [AWS Summit Madrid 2022](https://tig.pt/aws-summit-madrid-2022.md) - AWS Summit Madrid 2022: A Great Event and an Amazing Experience This week was the AWS Summit Madrid 2022 and it was an incredible event. It's the time of the year that we celebrate AWS on the Iberian peninsula and tecRacer's Portugal branch needed to be there in strength. There were a lot of good l… - [AWS Certified Solutions Architect – Associate Exame](https://tig.pt/aws-certified-solutions-architect-associate-exame.md) - Conquering the AWS Certified Solutions Architect – Associate Exam I am thrilled to announce that I have successfully passed the AWS Certified Solutions Architect – Associate exam. Despite having used the AWS cloud for a few years, I found this exam to be quite challenging. English is not my native… - [AWS Certified Cloud Practitioner Exam](https://tig.pt/aws-certified-cloud-practitioner-exam.md) - Achieving Success: Passing the AWS Certified Cloud Practitioner Exam I am thrilled to announce that I have successfully passed the AWS Certified Cloud Practitioner exam. While some may not see much value in this certification, I believe that it is a significant milestone on my journey towards becom… - [Start at tecRacer](https://tig.pt/start-at-tecracer.md) - Exciting times ahead as I join tecRacer, a cloud consulting company that is focused on training and I feel a great culture vibe. I am thrilled to be taking this step in my journey towards becoming an AWS expert. Joining a new company can be daunting, but I am confident that tecRacer is the perfect… - [Enable PWA on Ghost blog](https://tig.pt/ghost-pwa.md) - PWA is not a new concept but a lot of websites don't implement it yet. I was recently invited to a Google Mobile Summit where Luis Dinís among others have shown me the light about PWA, AMP, and other mobile technologies. It was so easy to implement PWA (at least the bare minimum) that I wanted to s… - [How to upgrade Oh My Zsh](https://tig.pt/how-to-upgrade.md) - Sometimes my work network is blocking github.com and some other domains and you can fail a Oh My Zsh upgrade because of network failure. After switching to my secondary network I need to manualy ask Oh My Zsh to upgrade because it will not prompt you again, so here is how to manualy upgrade it: upg… - [Live Cheaper, Live Greener](https://tig.pt/live-cheaper-live-greener.md) - Live Cheaper We all want to live cheaper, but only if it doesn't impact your quality of life. Don't be a miser I'm not an ambassador for misers, after all, you can always make more money, you can only save as much as you make. That's one of the multiple things I've learned with Ramit and his awesom… - [Monitor your Infrastructure with TIG Stack](https://tig.pt/monitor-your-infrastructure-with-tig-stack.md) - I was looking for a way to monitor my host and Docker containers and found TIG (Telegraf + InfluxDB + Grafana) to be a great solution, not because the name of the stack, but because it was free, open-source and lightweight. Grafana is also a good option because it can be used to make dashboards for… - [Show Disk Space Used by Docker](https://tig.pt/show-disk-space-used-by-docker.md) - Docker is a great tool, and I can't imagine myself managing my servers without it anymore. But if you are not careful, disk space can be a concern. docker system df will show you how much disk space is used and with -v flag (verbose), you can see the unique image size for each image. # docker syste… - [Create your Habits](https://tig.pt/habits.md) - Create your habits and become the person you wanna be. I'm 32, never run before and started from a day to another! We are habits animals and consciously or not, we tend to transform any repetitive task into a habit. When it comes to day-to-day tasks, I've always felt a bit nerd since I use to do me… - [Working music](https://tig.pt/working-music.md) - Sometimes you just need some kind of music to help you keep focus and with energy to work. I've found FocusMusic.fm to be a great option. I like it, it keeps me productive and I don't have to think about it. For someone that it's not a music lover but can feel the benefice of having music while wor… - [Wordpress xmlrpc.php attack](https://tig.pt/wordpress-xmlrpc-php-attack.md) - This morning I woke up and found on my email a "more than 90% CPU use over 2h report". Hum... interesting, did I become famous overnight or am I under attack? Quick look on my server and found that CPU was still at max. Did I make some weird bug? Let me check Nginx requests My hopes of fame were hi… - [MiWiFi NAS - Millet Router macOS English localization](https://tig.pt/miwifi-nas.md) - TL;DR Xiaomi have great routers at amazing prices that offer an excellent WiFi coverage and many powerful options. Here I share the English translation for macOS companion App. I have a MiWiFi NAS, that I use as my home router. It has a great WiFi coverage merging 2,4Ghz and 5Ghz networks with the… - [PHP Get HTTP Request Headers - get_headers()](https://tig.pt/php-get_headers.md) - I was doing some tests to make a simple web crawler in PHP and I want to share with you get_headers() function.