RSSAmplifier

Blog

Nelson Figueroa

Recent content on Nelson Figueroa

nelson.cloudRSS feed ↗99 posts

Latest posts

How to Tell What Kind of Pulumi Access Token You Have

Pulumi access tokens all look the same but you can use the Pulumi CLI or API to figure out what kind of token it is.

Setting Up a Time Machine Drive from the Command Line

Steps to set up a Time Machine drive from the command line.

Failed Time Machine Backups Fill Up Your Internal Drive Too

Failed backups prevent older snapshots from being released. Old snapshots retain deleted files and can take up a bunch of space.

Terminal Colors Are Just Text

ANSI escape codes are used to colorize text in a terminal.

You Can Detect if Code Is Being Run Inside a Terminal

Most programming languages have a way to detect if code is being run in a terminal.

.gitignore Isn’t the Only Way To Ignore Files in Git

You can ignore files in .gitignore, .git/info/exclude, and ~/.config/git/ignore

How to Install a Specific Version of a Homebrew Package with brew extract

Use brew extract to install a specific version of a homebrew package.

Proxying GoatCounter Requests Through CloudFront to Bypass Ad Blockers

How to configure CloudFront to proxy requests to GoatCounter so that adblockers don’t block page views.

I Created My First AI-assisted Pull Request and I Feel Like a Fraud

I used AI to contribute to an open source project. The code was merged. I didn’t learn anything and I felt bad as an engineer.

I Hate Workday

Workday makes it a huge pain in the ass to apply to companies.

Adding Headers to HTTP Requests in Go

Build requests with http.NewRequest() to add headers, then send them with http.Client{}

Using time.Sleep() in Go

Examples of using time.Sleep() in Go because the official documentation is lacking.

Setting up WireGuard on Synology DSM 7 using Docker and Gluetun

A guide to connect a Synology NAS to a WireGuard VPN server, with qBittorrent as an example.

What I Actually Want To Say in Tech Interviews

Honest answers to common interview questions in the tech field.

GitHub Actions for Pulumi with an AWS S3 Backend

How to set up GitHub Actions for Pulumi when the state is stored in an AWS S3 Bucket.

How to Actually Copy a List in Python

Copy a list in Python using the copy() method, not the assignment operator.

Creating High Quality GIFs from Asciinema Recordings

Use agg with a huge font size to get high quality GIFs.

Quick Tip: Mute the Terminal Login Message with a .hushlogin File

Create a .hushlogin file in your home directory to silence login messages.

How to Use an AWS S3 Bucket as a Pulumi State Backend

Self-host Pulumi state with an S3 Bucket, an IAM User, and the Pulumi CLI.

Local Text Summarization With Ollama and Python Is Just String Manipulation

Generate a string with Python, pass it into Ollama, and you get a string in return. That’s it.

Proper Hugo Template Syntax Highlighting with go-html-template

Improve Hugo template code highlighting using go-html-template Markdown code blocks.

A Trick To Remove Unwanted Whitespace After Links in Hugo

Use this template syntax to remove unwanted whitespace after links in Hugo.

Remove Unnecessary Hugo Meta Tag to Keep HTML Lean

Remove an unnecessary and auto-generated Hugo meta tag by setting disableHugoGeneratorInject to true .

Validate HTTP Status Codes in Go Using Built-in Constants

Use Go net/http constants like StatusOK and StatusNotFound for more readable code.

It’s 2025, Why Aren’t You Using an Ad Blocker?

Far too many people still don’t use ad blockers.

How to Clone a Specific Git Branch Without Other Branches

Clone a single Git branch using –single-branch and –depth for faster cloning.

Delete All Pulumi Stacks with One Command

How to delete all Pulumi stacks with a shell one-liner.

How to Disable CSS Animations and Transitions

Disable CSS animations and transitions with a few lines of CSS.

We Exist Only to Work

We are born, we go to school to prepare for a job, we work most of our lives, then we die.

There Is Little Incentive to Participate in Your Employer's Hackathons

Come up with a million-dollar idea, get $100 in return.

Fix "Efficient Cache Policy" Warning on PageSpeed Insights When Using Amazon CloudFront

Get rid of the efficient cache policy warning on PageSpeed Insights by adding a Cache-Control header to CloudFront.

How to Add a Custom Response Header to an Amazon CloudFront Distribution

A guide to adding custom response headers to a CloudFront distribution using response headers policies in the AWS Console.

How to Generate and Format the Current Date and Time in Hugo with dateFormat

Several examples of dateFormat including date only, date + 12-hour time, date + 24-hour time, date + timezone, and date + UTC offset.

Render HTML and CSS if JavaScript Is Disabled Using the `<noscript>` Tag

Render HTML and apply CSS styles if JavaScript is disabled.

The prefers-reduced-motion CSS Media Query

Apply CSS styles conditionally when a user enables reduced motion on their device.

Leaving Proton Mail

Reasons why I won&rsquo;t renew my Proton subscription.

Preserve Child Objects When Parent Objects Are Deleted in Ruby on Rails

Use dependent: :nullify in Rails associations to preserve child records when parent objects are deleted.

Remove Shadows From Screenshots in macOS

Run this command to remove shadows from your screenshots in macOS: defaults write com.apple.screencapture "disable-shadow" -bool "true"

AI-Generated Images Discourage Me From Reading Your Blog

If you&rsquo;re willing to use AI-generated images, how do I know the text isn&rsquo;t AI-generated?

Finding Private Information Through Resumes on Google Search

Reconsider uploading your resume on the open web.

Iterate Through Strings in Go with a for-range Loop

You can use for-range loops to iterate through strings in Go without splitting because Go handles strings as byte slices.

Let's Stop Asking "Why Do You Want To Work for Us?" in Interviews

Most people want to work for your company for money, and there&rsquo;s nothing wrong with that.

I Am So Sick of Leetcode-Style Interviews

Leetcode-style interviews do not reflect real-world software engineering problems.

Calendly Denial of Service via Mass-Scheduling

Showing how Calendly can be easily spammed because I&rsquo;m bored and unemployed.

Python Lists Cheatsheet

A Python lists cheatsheet for coding interviews.

Get Unique Elements in a Python List

Remove duplicate elements from Python lists using the set() function.

Ruby Arrays Cheatsheet

A Ruby arrays cheatsheet with methods and examples for coding interviews.

How I Discover New Blogs

A list of resources I use to discover new blogs.

My Favorite Blogs

A list of my favorite blogs from around the web.

Being Poor

Personal experiences of growing up poor