teleren/devto huggingface dataset:
Security Matters!! ( SSL )
Tags: security, linux, devops
Published: 2020-09-15 16:39:25

# SSL CERTIFICATE
## Why and How???

### Short Introduction

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/k9nmq6pdh7aqyz3ec6uc.jpg)

Security Do Matter!!!
As taking today’s real world scenario every other person, companies and organizations offer and do  more online services and transactions, internet security becomes both a priority and a necessity of their online transactions to ensure that sensitive information – such as a credit card number, data,personal informations – is only being transmitted to legitimate online businesses and the person who could access it.
So,in order to keep customer information private and secure, companies and organizations need to add SSL certificates to their websites to enable secure online transactions.

**What are SSL Certificates and Why do I Need Them?**
SSL certificates are an essential component of the data encryption process that make internet transactions secure.They are who, which provide authentication to protect the confidentiality and integrity of website communication with browsers. In simple words,
1.SSL Certificate secures the data which is in transit between server and browser
2.It keeps the information private and secure.

The SSL certificate's job is to initiate secure sessions with the user’s browser via the secure sockets layer (SSL) protocol. This secure connection cannot be established without the SSL certificate, which digitally connects company information to a cryptographic key.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/9hf0idclzxkhr3aabvk2.jpg)

**How SSL Certificates Work**
1.A browser or server attempts to connect to a website (i.e. a web server) secured with SSL. 
2.A copy of its SSL certificate is send by web server to the browser/server 
3.The browser/server checks whether to trust the SSL certificate or not. If so, it sends a message to the web server.
4.The web server sends back a digitally signed acknowledgement to start an SSL encrypted session.
5.And finally, encrypted data is shared between the browser/server and the web server.
  
Benefits of Using SSL Certificates
1.First of all it utilizes, HTTPs 
2.Safer experience
3.Protect both customer and internal data and personal information
4.Encrypt browser-to-server and server-to-server interaction and transmission
5.Increase security


Hope you got the basic understanding, feel free to connect and correct if wrong anywhere.
Echo The Release
Tags: actionshackathon, github, productivity, voice
Published: 2020-09-17 01:20:01

### My Workflow
Dear All, this is my second entry for #ActionsHackathon `Echo the Release` - this GitHub Action helps you to notify your Alexa device if there is a new release for the projects that you have configured.

### Submission Category: 

Interesting IoT

### Yaml File

