All blogs / Dev tools / editors / IDEs
Nelson Figueroa
Nelson Figueroa - Software Engineer based in Los Angeles, California. Writing about programming, cloud infrastructure, cybersecurity, and the tech industry.
Dev tools / editors / IDEsDevOps / SRE / infrastructureSecurity
- Posts
- 125 from 26 Sep 2019 to 29 Oct 2026
- Posting
- weekly (38 in the last year)
- Kind
- personal blog
- Feed
- https://nelson.cloud/index.xml
2026 32
- Enums Can Be Enforced at the Database Level in PostgreSQL
- Inspecting the Tor Network and Detecting Tor Traffic in Your Infrastructure
- Stats
- You Can Hide Languages From GitHub's Languages Bar
- You Can Hide Languages From GitHub's Languages Bar
- See all Posts »
- AI Productivity Gains Mainly Benefit People At The Top
- AI Productivity Gains Mainly Benefit People At The Top
- How to Tell What Kind of Pulumi Access Token You Have
- How to Tell What Kind of Pulumi Access Token You Have
- Setting Up a Time Machine Drive from the Command Line
- Setting Up a Time Machine Drive from the Command Line
- Failed Time Machine Backups Fill Up Your Internal Drive Too
- Failed Time Machine Backups Fill Up Your Internal Drive Too
- Terminal Colors Are Just Text
- Terminal Colors Are Just Text
- You Can Detect if Code Is Being Run Inside a Terminal
- You Can Detect if Code Is Being Run Inside a Terminal
- .gitignore Isn’t the Only Way To Ignore Files in Git
- .gitignore Isn’t the Only Way To Ignore Files in Git
- How to Install a Specific Version of a Homebrew Package with brew extract
- How to Install a Specific Version of a Homebrew Package with brew extract
- Proxying GoatCounter Requests Through CloudFront to Bypass Ad Blockers
- Proxying GoatCounter Requests Through CloudFront to Bypass Ad Blockers
- I Created My First AI-assisted Pull Request and I Feel Like a Fraud
- I Created My First AI-assisted Pull Request and I Feel Like a Fraud
- I Hate Workday
- I Hate Workday
- Adding Headers to HTTP Requests in Go
- Adding Headers to HTTP Requests in Go
- Using time.Sleep() in Go
- Using time.Sleep() in Go
2025 26
- Setting up WireGuard on Synology DSM 7 using Docker and Gluetun
- Setting up WireGuard on Synology DSM 7 using Docker and Gluetun
- What I Actually Want To Say in Tech Interviews
- What I Actually Want To Say in Tech Interviews
- GitHub Actions for Pulumi with an AWS S3 Backend
- GitHub Actions for Pulumi with an AWS S3 Backend
- How to Actually Copy a List in Python
- How to Actually Copy a List in Python
- Creating High Quality GIFs from Asciinema Recordings
- Creating High Quality GIFs from Asciinema Recordings
- Quick Tip: Mute the Terminal Login Message with a .hushlogin File
- Quick Tip: Mute the Terminal Login Message with a .hushlogin File
- How to Use an AWS S3 Bucket as a Pulumi State Backend
- Local Text Summarization With Ollama and Python Is Just String Manipulation
- Proper Hugo Template Syntax Highlighting with go-html-template
- A Trick To Remove Unwanted Whitespace After Links in Hugo
- Remove Unnecessary Hugo Meta Tag to Keep HTML Lean
- Validate HTTP Status Codes in Go Using Built-in Constants
- It’s 2025, Why Aren’t You Using an Ad Blocker?
- How to Clone a Specific Git Branch Without Other Branches
- Delete All Pulumi Stacks with One Command
- How to Disable CSS Animations and Transitions
- We Exist Only to Work
- There Is Little Incentive to Participate in Your Employer's Hackathons
- Fix "Efficient Cache Policy" Warning on PageSpeed Insights When Using Amazon CloudFront
- How to Add a Custom Response Header to an Amazon CloudFront Distribution
2024 24
- How to Generate and Format the Current Date and Time in Hugo with dateFormat
- Render HTML and CSS if JavaScript Is Disabled Using the ` ` Tag
- The prefers-reduced-motion CSS Media Query
- Leaving Proton Mail
- Preserve Child Objects When Parent Objects Are Deleted in Ruby on Rails
- Remove Shadows From Screenshots in macOS
- AI-Generated Images Discourage Me From Reading Your Blog
- Finding Private Information Through Resumes on Google Search
- Iterate Through Strings in Go with a for-range Loop
- Let's Stop Asking "Why Do You Want To Work for Us?" in Interviews
- I Am So Sick of Leetcode-Style Interviews
- Calendly Denial of Service via Mass-Scheduling
- Python Lists Cheatsheet
- Get Unique Elements in a Python List
- Ruby Arrays Cheatsheet
- How I Discover New Blogs
- My Favorite Blogs
- Being Poor
- Kubernetes RBAC: Get vs List
- Making Life More Difficult for Bank Scammers
- Ruby on Rails: Enable File Downloads Using link_to
- Find Unnecessary Homebrew Packages with "brew leaves"
- AWS SSM: Run a Shell Command Against Multiple EC2 Instances
- Optional Type Hints in Python
2023 12
- Hitting Back at Ledger Scammers With Python
- Getting EC2 Instance Metadata Using IMDSv2
- Company Missions are Bullshit
- How to Determine the Entrypoint for a Docker Image
- Publishing Fake AWS API Keys on My Site
- Automatically Delete Development Logs in Ruby on Rails
- Delete All node_modules Directories Recursively in macOS and Linux
- As an Employee, You Are Disposable
- My Donation Earnings Over the Past Year
- How To Install Older Versions of Homebrew Packages
- Redirect One Domain to Another Using AWS S3 and CloudFront
- Ruby Hash Key Types Vary Depending on Hash Syntax
2022 17
- Hosting a Static Website on AWS Using S3 and CloudFront
- How to Enable Manual Runs of GitHub Actions Workflows
- Sorting Hashes in Ruby
- Restricting Ruby on Rails Routes with :only and :except
- Iterating Through Hashes in Ruby
- Fix Devise Errors in Ruby on Rails 7
- Set a Default Ruby Version with Ruby Version Manager (RVM)
- Ignore Files Across All Subdirectories in .dockerignore
- Adding Environment Variables to Serverless Functions
- Scrape Contributor Emails From Any Git Repository
- Using Python to Flood Scammers with Fake Passwords
- Finding AWS Resources by IP Address
- Replacing AWS ACM SSL Certificates With No Downtime
- Invoking Amazon API Gateway with an API Key
- NGINX: Difference Between ~ and ~* Tildes
- Retaliating Against MetaMask Scammers With Python
- Getting EC2 Instance Metadata Using IMDSv1
2021 7
- Scraping GitHub Contributor Emails
- Resolving AWS CloudFront Access Denied Errors
- AWS IAM: Allowing a Role to Assume Another Role
- Uniqueness Constraint Between Two Columns in Rails
- Handling Decimal Precision in Rails
- Cleaning Up Residual Files on macOS After Deleting Apps
- Insertion Order Iteration of Maps in Go