How to create an AWS S3 Bucket Policy to deny all access without locking yourself out

S3 bucket access diagram
S3 bucket access diagram

TL;DR — Create a Secure Policy that isn’t too Secure

It is best practice to explicitly grant identified entities permission to perform actions on your Amazon S3 bucket through the use of a bucket policy. You do this by configuring your bucket policy to deny all actions to all entities unless otherwise listed. In the process, however, you may accidentally lock yourself out of your own bucket — preventing not only modifications to the policy itself but also revoking your permissions to delete the bucket using either the AWS CLI or the AWS Console. …

tldr is a command-line tool that functions as a complement to man pages by condensing FAQs about commands into succinct explanations and practical examples

Man Page? Stack Overflow? Random Blog? Oh My!

When you are in need of command line tool documentation, how often do you read the man pages (the manual) as opposed to Googling your question until you find the Stack Overflow post with the answer? Let’s face it, the man pages are dense. They rarely contain useful examples, not to mention that nobody has time to sift through multiple pages of flags they’ll likely never utilize in their life. Too long, didn’t read.

The solution? A command line utility that spits out abbreviated help.

With tldr, looking up those FAQs is quick and painless.

tldr <command>

How Does tldr Compare?

Let’s take grep

Frequent server disconnects can be mitigated through one simple SSH option


When a device on your WiFi network (i.e. your computer or phone) communicates with the outside world, your router assigns it an IP address. It is important to understand that for each new connection to the outside world, the IP address assigned to the device by the router may change.

When you go to, your computer makes an HTTP GET request, asking a Google server (IP address for a webpage. That request goes through your router, to the Google server, back through your router, to your computer. In order for the router to know to which device in…

Chewy, moist, sweet, balanced — months of trial and error later, the perfect recipe was created.

Beautiful chocolate chip cookie sandwich with homestyle vanilla ice cream.
Beautiful chocolate chip cookie sandwich with homestyle vanilla ice cream.


  • 2 sticks salted butter, softened
  • 1 cup light brown sugar
  • 2/3 cup granulated sugar
  • 2 large eggs, 1 egg yolk
  • 2 teaspoons pure vanilla extract
  • 2 1/4 cups all-purpose flour
  • 1 teaspoon baking powder
  • 1 teaspoon baking soda
  • 1/4 teaspoon salt
  • 2 cups semi-sweet chocolate chips or chunks (I prefer chunks)

Optional flavor boosters: 1 teaspoon of espresso powder or 1 teaspoon of cinnamon.

Note: if you use unsalted butter, add an additional 1/4 teaspoon of salt.

Three Simple Steps I Used to Pass the AWS SAA-02 Exam

aws logo on dark grey office building windows
aws logo on dark grey office building windows
Photo by Tony Webster, Attribution 2.0 Generic (CC BY 2.0)

TL;DR — You don’t need an expensive online course!

Hi! My name is Quinn Vissak and I recently passed the AWS SAA exam! Not only is the Solutions Architect Associate certification well-regarded in the software industry, but learning the material is directly applicable to most software engineering roles. Whether you are seeking a way to distinguish yourself from your peers for a promotion, or looking to “hop”, the certification and the process of getting the certification will help further your career.

Having just studied and completed this test, it is my opinion that you don’t need tens of hours of structured online videos that may cost hundreds of dollars…

The best and most effective way to influence change in a pull request — while upholding developer etiquette — is to treat it like a negotiation

Former FBI negotiator Chris Voss’s Never Split the Difference — Negotiating as if your life depended on it is a transformation-inducing book that has the capability to enhance numerous aspects of your communication. Incorporating the negotiation tactics discussed by Voss into your daily life — including your job — will undoubtedly result in more desirable outcomes from your interactions.

A lot of my written communication as a software engineer occurs through pull requests. Admittedly, I don’t always convey my thoughts as intended. Even more problematic, sometimes a comment slips through my mental filter and I do convey my thoughts exactly

How to Connect to a MySQL Docker Container Without Using a Static IP Address

TL;DR — Simplify your code with Docker Compose!

If you are dealing with more than one container in the same application, chances are they need to talk to each other, but have static IP addresses. The code for this looks terrible and requires at least a basic understanding of subnets. Static IP addresses also impede your ability to run more than one instance of your application on the same host.

To address this problem, Docker Compose (and vanilla Docker) by default uses an embedded DNS server to communicate within networks. It allows one to use the service name in the…

Taro Milk Tea with Black Tapioca Pearls (Bubbles) Kung Fu Tea Style

My girlfriend and I are huge fans of Kung Fu Tea — and their Taro Milk Tea in particular. Depending on the location, two drinks could cost anywhere from nine to fourteen dollars, which always left us craving more. Such an addiction is not sustainable.

Discovery through Trial and Error

It took about six attempts and consulting a couple of friends who have worked at various boba tea establishments to hack the perfect recipe. The recipes I found on the first page of Google were all different — water or heavy cream or sweetened condensed milk, boiled taro root or taro powder, sugar or simple…

More Than Just Shortening Git Commands

TL;DR — Save time by automating lengthy processes

Git aliases are more than just shortening git commands — aliases in the gitconfig file grant you the ability to execute scripts! With this, daily tasks that used to take minutes can shrink to seconds.

Now, instead of opening a new tab in my browser, going to GitHub, finding the repository I just pushed to, creating a pull request, and finally selecting the target fork/branch, I created an alias. git pr executes a script that automatically opens a new tab in Google Chrome with a pull request from my working branch to…

Quinn Vissak

Software Development Engineer II | Bandwidth Metering | Amazon AWS — passionate about utilizing the best software practices to increase efficiency.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store