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. …
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.
grep as an example. This command is simply used to search a file for a string or pattern. I frequently use this command to search my team’s log files for errors. …
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 https://google.com, your computer makes an HTTP GET request, asking a Google server (IP address 126.96.36.199) 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 the network to forward Google’s response to your request, it keeps a network address translation (NAT) table in memory. The NAT table pairs the device’s assigned IP address to the destination IP address (the Google server that served your request) so the response can be directed to the correct device in the network. …
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.
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. With the right method of studying, the cost of preparation for the AWS SAA-02 exam can be quite low and may even take significantly less time than the recommended 80–120 hours of studying. …
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 as intended. Reminding myself that every pull request is a negotiation, I do my best to tailor the content of my comments in such a way that my coworkers understand my perspective. …
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
docker-compose.yml file as the domain in the connection details of your other containers. …
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.
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 syrup or black/green tea. It was information overload. I tried this recipe and this recipe and this recipe. I even tried a recipe from Snapchat. …
TL;DR — Save time by automating lengthy processes
Git aliases are more than just shortening git commands — aliases in the
gitconfigfile 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 prexecutes a script that automatically opens a new tab in Google Chrome with a pull request from my working branch to master. Similarly, I use
git puto pull changes from the upstream repository and rebase them onto my working branch.