teleren/devto huggingface dataset:
Crib Notes: Assuming a Role
Tags: assumerole, aws, iam
Published: 2023-04-11 19:26:05

---
title: Crib Notes: Assuming a Role
published: true
date: 2023-04-07 16:21:00 UTC
tags: assumerole,AWS,iam
canonical_url: https://thjones2.blogspot.com/2023/04/crib-notes-assuming-role.html
---

Several of my current customers leverage AWS IAM's role-assumption capability. In particular, one of my customers leverages it for automating the execution of the Terragrunt-based IaC. For the automated-execution, they run the Terragrunt code from an EC2 that has an attached IAM role that allows code executed on the hosting-EC2 to assume roles in other accounts.

Sometimes, when writing updates to their Terragrunt code, it's helpful to be able to audit the target account's state before and after the execution, but outside the context of Terragrunt, itself. In these cases, knowing how to use the AWS CLI to switch roles can be quite handy. A quick one-liner template for doing so looks like:

```
$ eval "$(
aws sts assume-role \
  --role-arn "arn:<AWS_PARTITION>:iam::<TARGET_ACCOUNT_NUMBEr>:role/<TARGET_ROLE_NAME>" \
  --role-session-name <userid> --query 'Credentials' | \
awk '/(Key|Token)/{ print $0 }' | \
sed -e 's/",$/"/' \
    -e 's/^\s*"/export /' \
    -e 's/": "/="/' \
    -e 's/AccessKeyId/AWS_ACCESS_KEY_ID/' \
    -e 's/SecretAccessKey/AWS_SECRET_ACCESS_KEY/' \
    -e 's/SessionToken/AWS_SESSION_TOKEN/'
)"
```

What the above does is:

1. Opens a subshell to execute a series of commands in
2. Executes `aws sts assume-role` to fetch credentials, in JSON format, for accessing the target AWS account as the target IAM role
3. Uses `awk` to select which parts of the prior command's JSON output to keep (`grep` or others are likely more computationally-efficient, but you get the idea)
4. Uses `sed` to convert the JSON parameter/value pair-strings into BASH-compatible environment-variable delcarations
5. Uses `eval` to take the output of the subshell and read it into the current shell's environment

Once this is executed, your SHELL will grant you privileges to execute commands in the target account – be that using the AWS CLI or any other tool that understands the "<tt>AWS_ACCESS_KEY_ID</tt>", "<tt>AWS_SECRET_ACCESS_KEY</tt>" and "<tt>AWS_SESSION_TOKEN</tt>" environment variables.

  

Using `aws sts get-caller-identity` will allow you to see your new IAM role.
Dynamic Programming using Tabulation-DP
Tags: programming, algorithms, github
Published: 2023-04-07 16:10:17

https://github.com/Veercodeprog/dynamic-programming--using-tabulation.git

dynamic-programming--using-tabulation
TABULATION

This repo focuses on the tabulation approach of dynamic programming. As someone who loves this method, I appreciate how it efficiently solves complex problems by breaking them down into smaller subproblems and storing solutions in a table or matrix. I believe this approach provides the best time complexity for most problems, even if it requires slightly more time than some other solutions.Feel free to contribute by adding problems that can be solved using tabulation method of dp. You can add solutions in any programming language of your choice.
Build classified ads project with React and Firebase
Tags: react, firebase, webdev, javascript
Published: 2023-04-07 16:04:49

## Overview

In this course we will build a classified advertisement website where users will be able to buy and sell products.

The tech stack will be React, Bootstrap and Firebase. We will work with a few features provided by firebase such as authentication, firestore as database and firebase storage to store images. We will use the latest firebase version 9 which is based on modular approach.

We will use many functions provided by firebase for authentication, firestore and storage which are usually used in any medium scale website.

Once we are done with our project, we will then deploy it on vercel and also we will see how to secure firestore and storage with firebase security rules.

## Features

- Authentication - account creation, login, logout, forgot password and reset password

