teleren/devto huggingface dataset:
Jenkins - Getting Started
Tags: jenkins, devops, aws
Published: 2021-07-01 19:23:11

 [Jenkins](https://www.jenkins.io/)  is an open-source automation server written in Java. It supports the entire software delivery lifecycle, including build, document, test, package, stage, deployment, static code analysis, and deployments via plugins. Several tools (e.g. unit tests, report generation, SCM, etc.) can be integrated with Jenkins via plugins. Jenkins has been the most widely adopted tool for CI/CD, thanks to its energetic, active community. This Jenkins community offers more than  [1800+ plugins](https://plugins.jenkins.io/) 

The Jenkins project was started in 2004 (originally called Hudson) by  [Kohsuke Kawaguchi](https://en.wikipedia.org/wiki/Kohsuke_Kawaguchi). Initially created for Continous Integration (CI), today Jenkins is capable to orchestrate the entire software delivery pipeline – called Continuous Delivery (CD) and even further to provide Continuous Deployment.

Following is a diagrammatic representation of the Jenkins pipeline.


![Screenshot 2021-06-21 at 12.05.24 PM.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1624257504548/I57qV2b2C.png)

In many scenarios, a single Jenkins server isn't sufficient to cater to the needs of multiple code-commits triggering zillions of pipelines. In such scenarios, distributed Jenkins architecture (Master Controller - Agents) can be leveraged.


![Screenshot 2021-06-21 at 3.45.47 PM.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1624270752573/KWy4PcFFk.png)
Create AWS IAM User with Programmatic Access
Tags: aws
Published: 2021-07-01 19:20:08

This post helps creates AWS IAM Users with programmatic access. Once the setup is configured, a pair of Access Key ID & Secret Key will be available. This set of keys will eventually help us configure AWS CLI ver 2.0.

The AWS Command Line Interface (AWS CLI) is an open-source tool that enables you to interact with AWS services using commands in your command-line shell. With minimal configuration, the AWS CLI enables you to start running commands that implement functionality equivalent to that provided by the browser-based AWS Management Console from the command prompt in your terminal program. The AWS CLI also provides direct access to the public APIs of AWS services.

### Create IAM User
Login to  [AWS Console](https://aws.amazon.com/) and navigate to the IAM service.

![Screenshot 2021-07-01 at 7.06.06 PM.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1625146716915/sP07vm3Q4.png)

On the IAM Dashboard, Select the **Users** section and click the `Add User` button.

![Screenshot 2021-07-01 at 7.08.35 PM.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1625147009494/qi8GLCpUl.png)

Enter an appropriate user name (for this post, I have created a user with the name `demo-user`) and enable **Programmatic Access**. Click the `Next: Permissions` button.

![Screenshot 2021-07-01 at 7.14.05 PM.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1625147186247/bgKZQa1dw.png)

Now we need to provide a set of relevant permissions to this new user. These permissions will provide the capability to perform certain actions in AWS(e.g. Create EC2 instance, Create IAM Roles / Policies, or even Admin privileges)

For the sake of this demo, we will grant `EC2 Full Access` to our user `demo-user`. Select **Attach existing policies directly** and provide a filter as `EC2`. Select Policy name `AmazonEC2FullAccess` from the list.

![Screenshot 2021-07-01 at 7.25.38 PM.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1625147944486/_MZyUHLFD.png)

Click `Next: Tags` button. For this demo, we will skip this section. Click the `Next: Review` button.

![Screenshot 2021-07-01 at 7.29.18 PM.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1625148091699/AyJ_odEFy.png)

Validate the details and then click the `Create user` button.

Copy both Access key ID and Secret access key. As the secret key will visible only once, it is advisable to download the `.csv` file with the credentials.

![Screenshot 2021-07-01 at 7.32.50 PM.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1625148346349/7RGQ5geyu.png)

### Configure AWS CLI ver 2.0
Based upon the OS, there are different ways to  [install](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html)  AWS CLI.

Post-installation, let us fire the following command on the CLI. This will set up an AWS default profile.

```bash
aws configure
``` 
We can also create a specific profile.

```bash
aws configure --profile <profie-name>
```

![Screenshot 2021-07-01 at 8.19.42 PM.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1625151496926/XILl8g4_0.png)
Create google-like avatars in your app
Tags: rails
Published: 2021-07-01 19:04:30

---
title: Create google-like avatars in your app
published: true
description: 
tags: rails
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p349uzq62bdbdw9bin0f.png
---

For people who just want to check gem and not ready the story: https://github.com/igorkasyanchuk/avatarro

On many projects in my carrier I was needed to handle situation when I need to show some "avatar" image for user when he is missing photo. Usually with gems like paperclip, carrierwave you creating a fallback and it returns a dummy photo.

More interesting solution is to show initials of the user in some circle or rectangle like Google (and many others) doing it.

First solution what we used is custom html/css and very simple helper. This solution is currently on one my project.

But just today I've created a new gem to handle this much better: https://github.com/igorkasyanchuk/avatarro.

Now I can use methods from the gem:

```erb
  <%= image_tag Avatarro.image(current_user.full_name), size: '24x24' %>
  <%= image_tag Avatarro.image("Igor Kasyanchuk", solid: true), size: '24x24' %>
  <%= image_tag Avatarro.image("IK"), size: '32x32' %>
  <%= raw Avatarro.svg("IK") %>
  <%= image_tag Avatarro.image(current_user.full_name, random: true, solid: true), size: '20x20', style: 'margin-right: 5px; border-radius: 50%' %>
```

And get nice images with user initials inside. Since image is an SVG image it will look nice on any screen.

![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ipyazrjxjbnxkgle3r3u.png)

PS: main logic is located here: https://github.com/igorkasyanchuk/avatarro/blob/main/lib/avatarro.rb#L49.

Look forward to hear your comments.
Role-Based Access Control Best Practices: How to Keep Your Business Data Secure
Tags: softwaredevelopment, digitaltransformation
Published: 2021-07-01 19:02:05

One of the main challenges of managing large networks is the complexity of security administration that comes with it. To simplify this process and efficiently deal with permissions, role-based access control (RBAC) is the key.  

In this blog post, you'll learn:

- Background: why role-based access control matters
- What exactly is RBAC?
- Roles within role-based access control software: how do they 
  function?
- Who can benefit from role-based access control model: pros and 
  cons described
- Role-based access control best practices: how your business can 
  implement an RBAC system

To read the full article, go to [Role Based Access Control Best Practices](https://apiko.com/blog/role-based-access-control-best-practices/?utm_source=communities&utm_medium=RBAC&utm_campaign=blogpost)
Announcing Clojure Morsels
Tags: clojure, news
Published: 2021-07-01 18:49:37

I’m happy to announce that we have started a totally free newsletter called [Clojure Morsels](https://www.clojuremorsels.com)! In it you’ll find links and summaries about all kinds of Clojure-related topics, from articles to tools to tutorials to jobs. You can find out more about it on our [Twitter account](https://twitter.com/ClojureMorsels/status/1410280203297902600). Let us know if you enjoy it and/or have feedback!

![A screenshot of a segment of the newsletter showing a few links and their summaries](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9ru5of16h6zzafy2xluq.png)

You can find me as @Cora on [Clojurians Slack](http://clojurians.net/) if you want to chat.
I have develop a React UI KIT based 100% on Tailwind
Tags: showdev, tailwindcss, react, opensource
Published: 2021-07-01 18:57:54

Do you want a React UI Kit based 💯% on Tailwind?

Try *_windy_*!
Docs: https://windy-docs.vercel.app/

Windy is Opensource! I'm waiting for tour feedback 🙏😊
Cómo crear un USB booteable desde Linux, fácil y rápido
Tags: linux, booteable
Published: 2021-07-01 18:56:22

## PASO 1 – Nos hacemos root

```
$ su
```
## PASO 2 – Listamos los dispositivos y particiones con fdisk -l

```
$ fdisk -l
```
```
Disco /dev/sdb: 7,3 GiB, 7780433920 bytes, 15196160 sectores

Unidades: sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico/físico): 512 bytes / 512 bytes
Tamaño de E/S (mínimo/óptimo): 512 bytes / 512 bytes
Tipo de etiqueta de disco: dos
Identificador del disco: 0x46e1cc6c

Device Boot Start End Sectors Size Id Type
/dev/sdb1 128 15196159 15196032 7,3G b W95 FAT32
```
## PASO 3 – Desmontamos el pendrive
```
$ umount /dev/sdb1
```
## PASO 4 – Formateamos el pendrive en FAT32
Con el comando mkfs.vfat elegimos el formato FAT y con -F 32 el tipo de formato, si quisiéramos FAT16 sería -F 16.
```
$ mkfs.vfat -F 32 /dev/sdb -I
```
## PASO 5 – Pasamos la imagen al pendrive
```
$ dd if=debian-live-10.8.0-amd64-gnome.iso of=/dev/sdb
```
Un poco de paciencia y esperamos a que finalice la operación y listo, ya tenemos nuestro USB arrancable preparado para funcionar.

## Opción Deluxe
Si queremos que salga una barra de progreso al pasar la ISO al pendrive tendremos que instalar pv y luego ejecutar el comando así:
```
$ apt-get install pv
```
```
$ dd if=debian-live-10.8.0-amd64-gnome.iso |pv| dd of=/dev/sdb
```
```
(1,4 GB) copiados, 398,941 s, 3,5 MB/s
```
Si lo queremos más chulo debemos especificarle a pv el tamaño del ISO en MB así graficará la barra de progreso con el siguiente comando:

```
$ dd if=debian-live-10.8.0-amd64-gnome.iso |pv -s 2355M | dd of=/dev/sdb
```
```
4588160+0 registros escritos
2349137920 bytes (2,3 GB) copiados, 618,708 s, 3,8 MB/s
2,19GiB 0:10:18 [3,62MiB/s] [=================================> ] 99% 
```

Eso es todo..
4 easy steps to setup AWS WorkSpaces (Screenshot’s included)
Tags: devops, aws, sre, webdev
Published: 2021-07-01 18:55:36

A simple 4 steps guide to set up AWS WorkSpaces.

## What is AWS WorkSpaces?

AWS WorkSpaces is a desktop as a service offering from AWS. Users can connect from PC, Mac Desktops computers by downloading the clients or use the web clients. AWS WorkSpaces is only available for specific regions. AWS WorkSpaces supports Amazon Linux, Windows 10 bundles with pre-installed software packages. AWS WorkSpaces contains Free Tier available as well.

## 4 Steps to setup AWS WorkSpaces

Below are the steps used to setup AWS Workspaces

### **1. Head over to Amazon WorkSpaces.**

Login to your AWS Account, head over to AWS [WorkSpaces](https://console.aws.amazon.com/workspaces)

![](https://cdn-images-1.medium.com/max/2488/1*yEfGyz8t-86A4LZaYFsRWg.png)

### **2. Click on Quick-Setup**

This Guide is about setting up much of the stuff automatically.

![](https://cdn-images-1.medium.com/max/2040/1*2dcY-PQQEsdZjL9lQ6l_Aw.png)

### **3. Select the WorkSpaces Bundle & Provide the user details.**

There are a couple of bundles to choose from which contain specific software packages pre-installed & provide the username and email address.

![](https://cdn-images-1.medium.com/max/2932/1*GyuTlDL6snAADDp2IBepaQ.png)


### **Wait for some time.**
You’ll be getting an email that would contain a Registration Code (keep that handy) and click on the WorkSpaces link to set the password. --> 
![](https://cdn-images-1.medium.com/max/3040/1*D4S2lYLE_nqPe7BotWyu2g.png)

![](https://cdn-images-1.medium.com/max/2000/1*4X4auEW0G8Q_jS8VNwRYbw.png)


### 4. Download & Launch AWS WorkSpaces Client

There are two ways to have Amazon WebSpaces client

 1. Standalone Client → [https://clients.amazonworkspaces.com/](https://clients.amazonworkspaces.com/)

 2. Web Client → [https://clients.amazonworkspaces.com/webclient](https://clients.amazonworkspaces.com/webclient)

Once you have Downloaded & Installed the client, Enter the Registration code you received in the email and log in to it.

![**Boom! ❤**](https://cdn-images-1.medium.com/max/2000/1*Pbr2P2Lk9LJY0m4f1kP2eg.png)
> ## “If you found this article useful, feel free to 👏 clap many times or share it with your friends. If you have any doubts regarding the same or anything around the DevOps Space, get in touch with me on [Linkedin](https://www.linkedin.com/in/chrisedrego), [Twitter](https://twitter.com/chrisedrego), [Instagram](https://www.instagram.com/chrisedrego/).”
My Awesome Github Readme
Tags: github, computerscience, showdev, tutorial
Published: 2021-07-01 18:51:36

https://github.com/C-mmon

I finally took inspiration from many github readme and created one.

Here are few things I kept in mind while making it.

Bullet points: Using Bullet Point increases Readability.

Not rating myself: I have seen github profile where they have rated themselves A+, B or such. But honestly, its the client or some other person who provide feedback and rating. So take care of it.

Making it dynamic: Many Developer fail to update their readme and seriously you should not, if you are a productive person.
Hence, I decided to use Github action to generate Github statistics and fetch latest tweets.

For github statistics: I would recommend to use the one provided by Jacob Strieb.
As stated by him, "When someone views a profile on GitHub, it is often because they are curious about a user's open source projects and contributions. Unfortunately, that user's stars, forks, and pinned repositories do not necessarily reflect the contributions they make to private repositories"

Further, I created spotify app to allow readers to know what I am listening too.

Here are all links:

Github Stats:https://github.com/jstrieb/github-stats

For fetching the latest tweets: https://github.com/gazf/github-readme-twitter

For fetching Medium Articles: https://github.com/omidnikrah/github-readme-medium

Contribution Graph: https://ashutosh00710.github.io/github-readme-activity-graph/

Spotify: https://github.com/novatorem/novatorem

Typing SVG: https://readme-typing-svg.herokuapp.com
Style with the Dev Tools: Part 1 - Positioning
Tags: css, codenewbie
Published: 2021-07-01 18:49:55

I don't know about you but I often hear that styling a webpage is tedious and frustrating.  I can appreciate that.  But, it doesn't have to be.  Did you know that you can style a webpage with the developer tools.  Maybe you do and that is great!  But if you don't then let me enlighten you to a couple of tips and tricks that I enjoy using.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y8s5a2tks0x6wiq6vrl1.gif)

So one of the first challenges I find when working with a webpage is centering or positioning anything.  It's a pain in the butt!  But it can be made simpler and one of the ways to make things easier for you is to use display grid or flex.  Now I will link CSS Tricks [Grid here] (https://css-tricks.com/snippets/css/complete-guide-grid/) and [flex here](https://css-tricks.com/snippets/css/a-guide-to-flexbox/).  I have linked basic pictures of the helpful images you can find on CSS tricks.  

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/czd2ymo6g78xuv7v956c.png)
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rr2p38jkvr14lb9wg89a.png)

So let's talk how to help with the dev tools.  If you inspect the page and you have display grid or display grid on any of your containers/divs you can actually see a button on the elements tab in the dev tools that says either grid or flex depending on your choice.  

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5v01zwaq04wm2wnosm17.gif)

After clicking this button you will be able to manipulate the styles window to the right which has another small button. ![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/csykpozxig36texcj4jd.png) If you click this you will then have access to all of the manipulation for grid and flex.  This is powerful and I urge you to play around with this.  You can move components on your browser window and find that position and layout that works for you.  Want to bring these positions in your code?  Copy and paste the CSS and bring it into yours.  This might require some finesse if you are using Sass, Styled Components, Material Ui, etc...  

I want to make a small series about styling especially with the dev tools so I will end this article here.  If you need any help please reach out!  I hope that you enjoy styling a little bit more and good luck with your coding!
Top 4 Ways to Make Money in the World of Programming
Tags: money
Published: 2021-07-01 18:26:53

If you are a programmer, however, you do not know how to make money through this field. Then read my post and choose one of the four methods suggested!
__Freelancing__ is one of the easiest ways to make money in the world of programming. For a freelancer you just need a good internet and a laptop. Freelancers can do their work even on the streets. Freelancers take orders from freelance platforms. And making an order makes money.
**Blogger** also has a big place in the world of programming. You will have your own subscribers by writing great blogs based on your knowledge. You can make money by placing ads on your blogs.
You can make money __by participating in various competitions__. For example, if you take part in a big competition, you will also receive a cash prize. Examples of these competitions are Facebook Hacker Cup, Yandex Cup. For example, the first place winner in the Yande Cup has a prize of 300000 rubles.
**You can also make money by creating different programs**. For example, let's say you created a game. If you pay for the opportunities given to the player in it, if the player likes this opportunity, you have earned money. However, you need to have a good idea before you create a program and you need to be aware of marketing. 
Here are the top 4 ways I told you. Choose one of them and get to work today.
One month here on dev.to!
Tags: codenewbie, career, writing, computerscience
Published: 2021-07-01 18:15:26

## Hey there! 
I started writing content here on dev.to a.k.a Dev Community on the first of June 2021. Today (1st of July 2021) marks one month of being here. 
I was hesitant to post articles (starting it was the hardest), but when I kept on writing, it didn't feel so difficult.

So far, I have written four blogs, and I've been enjoying sharing my knowledge about git, Open Source, Development etc. and the response has been really overwhelming.

## Highlights✨

* This one post "How to have an awesome GitHub profile ?" was featured on dev.to's Top 7 weekly must reads!(got some awesome swags from the dev store as a reward) with 18k views and 1.2k reactions.
{% link https://dev.to/supritha/how-to-have-an-awesome-github-profile-1969 %}

* Received the badges "Top Git author" of the week, "4 Week Streak Badge" for keeping up the consistency and "DEV Contributor Badge" for contributing to their Open Source repo.
![Screenshot (329)](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/556o0ogdom3c4fle4xcs.png)

## Thank you!🙌
Thanks for reading my articles! 
Hoping to keep up the consistency :)
[My twitter](https://twitter.com/SuprithaRavish1)
[You can buy me a coffee ☕](https://www.buymeacoffee.com/suprithaa)
8 Advanced Google Search Operator to Ease Your Job
Tags: codenewbie
Published: 2021-07-01 18:13:37

---
title: 8 Advanced Google Search Operator to Ease Your Job
tags: codenewbie
published: true
cover_image: http://res.cloudinary.com/muhimen/image/upload/v1623909777/POST_38_MAIN.png
---

> When in doubt, Google it

As a developer, [Google](https://www.google.com/) is one of the most useful tool you will ever use. However, if you want to get the most out of your tool, just a simple google search might not be what you are looking for. Sometimes you need to dig deep to get your way out. So, here is a list of some useful Google Search Operator that I use regularly. 

### 1. " " for exact-match search 

Wrap your search term with double quotes and Google will try to yield results consisting of the exact search term. 

![before quote](http://res.cloudinary.com/muhimen/image/upload/v1623907334/withquotes.png)
![after quote](http://res.cloudinary.com/muhimen/image/upload/v1623907359/withoutquotes.png)

### 2. OR

If you want to get a search result for either X or Y then simply just search `X OR Y` or you can also do `X | Y`. However, if any of the search terms consists of more than one word, wrap them with quotes. 

![or without quote](http://res.cloudinary.com/muhimen/image/upload/v1623907384/OR.png)
![or with quote](http://res.cloudinary.com/muhimen/image/upload/v1623907404/orquote.png)

### 3. define

If you face some foreign word and want to know the meaning, instead of typing `meaning of xyz` try `define:xyz`

![define](http://res.cloudinary.com/muhimen/image/upload/v1623907418/define.png)

*doesn't work all the time*

### 4. Exclude(-)

Use minus sign(-) before any word that you don't want in the search result. For example `-python programming`

![just the bare term](http://res.cloudinary.com/muhimen/image/upload/v1623907448/programming.png)
![without exclude](http://res.cloudinary.com/muhimen/image/upload/v1623907485/withoutexclude.png.png)
![with exclude](http://res.cloudinary.com/muhimen/image/upload/v1623907503/withexclude.png)

### 5. site

Only show the search result from the site you defined. `site:dev.to react`

![site](http://res.cloudinary.com/muhimen/image/upload/v1623907518/site.png)

### 6. intitle

Looks if a specific word you mentioned is in the URL. `intitle:devto`

![intitle](http://res.cloudinary.com/muhimen/image/upload/v1623907534/intitle.png)

### 7. intext

Similar to `intitle` but this time it will search for a specific word inside the actual content

![intext](http://res.cloudinary.com/muhimen/image/upload/v1623907552/intext.png)

### 8. filetype

If you want the result file something different from the default HTML, you can use filetype like this `filetype:txt programming`

![filetype](http://res.cloudinary.com/muhimen/image/upload/v1623907571/filetype.png.png)

That was if from my end. But there are still quite a few for you to explore. If you are interested to see the possibilities, take a look at this [blog](https://ahrefs.com/blog/google-advanced-search-operators/)
How to Run a Bash Script
Tags: linux, bash
Published: 2021-07-01 18:07:18

Running a bash script is easy, but it does take a few steps and it’s important to do them in the right order. In this post, we’ll go through the steps to ensure that your script will run correctly :wink:

The first step is to make a bash script. Any bash script uses the Linux [commands](https://bsdnerds.org/what-is-linux-shell/).  A script can simply be a file with a list of commands and the *.sh* extension. If you are new to Linux, you can use [this site](https://www.practicelinux.com/) to practice. 

The second step is to make sure that your script file is executable. In Linux and macOS, you can check if a file is executable by running the `ls -l` command and then looking for an **x** in the permissions column. 

The example below shows the difference:

```bash
$ ls -l *.sh
-rwxrwxr-x 1 frank frank   43 mei 29 16:30 hello.sh
-rw-rw-r-- 1 frank frank 8192 jul  1 19:41 not-executable.sh
```

If it isn’t executable, run the following command in Terminal.

```bash
chmod +x script.sh
```

To start a script you write:

```bash
./script.sh
```

## When to use Bash scripts? :grin:

I can write a shell script when I need to, but then continue working in Python or Perl or C++ or whatever real programming language I'm most comfortable with at the time (these days mostly C++).

For example, one of my recent side projects involved crunching data from a database, working with various embedded systems and more. Shell is not the right tool for that kind of application.

Bash is more suited for when you write a lot of commands in the shell anyway and want to automate that.