{% github https://github.com/QAInsights/Echo-The-Release %}

```
name: Echo the Release
on: 
  schedule:
    - cron: "*/1 * * * *"
jobs:
  get-version:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
      with:
        token: ${{ secrets.ECHO_TOKEN }}
    - name: Repo 1
      run: |
        t=$(curl -sL https://api.github.com/repos/<UserName>/<RepoName>/releases/latest | jq -r ".name")
        if [ ${t} != null ]
        then
          echo ${t} > Sample-Repo/echo.txt
        fi
                
    - name: Repo 2
      run: |
        t=$(curl -sL https://api.github.com/repos/<UserName>/<RepoName>/releases/latest | jq -r ".name")
        if [ ${t} != null ]
        then
          echo ${t} > Another-Sample-Repo/echo.txt
        fi
     
    - name: Check for modified files
      id: git-check
      run: | 
        git diff --name-only | xargs -L1 dirname | uniq > changes.txt
        while read p; do
          if [ $p != "." ]
          then
            k=${{ secrets.ECHO_KEY }}
            curl https://api.notifymyecho.com/v1/NotifyMe -H "Content-Type: application/json" -d '{"notification":"New release is now available for '"$p"'.","accessCode":"'"$k"'"}'
          fi
        done <changes.txt        
        echo "" > changes.txt
      
    - name: Commit latest release version
      run: |
        git config --global user.name '<>'
        git config --global user.email '<>'
        git commit -am "New release version"
        git push
```

### Additional Resources / Info

Thanks to [Notify Me](https://www.thomptronics.com/about/notify-me)
Grafana Pareto Plugin
Tags: grafana, plugin, pareto
Published: 2020-09-17 01:17:06

With the introduction of React to Grafana Plugins, development has changed drastically. Don't want to go too much in details but, transforming, visualising, thresh-holding, opting, dashboard data is much more fun now. In combination with typescript you can create complex but also durable plugins which can be easily maintained and build up-on by the community.

---

[[Code](https://github.com/isaozler/pareto-chart/tree/releases/latest)] Feel free to [download](https://github.com/isaozler/pareto-chart/tree/releases/latest) and try it out!

---

![Sample panel](https://dev-to-uploads.s3.amazonaws.com/i/jof4ivgbfk3693r836ar.png)

In this view you can see a pretty standard Pareto-chart, with custom options like for setting the vital few and the trivial many, the visibility of the axis en bar paddings. These are small and basic features, but currently we don't need more... :)

Will be updating this post during the development. So I will try to give you guys a bit more insights. But, if you have any comments, questions or feedback, please share...

---

`Some Context`

One of my latest challenges was to help create a dashboard in Grafana where they also needed a Pareto-chart.

To our surprise this wasn't developed yet... There was a request, which wasn't picked up by anyone. So I was able to get my hands dirty :D
Hello World!
Tags: greetings
Published: 2020-09-17 01:12:39

Hello! I was skimming through the internet when I found myself all knowledge-peckish. Lucky for me I found this place hidden in a dark alleyway when I was asking around about how to set up a development environment on my pc. The algorithm moves in mysterious ways indeed! 
Now that I have found this, I'm looking to get myself versed in programming in the, *high hopes*, near future, so I can get a job.
Anyways nice to meet you all, and see you around!
Be Lazy: Use Bash Aliases
Tags: codenewbie, productivity, linux
Published: 2020-09-17 01:06:12

#Bash Aliases
If you're anything like me, you find it tedious to open up your terminal and navigate to your project by typing in a long, absolute path, or by repeatedly using `cd` and `ls` to figure out where you're at and where you need to go. At home I keep all of my projects in a folder, befittingly named, projects.

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

Navigating to my projects folder isn't too bad, it's only a couple of directories in. However, I'm lazy, so let's do this the lazy way.

If you're following along, your first and biggest task will be to find your .bashrc file. For me, I am using Pop OS! 19.10 and it was located under the Home directory. I did have to enable the show hidden files option to see it though.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/6wwwhuigdr4p6fx9zs8m.png)

If you want to use your CLI to find it, you may have to go to your home directory and use something like `ls -la | more`

*If you're having trouble finding it, a quick search in your favorite search engine of something like "where is .bashrc on Ubuntu 18.04" should work, just be sure to replace Ubuntu 18.04 with the OS that you're using. If you're using Windows and you've installed Git Bash, you'll have to do a search on how to find the .bashrc or add aliases to Git Bash. Also, you should make sure that you're using bash. Some operating systems use Z shell, or other shells. In my terminal, I can run echo $0 and it returns bash.*

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/b7b6ttffbtp9hhmc2nnj.png)

Now that you've (hopefully) found your .bashrc file, open it up with your favorite text editor. Here's mine:

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/0rs8q8ao61pc9usg7fm3.png)

As you can see, I've already created a few aliases. Today I'll create one to take me to my projects directory. I bet you can tell how to do this just from looking at the screenshot. If not, take a look at the gif below for that "ohhhhhh, that's how he did it" moment.

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

#Testing Out The New Alias
...And now for the moment you've all been waiting for:

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/7xbofn9q8qunc7wf7p1p.gif)

Please note that you'll need to close your terminal and reopen it for your changes to take effect.

#Thoughts?
I'm a pretty average Linux user, however, I love learning cool techniques like this. What are your thoughts?
Operators
Tags: basics, operators
Published: 2020-09-17 01:00:39

---
series: Basics
---

2 + 2 = 4

Whenever you've done math, you've used operators. +, -, /, * are all operators that tell you what to do with a set of operands. In fact, the definition is quite similar:
> "A symbol which communicates how to change an input or set of inputs."

In math, we think of operating on numbers, but we can also operate on booleans, strings, and other data types.

# Unary, Binary, Ternary operators

The prefix is the important part here. "Un-", meaning one, is an operator that operates on one input. Likewise, "bin-" and "ter-" mean two and three respectively.

Here are some examples.
- !x (Not): A unary operator that flips a boolean value. For instance "true == !false" is true. To read this operator, just substitute the word "not" for the symbol "!".
- x > y (Greater than): A binary operator that takes in two values and returns true if the left side is greater than the right side.
- x ? y : z (Conditional operator): A ternary operator that takes in a boolean for the first value, and then if it's true, returns the second. If it's not true, returns the third. This funny little operator can save some mental overhead when used correctly. Just don't chain conditional operators together please.

# Assignment vs Comparison Operators
You may have realized that "=" is an operator. In programming, you could assign something like, "x is equal to y," or you can compare something like, "is x equal to y?"

In both cases you would write that our more or less like "x = y". So programming languages often specify the assignment with one equals sign and the comparison operator with two. A valid example looks like this:
```C#
// assignment "="
var x = true;
var y = false;

// comparison "=="
if (x == y)
    Console.WriteLine("x and y are equal");
else if (x == true)
    Console.WriteLine("x is true");
```

# Operators vs Functions
One thing that interests me is that an operator is almost like a special type of predefined function. If you think about it, functions take in 0-n parameters and return 0-1 values. We could replace the add operator with an add function relatively easily. If I was going to design a language today, I might try that out.

# Next steps
I've told you what an operator is, but I haven't talked about many specific operators. Go look up boolean operators (as these are the basis for a lot of programs), and then make sure you understand the modulus operator. Learning these will give you practice replacing operator symbols with meaningful words, and then reading operations as a sentence in your head.
Action:Google Forms to Issue
Published: 2020-09-17 00:44:23

### Our Workflow

This action creates an issue upon submission from a google form. You can adapt to whatever type of data you anticipate receiving and correlating labels. We've split up our workflow to setting up the action, enabling reception of data from Google Forms, and finally how to massage the data for your use case. 

**Setting up the Action**
We started by looking at how other actions have done the task of [opening up issues](https://github.com/JasonEtco/create-an-issue)  
![Screen Shot 2020-09-16 at 5.03.45 PM](https://dev-to-uploads.s3.amazonaws.com/i/v07kkzmrk98tiam3nbcb.png)
 

Ensure personal tokens of the repo admin and form admin are the same before plugging it in here. You can also add in default labels here as well as assignees. 

**Receiving Data from Google Forms**
In order to create an integration between the form and action, we made the trigger happen within the google script. This [gist](https://gist.github.com/anythingcodes/c68597c8e78541f703607d3cf324134a) was a great intro to the json we'd be manipulating. 

Playing around with the postman API, we wanted to get an idea of what the URLfetchApp would need:

- Enter in the API (line 26)
- inputs as vars in payload (line 18)
- header to be explicit (line 27)

![Screen Shot 2020-09-16 at 5.10.05 PM](https://dev-to-uploads.s3.amazonaws.com/i/tauvwent3nd2yzu6zfbc.png)

**Customizing Use Cases**
 For our purposes, we entered each as facet of payload within rich text. One could play with int and perhaps date time stamps as well. Any Data validation can also be done via Google Forms settings.  
![Screen Shot 2020-09-16 at 5.18.36 PM](https://dev-to-uploads.s3.amazonaws.com/i/dx2c4rzo0lt88czh4d33.png)
 
![Screen Shot 2020-09-16 at 5.16.15 PM](https://dev-to-uploads.s3.amazonaws.com/i/ucxa2iz7a6hpauktdc1b.png)
 

### Submission Category: 

Maintainer Must Haves

Since GitHub has passed 50 million developers, its clear that we're creating major collaborations between software and other niche movements. A lot of policy tech and NGO tech are making their way on the platform to modernize their operations and data collection. Often the team is working with folx that are very new to the GitHub workflow such as creating issues or even labeling them. This action hopes to reduce that onboarding time by letting people familiar with google forms have their entries be counted as part of your maintainer and developer workflow. Let us know how else you've found use for it?


###[Yaml File or Link to Code](https://github.com/Ally-Guide/ally-guide-app/actions/runs/258233782/workflow)

### Additional Resources / Info

Currently we're testing out the use as we work with campaign organizers as they submit campaigns. Our platform ally-guide enables users to look up their representatives and select a letter they can either send by post or tweet a message to whoever represents them. Check out our work at www.programequity.com!

### Other Contributors
@mahrsbar
Beginning A New Phase in Life in the Midst of a Pandemic
Tags: pandemic, newphase, newbeginnings
Published: 2020-09-17 00:37:19

There is so much I need and want to do. As I consider the times we currently live in I wonder if I will have the opportunity to fulfill my dreams. My current challenge is to learn HTML/CSS like the back of my hand. Is it possible? I can only try. There is nothing else to do but just keep moving towards the mark.
Discord Bot Tutorial - Make an XP ranking system
Tags: webdev, javascript, tutorial, node
Published: 2020-09-17 00:27:08

In this video tutorial you'll learn how to connect your Discord Bot to a database so you can store data about members of your server. We'll be making a ranking system specifically but the code from this tutorial can be extended to make a number of different projects:
* Currency System
* Automated Moderation System
* Analytics for your server
* Loyalty Program
You can simply follow along with the tutorial and copy the code as a beginner, but if you want a beginner tutorial for Discord Bots and working with DiscordJS, check out my first tutorial on this topic:
{% link https://dev.to/renaissancetroll/discord-bot-tutorial-get-started-in-5-minutes-3beb %}

{% youtube W_belnWXFhE %}
#ReactNewbies
Tags: react, codenewbie, coding
Published: 2020-09-17 00:06:04


Anyone else really struggling with React ??? Finally getting introduced to #React properly! Thanks Sobaking!!! 

https://www.twitch.tv/sobaking23

#Letscodetogether #let'scode #codingstream #codinglive #code #CodeNewbies  #Coders #coding
Tip: Instantly Edit Your Eleventy Site on Github
Tags: eleventy, website, tips, javascript
Published: 2020-09-17 13:18:38

---
title: "Tip: Instantly Edit Your Eleventy Site on Github"
published: true
date: 2020-09-17 00:00:00 UTC
tags: [eleventy, website, tips, js]
canonical_url: https://www.denizaksimsek.com/2020/instant-edit-11ty/
---

You’re looking at the blog post you made yesterday, when suddenly a typo catches your eye. What is the fastest way to fix it? ([Skip to code](#the-code)).

**Note:** This tip assumes you use GitHub. It could likely be adapted easily for other Git providers.

Add the following to your base layout (note the `{{ }}` and replace `<username>/<repo>` with the repo for the site):

```
<script>
addEventListener('keyup', e => {
  if (e.shiftKey === true) {
    switch (e.keyCode) {
    case 69: // E
      window.location = 'https://github.com/<username>/<repo>/edit/master/{{page.inputPath}}'
      break 
    }
  } 
})
</script>
```

When you press <kbd>Shift+E</kbd>, the GitHub editor will open to the current page! The switch statement is there because I used to have a few more hotkeys.
Extra-fuzzy History Searching with Mnem
Tags: rust, shell, showdev
Published: 2020-09-17 13:57:04

---
title: Extra-fuzzy History Searching with Mnem
published: true
date: 2020-09-17 00:00:00 UTC
tags: rust, shell, showdev
canonical_url: https://di.nmfay.com/mnem
---

I use a lot of Rust command-line tools: [ripgrep](https://github.com/BurntSushi/ripgrep), [fd](https://github.com/sharkdp/fd), [dust](https://github.com/bootandy/dust), and more. So when I had my own idea for a better command-line mousetrap, it seemed like the way to go.

Shells log the commands you enter to a history file. Bash has `.bash_history`, zsh uses `.histfile`. The `EXTENDED_HISTORY` option in the latter adds timestamps, but that's about as fancy as it gets. Both shells (and presumably others) also have "reverse search" functionality which lets you look backwards and forwards through it, one line at a time.

![reverse searching for rustc calls](https://di.nmfay.com/images/mnem-ctrl-r.gif)

Functional! But not especially friendly. Only seeing one result at a time makes it difficult to evaluate multiple similar matches; matching is strictly linear, as you can see by my typos; and the chronological is only sometimes the most useful order.

I do a lot with the AWS CLI, SaltStack, and other complicated command-line interfaces. I want to compare invocations to see how I've combined verbs and flags in the past, and for tasks I repeat just often enough to forget how to do them sorting by overall frequency is more useful than sorting by time.

Enter [Mnem](https://gitlab.com/dmfay/mnem) (regrettably, I missed getting `clio`, the Muse of history, by a matter of weeks):

![mnem in use](https://di.nmfay.com/images/mnem.gif)

The idea is pretty simple: load the history file, and reduce every command to its syntactic structure. `git commit -m "some message here"` becomes `git commit -m <val>`; `mv "hither" "thither"` turns into `mv <arg1> <arg2>`. Many entries will have the same structure, especially if switches are sorted consistently, so counting up occurrences yields each structure's overall popularity.

Picking one such aggregate yields a second selector over the original incidences, and selecting one of those prints it to stdout. This can be referenced, copied and pasted, or even `eval`ed in the shell.

So far I've released Mnem to the [Arch AUR](https://aur.archlinux.org/packages/mnem/) and a Homebrew tap:

```
brew tap dmfay/mnem https://gitlab.com/dmfay/homebrew-mnem.git
brew install dmfay/mnem/mnem
```
Как застабить переменные окружения в RSpec
Tags: ruby, rspec, testing
Published: 2021-01-19 11:07:14

---
title: Как застабить переменные окружения в RSpec
published: true
date: 2020-09-17 00:00:00 UTC
tags: ruby, rspec, testing
canonical_url: https://vasily.polovnyov.ru/posts/how-to-test-with-env-vars.html
---

Чтобы застабить в тесте переменную окружения, заглушите метод, с помощью которого код читает эту переменную:

```ruby
# Если в коде ENV["CHARGES_TOKEN"]
allow(ENV)
  .to receive(:[])
  .with("CHARGES_TOKEN")
  .and_return("XXX")

# Если в коде ENV.fetch("CHARGES_TOKEN")
allow(ENV)
  .to receive(:fetch)
  .with("CHARGES_TOKEN")
  .and_return("XXX")
```

Если вы сторонник готовых гемов, возьмите для этой цели [ClimateControl](https://github.com/thoughtbot/climate_control):

```ruby
ClimateControl.modify CHARGES_TOKEN: "XXX" do
  # ...
end
```
MA 15: Philip Guo (#2) on Unlisting Yourself
Published: 2020-10-01 21:08:26

---
title: MA 15: Philip Guo (#2) on Unlisting Yourself
published: true
date: 2020-09-16 23:26:15 UTC
tags: 
canonical_url: https://share.transistor.fm/s/f67a7f4c
---

Two podcasts with [Philip](https://pg.ucsd.edu/) who teaches at UCSD and left most public social media!

Why would you choose to leave the public internet on your own terms? Philip Guo joins Henry (for the 2nd time) to chat about his recent choice to make a minimal public web presence after being on the web for many years. We discuss the logistics of removing social media (Twitter, Facebook, YouTube), moving to longer forms of media (podcasts, essays, books), making introductory content, recognizing different stages of your career, being out of touch, freeing your mind for the next thing, not being ashamed of previous work, taking time to reflect, and friction. (recorded in May) _Transcript_: [https://maintainersanonymous.com/unlisting](https://maintainersanonymous.com/unlisting).  
  
**Previous Episode** : [https://maintainersanonymous.com/growing-old](https://maintainersanonymous.com/growing-old)  
**Philip** : [https://pg.ucsd.edu](https://pg.ucsd.edu/)  
**Henry** : [https://twitter.com/left\_pad](https://twitter.com/left_pad)  
  
**Headings:**

- "He took everything down!"
- A Long Time Coming
- Erasure: a minimal public web presence
- Unlisting Yourself
- When I was young, I was in a rock band
- Naturally Transitioning Out
- Tenure as a forcing function
- High School Debut
- Out of Touch
- Ownership Over Our (Digital) Selves
- Posting about Quitting
- No One's Going to Cry
- Making Introductory Content
- More Beginners in a Growing Field
- The Business of Patrons
- Doing the Work vs. Funding It
- Staying or Stepping Away
- Seinfeld and Ending at the Top
- Freeing Your Mind for the Next Thing
- "It's all I've Known"
- Graceful Degradation
- A Time to Reflect
- Acting on Our Beliefs
- Quitting Should be Boring
- Intentionality
- We Are As Athletes
- Adding Friction
Welcoming Christina Gorton to the DEV Team!
Tags: meta
Published: 2020-09-16 23:05:29

---
title: Welcoming Christina Gorton to the DEV Team!
published: true
description: 
tags: meta
cover_image: https://thepracticaldev.s3.amazonaws.com/i/97a2sge9bgapcn6szuep.png
---

We are very excited to welcome Christina Gorton, DEV’s new Open Source Community Manager. She joins us with a deep and diverse technical background - everything from frontend developer to educator, as well as active DEV contributor. 

Christina will be focused on supporting all the wonderful people that contribute to our open source software, [Forem](https://github.com/forem/forem). She's also helping us get the repo ready for Hacktoberfest!  

Please check out her introductory post, as well as all the [awesome articles](https://dev.to/coffeecraftcode) she's already written on DEV:

{% link https://dev.to/coffeecraftcode/i-joined-dev-506g %}

![dancing-cartoon](https://media.giphy.com/media/10UeedrT5MIfPG/giphy.gif)

Welcome, Christina!