- Authenticated users will be able to upload, change or remove their profile photo

- Seller can publish ad specifying the details of the product they want to sell

- User can filter the ads by category or sort by price

- User can view the ad on landing page as well as on seller's profile page

- Authenticated user can mark any ad as favorite or remove from his favorite ads list

- Authenticated user can reach out to seller via phone or chat system within the app

- Seller can delete own ad

- Seller can mark the ad as sold

## Prerequisites

Basic knowledge of Reactjs is required for this course which means you should know what is useEffect / useState / props / context etc.

[Watch the demo](https://www.udemy.com/course/build-classified-ads-project-with-react-and-firebase/?referralCode=125E0D804CB85EB6E204) to know what we will be building in this project and if this is something you would like to build then please get enrolled.

$9.99 disounted coupon: **APRIL-2023-B**
3D Storytelling Tools.
Tags: beginners, productivity, career, opensource
Published: 2023-04-07 16:02:05

If you’re looking to go into 3D storytelling, here are basic tools you can use to embark on this journey. 

 Unity: Unity is a popular 3D game development engine that can be used to create interactive 3D stories. It offers a wide range of features and tools for creating 3D worlds, characters, and environments.

https://unity.com/


Unreal Engine: Unreal Engine is another powerful game development engine that can be used to create 3D stories. It offers a range of tools for designing 3D environments, creating characters, and animating them.

https://www.unrealengine.com/

Blender: Blender is a free and open-source 3D creation software that can be used for creating 3D stories. It offers a range of tools for modeling, sculpting, and animating 3D objects, as well as creating 3D environments.

https://www.blender.org/

 SketchUp: SketchUp is a 3D modeling software that is often used by architects and designers, but can also be used for creating 3D stories. It offers a range of tools for creating 3D environments, as well as importing and exporting models from other software.

https://www.sketchup.com/

Maya: Maya is a 3D animation software that can be used for creating 3D stories. It offers a range of tools for modeling, texturing, and animating 3D objects, as well as creating complex simulations and special effects.

https://www.autodesk.com/products/maya/overview

Houdini: Houdini is a 3D animation software that offers a range of tools for creating complex 3D stories. It is often used for creating visual effects in movies and television, but can also be used for creating interactive 3D stories. 

https://www.sidefx.com/products/houdini/


With these few 3D storytelling tools, you are good to go. 

Goodluck on your journey.
BÓNG ĐÁ LIVE 247
Tags: webdev, javascript, programming, beginners
Published: 2023-04-07 15:59:21

Xem thêm Bongdalive là một thương hiệu liên quan đến bóng đá, cung cấp thông tin về link xem trực tiếp bóng đá hôm nay, lịch thi đấu, kết quả, tin tức và video clip các trận đấu bóng đá trên toàn thế giới
[url=https://bongdalive247.com/]https://bongdalive247.com/[/url]
[url=https://www.facebook.com/profile.php?id=100090732323388]https://www.facebook.com/profile.php?id=100090732323388[/url]
[url=https://twitter.com/bongdalive247co]https://twitter.com/bongdalive247co[/url]
[url=https://www.instagram.com/bongdalive247/]https://www.instagram.com/bongdalive247/[/url]
[url=https://www.youtube.com/channel/UCjWoO_o8N2Moz-34gFOoZtQ]https://www.youtube.com/channel/UCjWoO_o8N2Moz-34gFOoZtQ[/url]
[url=https://www.pinterest.com/bongdalive247comvn/]https://www.pinterest.com/bongdalive247comvn/[/url]
[url=https://www.linkedin.com/in/bongda-live-3bb29b26b/]https://www.linkedin.com/in/bongda-live-3bb29b26b/[/url]
[url=https://www.tumblr.com/bongdalive247com]https://www.tumblr.com/bongdalive247com[/url]
[url=https://www.reddit.com/user/bongdalive247]https://www.reddit.com/user/bongdalive247[/url]
[url=https://vimeo.com/user196862709]https://www.reddit.com/user/bongdalive247[/url]
[url=https://www.flickr.com/people/198005604@N08/]https://www.flickr.com/people/198005604@N08/[/url]
[url=https://dribbble.com/bongdalive247com]https://dribbble.com/bongdalive247com[/url]
[url=https://www.deviantart.com/bongdalive247]https://www.deviantart.com/bongdalive247[/url]
[url=https://medium.com/@bongdalive247com.vn]https://medium.com/@bongdalive247com.vn[/url]
[url=https://soundcloud.com/bongdalive247com]https://soundcloud.com/bongdalive247com[/url]
Modding Skyrim: An Exploration of Limitless Possibilities
Published: 2023-04-07 15:36:53


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6z0bgnzou82msy3pwdgu.jpg)Skyrim is one of those games that never gets old. It's an open-world RPG that lets you explore a vast world filled with dragons, magic, and adventure. But what makes it even better is the modding community that has formed around it. The Skyrim modding community has been active since the game's release in 2011, and it's amazing what they've been able to accomplish.

Modding, for those who don't know, is the act of modifying a video game's files to add or change its content. Skyrim is particularly well-suited for modding because of the Creation Kit, a powerful toolset that Bethesda, the game's developer, released to the public. This toolset lets users create their own content for Skyrim, such as new items, quests, characters, and more. It's what's enabled the community to produce an incredible amount of content, some of which is on par with the game's official DLC.

There are all kinds of mods out there, but some of the most popular are graphical enhancements. These mods can make the game look absolutely stunning, with improved textures, lighting, and weather effects. Some mods even add new visual features like dynamic snow or realistic water physics. They can make the game feel like an entirely different experience, and it's amazing what the modding community has been able to achieve.

Gameplay overhauls are another popular type of mod. These mods can change how the game is played, adding new mechanics, spells, and perks. Some mods even add entirely new skill trees, allowing players to specialize in new areas like necromancy or unarmed combat. They can give players an entirely new way to experience the game and make it feel fresh again, even for players who've already played through the vanilla game multiple times.

And then there are quest mods. These mods can add entirely new quests, characters, and storylines to the game. Some of them are even longer than the game's official DLC, and they can provide hundreds of hours of new content for players to explore. Quest mods are an excellent way to experience new adventures in the world of Skyrim and can provide a fresh experience for even the most seasoned players.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nuqqrgpwb7niilihvxuy.jpg)
How to setup GitHub Actions to bump the Xcode version
Published: 2023-04-17 10:40:54

---
title: How to setup GitHub Actions to bump the Xcode version
published: true
date: 2023-04-07 15:36:47 UTC
tags: 
canonical_url: https://www.rockandnull.com/how-to-setup-github-actions-to-bump-xcode-version/
---

 ![How to setup GitHub Actions to bump the Xcode version](https://images.unsplash.com/photo-1568667256549-094345857637?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDR8fGxpYnJhcnl8ZW58MHx8fHwxNjgwODU4NTg4&ixlib=rb-4.0.3&q=80&w=2000)

I know what you think: "Updating the version is just one click away. Does it worth it? " It depends.

In our case, we have 6 targets (3 for production and 3 for staging), so what that means is that we have to go through all of the 6 targets and update them each time. And guess what, most of the time we forget about it and then we rush to create a PR to bump the version.

We also noticed that we don't have a procedure in place on when to update the version and that's when the [GitHub Actions](https://github.com/features/actions) come into play.  

So we came up with this process:

1) A release branch is created from master

2) We create a branch called `bump/vX.X.X` and our GA will:

- Checkout the project
- Update the Xcode version (using agvtool) to match the X.X.X on the branch
- Commit the changes
- Create a PR to `master` with the updated version

To achieve this process we came up with the following GA:

```
name: Bump Marketing Version and Open Pull Request
on:
  create:
    branches:
      - 'bump/v*.*.*'
jobs:
  bump-version-and-open-pr:
    runs-on: macos-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v3
      - name: Set new marketing version
        run: |
          VERSION=${GITHUB_REF#refs/heads/bump/v}
          echo New version will be $VERSION
          if [-z "$VERSION"]
          then
            echo "Error: No version number found in branch name."
            exit 1
          fi
          agvtool new-marketing-version $VERSION

      - name: Commit and push changes
        run: |
          git config user.email "github-actions@github.com"
          git config user.name "Github Actions"
          git commit -am "Bump marketing version"
          git push origin HEAD
      - name: Open pull request
        uses: peter-evans/create-pull-request@v5.0.0
        with:
          commit-message: "Bump marketing version"
          branch: "${{ github.ref }}"
          title: "Version bump"
          body: "Version bump"
          base: "master"

```

If you are familiar with GA then you will find this `.yml` easy to understand (otherwise, I would advise you to get familiar with the basic concepts and then revisit this post). Just place the file under `/.github/workflows` and it's ready to run.

I hope you find this post useful! Happy coding!
SaaS Idea - Review Reminder
Tags: saasideas, ideas
Published: 2023-04-07 15:13:56

---
title: SaaS Idea - Review Reminder
published: true
description: What if you could automatically request customers to leave reviews for products they recently bought?
tags: saasideas,ideas
canonical_url: https://saasideas.io/review-reminder
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2023-04-07 15:01 +0000
---

*In these posts, I break down [SaaS Ideas](https://saasideas.io) that I come across that could make for a great online business. I have these ideas written down on my phone's notes app, but it's probably best if shared with the world!*

Reviews are crucial for many businesses.

From e-commerce to restaurants, you tend to do better as a business when you have great reviews that potential customers can see.

Personally, I’ve played in this space. I built a (now somewhat abandoned) review reminder app called ReviewNudge that lives on the Shopify app store. 

It works like this: as a store owner, you add the app and schedule when you’d like an email to be sent out to a customer. This is usually X amount of days after order fulfillment or order delivery.

In the email that gets sent, it would be a collection of your products and some boilerplate text that asks the customer to leave a review. This flow is for e-commerce, read on to see a possible flow for physical retail / businesses.

**Building an MVP to test the idea**

First, I’d pick another avenue to test this idea out. When I built this idea, a lot of coding went into it. Luckily, I was able to get customers.

Something I didn’t do is go to physical businesses like your local cafe — small businesses down the street in your community is a good possible first customer.

Then, you could pitch the idea. Tell them this is an automated way for asking a customer to leave reviews for their business.

Next, I’d go to Zapier and find payment related apps. 
In this case, it should be payment related apps that are tailored towards physical businesses – Square comes to mind.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y5kf6pj2s7kx7t3tbiqg.png)

Remember, asking for a review happens a certain amount of time after a purchase. So for you local cafe, it could be a day or a few hours after they've made their purchase.

To do this, you can use Zapier's delay feature.

In an email, you can simply say "Hey, thanks for your visit today! Could you leave us a review?" Something like that.

Another note, with Zapier, you can probably make another Gmail account for the business and set up the entire flow for them. You can charge them then.

That should get you a general idea of if there is a market for this idea, in the physical business world.
Best Practices for Writing Clean Code
Tags: webdev, javascript, coding, programming
Published: 2023-04-07 15:05:48

Writing clean code is essential for any software developer. It not only makes your code more readable and maintainable but also helps in reducing the chance of errors and bugs. Here are some best practices that you can follow to write clean code:

## Best Practices for Writing Clean Code

Writing clean code is essential for any software developer. Clean code not only makes it easier to maintain and debug your code, but it also makes your code more efficient and readable. In this post, we will discuss some best practices for writing clean code.

## Use Descriptive Names

Using descriptive names for variables, functions, and classes can make your code more readable and understandable. Descriptive names can also help in reducing the amount of time you spend on debugging and maintenance. Avoid using single-letter names or abbreviations unless they are widely understood.

## Keep Functions and Methods Small

Functions and methods should be small and do one thing. This helps in making your code more modular, easier to understand, and less error-prone. Aim for functions and methods that are no longer than 20 lines of code.

## Comment Your Code

Comments can help in explaining the intent behind your code and can also make it easier to understand and maintain. However, over-commenting can also make your code cluttered and difficult to read. Aim for clear and concise comments that add value to your code.

## Use White Space Effectively

Using white space effectively can make your code more readable and easier to follow. Use blank lines to separate logical sections of your code and to break up long blocks of code. Indent your code consistently and use proper spacing around operators and parentheses.

## Write Unit Tests

Writing unit tests is a crucial aspect of writing clean code. Unit tests ensure that your code is working as expected and helps in identifying and fixing any issues before they reach production. By following a test-driven development approach, you can write your tests before you write your code, which can help you in writing cleaner and more efficient code.

## Conclusion

In conclusion, writing clean code is essential for any software developer. By following these best practices, you can ensure that your code is not only efficient and readable, but also maintainable and easy to debug.
How to Download Youtube Music with AleeMusic ?
Tags: php, tutorial
Published: 2023-04-07 15:03:46

With Aleemusic.Com – you can easily download mp3 music from YouTube videos and convert them into high-quality MP3 files. The platform is fast, user-friendly, and supports a wide range of file formats, including 3GP, MP4, WMA, M4A, FLV, and WEBM. Best of all, Aleemusic offers unlimited music downloads so you can build up your music library without worrying about download limits or hidden fees. Whether you’re looking for the latest hits or classic favorites, we’ve got you covered.

1. Go to website: [https://aleemusic.com](https://aleemusic.com)
2. Enter keywords or YouTube url into the search box
3. Click the “Download” button.
Tool download mp3 music from Youtube – AleeMusic support downloading all youtube videos, short videos, video reels.
What was your win this week?
Tags: discuss, weeklyretro
Published: 2023-04-07 14:56:23

Hey folks! 👋

Hope y'all all have wonderful weekends. 😀

Looking back on this past week, what was something you were proud of accomplishing?

All wins count — big or small 🎉

Examples of 'wins' include:

- Starting a new project
- Fixing a tricky bug
- Going on a nice walk with the dog 🦮

---


![A french bulldog getting walked, or rather dragged, in the snowy city streets](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7twlglrzw75esw2k9rsd.gif)
How to Manually Install Jenkins on AWS EC2 Linux
Tags: jenkins, devops, cicd, automation
Published: 2023-04-07 14:37:01

Have you tried installing jenkins on ubuntu server severally without success? Do you get the following error message when you try to install jenkins? 

```
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package jenkins is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'jenkins' has no installation candidate
```
Then, its time to install manually. Follow the steps listed below.
1. Install Java: Jenkins requires Java to run. You can install OpenJDK 8 using the following command:

```
sudo apt-get update
sudo apt-get install openjdk-8-jdk
```
2. Download the Jenkins WAR file: Go to the official Jenkins website and download the latest Jenkins WAR file. You can use the following command to download the latest WAR file:

```
wget https://updates.jenkins-ci.org/latest/jenkins.war
```
3. Start Jenkins: Start Jenkins using the following command:

```
java -jar jenkins.war
```
4. Access Jenkins: Open a web browser and navigate to http://public-ip:8080 to access the Jenkins web interface.

![jenkins](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b9wmqqdz0b09bdgf387s.PNG)
5. Complete the setup: Follow the instructions on the Jenkins setup screen to complete the installation process.
To obtain the initial passwod, run:

```
cat /home/clouduser/.jenkins/secrets/initialAdminPassword
```
Note: By default, Jenkins will run on port 8080. If port 8080 is already in use on your system, you can specify a different port using the --httpPort option when starting Jenkins. For example, to start Jenkins on port 9090, you can use the following command:

```
java -jar jenkins.war --httpPort=9090
```
I hope these steps help you to install Jenkins manually.