teleren/devto huggingface dataset:
Convert pem to ppk
Tags: pem, ppk, putty, ec2
Published: 2020-04-11 13:32:23

In this article, we will see how we can convert pem to ppk easily with few clicks. Whenever we create an AWS EC2 machine and want to access it by putty from a windows laptop or desktop. We need to convert our pem key to ppk key so that putty can use that private key and allow it to connect.  There many ways to convert pem to ppk. I really like PuTTyGen because it’s easy and straight forward.

See the full article from here :https://thedbadmin.com/convert-pem-to-ppk/

Prerequisites
You need putty installed on your windows system. You can see my following post for putty installation.

How to Install PuTTy on Window
 

#1. Go to the Windows search option and look for ‘PuttyGen‘ and open it.




 
 

 


 
#2.   Got to ‘Conversions‘ and ‘Import key‘




 
 

#3.  Now click ‘Save private key‘ and save the file in ppk format.



 

And click ‘Yes’

 



 

 

 

#4. Give some meaningful name to the file.



 

 

 

#5.  Once you have ppk private key file load into to ‘putty / Connection/  SSH / Auth’ and give the path of ppk file.



 

 

 

#6. Give the AWS s3 endpoint name or public IP in ‘PuTTy / Session / Logging’ and you are done !!!



 

Please comment if you have any doubt. Like our Facebook page

 


Read more

AWS MySQL RDS Database Creation using AWS CLI
How to Create MySQL Database with AWS RDS
How to connect to AWS MySQL / MariaDB RDS or EC2 database from MySQL WorkBench

How to Become Oracle apps DBA?
What does DBA mean?
150 Oracle DBA Interview Questions
Top 5 Future Technologies for Database Administrators (DBA) to learn in 2020
Top 5 Software Technology Trends in 2020 List
How to create AWS rds PostgreSQL Database
Tags: postgres, aws, rds, awspostgres
Published: 2020-04-11 13:30:15

In this article, we are going to talk about detailed steps to create an AWS Postgres database instance on AWS cloud. Amazon RDS has two options for PostgreSQL. The first one is the normal AWS Postgres RDS database and Another one is aurora PostgreSQL. AWS Postgres gives you a lot of performance gain and HA options comparing with the normal data center (DC) database. You can get AWS Postgres with few steps. I have mentioned all possible details in the post about AWS PostgreSQL. If you need any AWS PostgreSQL pricing details you can open the AWS calculator portal and can get details about estimated the cost.

In case if you have any question let me know my comments. Let’s start creating an AWS PostgreSQL RDS database instance.

 
Read the full article from : https://thedbadmin.com/how-to-create-aws-rds-postgresql-database/
 


 
1# Login to AWS console and Search for ‘RDS‘.




 
 

 


 
#2. Click on create on Database



 

 

#3. Select PostgreSQL .



 

 

 

#4.  Select the database template. In my case, I have selected ‘Free tier’ you can select ‘Production’ or ‘Dev/Test‘ according to your requirement. Production and Dev/test will not be free from the day one it will be chargeable.



 

 

#5. Give some meaningful database name and Master database username with password.



 

 

#6. I have selected the free database classes which come with the free tier.



 

 

#7. Based on your database storage needs to select the ‘Allocated space’.



 

 

#8. If your database is business-critical you can choose a Multi-Availability Zone for database high availability.



 

 

#9. Chose the default VPC. If you are configuring it for Production or development chose the appropriate VPC using the dropdown button.



 

 

IMP Note for Additional connectivity configuration
In case if you like to access the database from your laptop/Desktop. Select the option ‘Publicly Accessible‘ to yes.
 



 

 

#10. Chose the option according to your application and the AWS ecosystem setup.



 

 

#11.  To enable  Cloudwatch logs or backup you can configure ‘Additional configuration‘.



 

 

#12. Click on ‘Create Database‘



 

 

#13.  It will take a few minutes to create database.



 

 

#14.  You can view the database credentials after clicking on ‘View credentials details‘ .



 

 

 

#15. You will see this message once your database is ready for action.



 

 

Please comment if you have any doubt. Like our Facebook page

 


No related posts.
Type video tutorial instructions on your screen
Published: 2020-04-11 13:29:23

![Screenshot](https://github.com/whizsid/typeonscreen/raw/master/resources/screenshot.gif)
How do you write your tutorial instructions? On NotePad? Lets say goodbye to NotePad. You can write tutorial instructions on your screen with your custom font.

Installation Guides On Github:- https://github.com/whizsid/typeonscreen
My Customer, Where Are You?
Tags: p2p, designthinking, prototype2build, testing
Published: 2020-04-11 13:29:20

A business model is essentially a business identity and a fundamental question in every canvas is on ‘who is going to be your paying customer’. Internally, organizations need to ask this question at different phases in regular intervals and interestingly, the answers vary each time. We make lot of assumptions about our customers and why they pay to consume our products and services. The underlying assumptions are a subject for continuous ratification and organizations become stagnant when they resist any changes to the assumptions.

Though there are many tools that aid in validating your assumptions on your customers, I strongly feel that design thinking is a simple and most efficient tool. Incorporating the concept of design thinking in every organizational process will help in orienting your strategy by identifying your customer and it also answers the question of why they are paying for your products/services. Design thinking revolves around the fundamental concept of customer centric strategy and continuous validation and correction of the assumptions.

1) Design thinking starts with Empathy which implies you are learning about your end customer and you think from their shoes on their real pain point and what matters to them.

2) Once you know about who they are, what they need and whether they are ready to consume to address those needs, you Define a point of view that is based on user needs and insights.

3) The rest of the phases in design thinking – Ideate -> Prototype -> Test is built on a customer centric foundation and that drives your organization around customer related experience.

As a real time case, at OptiSol, we incorporated this customer centric approach via our Prototype2Build (P2B) strategy where we help our clients by asking questions about their customers, the assumptions around their perceived needs and point of view. We build prototypes based on that and let them validate before getting into actual development. The empathy and ideation phase helps our clients in understanding their revenue generation options and the real theory behind the existence of their business.

Though Peter Drucker has highlighted this in his HBR article in 1994, it still stands true testing times:

“Every organization, whether a business or not, has a theory of the business. Indeed, a valid theory that is clear, consistent, and focused is extraordinarily powerful.”

In the modern times, this theory of business has to be customer centric and their experience with organization. It needs to be validated at regular intervals and Design thinking will be the best approach to accomplish this via an organization wide orientation.
All about Reverse Phone Lookup
Published: 2020-04-11 13:24:31

At least once in a life time we all got some fake calls and messages from unknown numbers that seem suspicious but as we don’t know them that’s why we get worried about who they are and who is behind these calls and messages. For this purpose [reverse phone lookup](https://zosearch.com/reverse-phone-lookup/) is used. In case you don’t know anything about it then we will let you know about the most important things related to it.

Following are some of the main questions that pop in our head when it comes to reverse phone lookup:

**What exactly is reverse phone lookup?**

The time when you search a phone number into a search bar to find out whose number is this. To use it you have to know the name of the person who’s calling or sending you messages. To find out their names on the basis of their number you can consult telephone directory.

**How to make Reverse Phone Lookup possible?**

One of the most common ways is to enter the phone number in google search and hoping that maybe you would be able to find the name of the person, but this method doesn’t always work. In other cases you can try out many reverse phone lookup providers like [Zosearch](https://zosearch.com/), as it will provide you the best services to find out people who are bothering you with messages and calls.

**Does reverse phone call free?**

This service is mostly free but at some times you have to invest a couple of bucks so you could enjoy all the perks.

**Why People Need to Utilize Reverse Phone Lookup?**

It is important for people to use reverse phone lookup whenever they are done with wrong calls and messages. At times these scammers blackmail you or ask you to provide them your personal information because of the reasons related to your credit card or property. By utilizing reverse phone lookup you would be able to find out the name of the person easily. You can use it to save your loved ones from an unknown future mishap. Apart from that you can find out about the person to whom you just added in your social media profile. You can get to know about their history and other public information that is out there because of automatic mechanization.

**What Information a Reverse Phone Lookup provides?**

A reverse phone lookup provides you the public information of the person to whom you are searching. It includes their name, other contact numbers if they have, address, and many other things including their history.
ES Lint, Prettier, Vetur, VSCode: Ironing out the conflicts
Published: 2020-04-11 13:21:13

I recently discovered something more was needed than the out of the box Vue CLI ESLint setup to settle the disputes between prettier, eslint, VSCode's default formatter, and which one fired when on-save vs. on keyboard shortcuts.

This is a quick summary of my workspace configs, but for more of a deep dive, check out [this article](https://medium.com/@gogl.alex/how-to-properly-set-up-eslint-with-prettier-for-vue-or-nuxt-in-vscode-e42532099a9c).  


### Packages
- prettier
- eslint-config-prettier
- eslint-plugin-prettier
- @vue/eslint-config-standard
- babel-eslint
- eslint
- eslint-plugin-import
- eslint-plugin-node
- eslint-plugin-promise
- eslint-plugin-standard
- eslint-plugin-vue


### Keybindings
Remove any existing formatting commands attached to the `ctrl+shift+i` shortcut and bind this instead to _EsLint Fix All Auto-Fixable Problems_ (tip: you can search by both command and keybinding in Keyboard Shortcuts).


### Workspace Settings.json
```
{
  "vetur.validation.template": false,
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
  }
}
```


### .eslintrc.js
```
module.exports = {
  root: true,
  env: {
    node: true
  },
  extends: [
    'plugin:vue/recommended',
    'eslint:recommended',
    'prettier/vue',
    'plugin:prettier/recommended'
  ],
  parserOptions: {
    parser: 'babel-eslint'
  },
  plugins: ['prettier'],
  rules: {
    'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
    'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
    'vue/component-name-in-template-casing': ['error', 'PascalCase']
  }
}

```


### .prettierrc
```
{
  "trailingComma": "none",
  "tabWidth": 2,
  "semi": false,
  "singleQuote": true
}

```

I'll continue to dial these settings in, and plan to expound more here on exactly why these configs work, but this got me up and running past those pesky formatting/linting conflicts in a pinch.


*More Reading*
https://prettier.io/docs/en/integrating-with-linters.html
https://github.com/vuejs/vetur/issues/1094
Hackathon update #1
Tags: twiliohackathon
Published: 2020-04-11 08:56:17

So it has been about two weeks since the kick of of the hackathon and I created a template post of my application idea - https://dev.to/joro550/placeholder-title-414l which I will update once it is complete I think.

# How's it going?
Not too bad, I've got most of my major screens working:

- Create Organization
- Create Event
- View Organization
- View Event
- Authentication

# What have I got left?

- Permission stuff..... a lot of permission stuff
- Tests (yeah I should have done this from the start)
- Need to get it deployed (this will happen after the auth stuff probably
- Need to complete the integration with twilio - which I have in the code I just need to hook up the account id's and such

# Any regrets so far?

I feel I may have bitten off a little too much - everytime I think about the project I find more stuff to do, but progress seems steady, I may if it is coming close to the deadline may need to cut some of the features I was talking about but right now? It seems okay but a little dauting

# Take a look
I'm not shy here's the repo:
https://github.com/joro550/Artemis
A GitHub Action for Programmer Memes xD
Tags: python, showdev, github
Published: 2020-04-11 13:15:25

TLDR;
> I created a small github action to greet contributors with random programmer memes


{% github https://github.com/Bhupesh-V/memer-action %}

> **[View on GitHub Marketplace](https://github.com/marketplace/actions/memer-action)**

# Why ?
You can say thanks to contributors by greeting them with some programmer humour & btw almost everyone likes memes so having some fun while contributing to OpenSource would be great :)

# Demo
Here is a sample of memer-action in action

{% twitter 1248954061442826242 %}

# How 
The action was built using python, here is how the magic happens
```python
import feedparser
import random
import os
import sys

HOST_URL = "https://www.reddit.com/r/ProgrammerHumor"


def getMeme(filter_posts="hot"):
    memelist = []
    memedict = {}
    f = feedparser.parse(f"{HOST_URL}/{filter_posts}.rss")
    for entry in f.entries:
        x = entry['content'][0]['value']
        img = x[x.find("https://i.redd.it"): x.find("link") - 3]
        if img != "":
            memedict["title"] = entry["title"]
            memedict["src"] = str(entry["link"])
            memedict["meme"] = img
            memelist.append(memedict)
        random.shuffle(memelist)
        return memelist[0]


def main():
    filter_by = os.environ["INPUT_FILTER"]
    if filter_by not in ["hot", "top", "new", "rising"]:
        sys.exit(0)
    meme = getMeme(filter_by)
    print(f"::set-output name=meme::{meme['meme']}")
    print(f"::set-output name=title::{meme['title']}")
    print(f"::set-output name=source::{meme['src']}")


if __name__ == "__main__":
    main()

```
The above script runs inside a docker container. Below are some of the resources that (I used) you can use to build you own actions using Python

- [Creating GitHub Actions in Python](https://www.jacobtomlinson.co.uk/posts/2019/creating-github-actions-in-python/)
- [Creating a Docker container action](https://help.github.com/en/actions/building-actions/creating-a-docker-container-action)

<figure>
<img src="https://media.giphy.com/media/mCRJDo24UvJMA/giphy.gif">
<figcaption> have fun !! </figcaption>
</figure>
Spring security using OAuth2 with Microsoft AzureAD
Tags: tutorial, beginners, springsecurity, azure
Published: 2020-04-11 13:06:22

The blog is originally published on my blog [jsblogs.github.io](https://jsblogs.github.io/spring/2020/04/11/Spring-security-using-OAuth2-with-azure-ad)

---

{% youtube dnzlN1zrcrI %}
Vue and localStorage?
Tags: help, vue
Published: 2020-04-11 12:31:49

---
title: Vue and localStorage?
published: true
description: 
tags: help,vue
---

I built my first ever app with the Vue-cli the best part of a year ago and I've been going through my repos and there wre a couple of things I've wanted to add it but I'm not sure how.

The working example is [here](https://array-helper.netlify.com/) and [git repo](https://github.com/cguttweb/array-helper)

I have it setup to add an new example to the list, but whnever you refresh the page it removes the newly added items. Is there a way to use localStorage (or something else?) to be to store these when you refresh the page? I did attempt to add localStorage using the example found in the docs, but it didn't work so I'm doing something wrong I'm not sure what. 

Also is there a way to have a sort of console and actually run the code I've set out in the examples?

Any help or suggestions most appreciated.
Unity AudioMixerで音量等のパラメータをスクリプトから操作する際のつまりポイントメモ
Tags: unity3d, audiomixer
Published: 2020-04-11 12:19:56

## 経緯

Unityのスクリプトリファレンスなどだと若干わかりづらかった & ググってもなかなか良い記事に巡り合わなかったためここにメモ

Unity5.6あたりからサウンド周りの管理用コンポーネントとして AudioMixerがある、これはGUIでのサウンドの調整やエフェクトの追加等々が行える便利な機能

↓詳しくは公式リファレンスを参照↓
[マニュアル](https://docs.unity3d.com/ja/current/Manual/AudioMixer.html)
[スクリプトリファレンス](https://docs.unity3d.com/ja/current/ScriptReference/Audio.AudioMixer.html)



## サウンドの音量を下げる方法( パラメータ出力から設定まで )

先ずProjectWindowにて適当なAudioMixerを作成する

ProjectWindow > ContextMenu( 右クリック ) > Create > AudioMixer
![0.png](https://github.com/D-RyusukeMatsumoto/my-image-storage/blob/master/dev-to-post-2/0.png?raw=true)


今回はTestAudioMixerを作成、初期状態の画像が以下の通り
![1.png](https://github.com/D-RyusukeMatsumoto/my-image-storage/blob/master/dev-to-post-2/1.png?raw=true)

今回は画像のMaster要素( グループという )の操作をメインに扱う
次はこのAudioMixerを編集するためにAudioMixerWindowを開く
メニューの Window > Audio > AudioMixer
又はショートカットの ```Ctrl + 8```
![2.png](https://github.com/D-RyusukeMatsumoto/my-image-storage/blob/master/dev-to-post-2/2.png?raw=true)


AudioMixerのデフォルト画面が下の通り
![3.png](https://github.com/D-RyusukeMatsumoto/my-image-storage/blob/master/dev-to-post-2/3.png?raw=true)


今回メインで扱うのは画像の内での **Groups** 要素
Groupsの右端にある + アイコンをクリックまたはGroups要素上で右クリック Add child groupを選択し新しいグループを作成する
この際新たに作成したGroupは必ずMasterの下に来るMasterの下であれば各種グループの親子構造は自由に編集できる

今回はSEというグループを新たに作成した、新たなグループを作成したウィンドウ↓
![4.png](https://github.com/D-RyusukeMatsumoto/my-image-storage/blob/master/dev-to-post-2/4.png?raw=true)


ただしこのままではスクリプトからのアクセスは出来ずUnityのGUIからのみ編集可能の状態、これをスクリプトからアクセスし編集できるようにするまでが今回の記事

次に見る箇所はAudioMixerからInspectroに移る、SEグループを選択したうえでInspectorを表示すると下図のようになる
![5.png](https://github.com/D-RyusukeMatsumoto/my-image-storage/blob/master/dev-to-post-2/5.png?raw=true)
![6.png](https://github.com/D-RyusukeMatsumoto/my-image-storage/blob/master/dev-to-post-2/6.png?raw=true)

図のAttenuation 要素の Volumeにカーソルを合わせ右クリック > Expose 'Volume (of SE)' to scriptを選択する、こうすることでスクリプトからアクセス可能になる、ただしこのままだとスクリプトからアクセスする際のKeyがわからない
ちなみにVolumeでアクセスを試みたところ駄目だった
ではどんなパラメータ名になっているのか、確認する方法は以下の通り( 個人的にこれは罠だと思ってる、すっげぇわかりづらい )

![7.png](https://github.com/D-RyusukeMatsumoto/my-image-storage/blob/master/dev-to-post-2/7.png?raw=true)
![8.png](https://github.com/D-RyusukeMatsumoto/my-image-storage/blob/master/dev-to-post-2/8.png?raw=true)


赤矢印の箇所をクリックして開く、すると先ほど作成したパラメータ名がわかる( MyExposeParam )となってるところ
右クリックでメニューを開き、Rename を選択、今回は SE という名前にした
![9.png](https://github.com/D-RyusukeMatsumoto/my-image-storage/blob/master/dev-to-post-2/9.png?raw=true)


これでスクリプト上からアクセスできる
スクリプト例( あらかじめInspector上からmixerパラメータにAudioMixerへの参照を設定しておく )

```csharp

    void Hoge()
    {
            mixer.SetFloat("SE", -40f);
    }

```

要注意な点はここで設定する値は 0 ~ 1 の値ではなくdB単位( -80 ~ 0 )なので直感的な0 ~ 1での制御をしたい場合は別途 0 ~ 1 をデシベルに変換する関数を作成する必要がある

↓参考ページ
http://www.proaudioinfo.com/shiryou/db/db.htm

関数にするとこんな感じ

```csharp

    // 0 ~ 1の値をdB( デシベル )に変換.
    float ConvertVolume2dB(float volume) => 20f * Mathf.Log10(Mathf.Clamp(volume, 0f, 1f));

```



## あとがき

いろいろエフェクトを掛けられたりできるので便利なため今後この AudioMixer を活用していきたい
今回はここまで、地味にこのパラメータをスクリプト上から操作するの手順が見つからなかった( Unityにはもう少しわかりやす手順書を作ってもらいたいところ或いはたんに見つけられてないだけ? )
A Short Tutorial on How to Develop a Switch button in Flutter.
Tags: flutter, dart, tutorial, beginners
Published: 2020-04-11 12:09:53

# A Short Tutorial on How to Develop a Switch button in Flutter.

{% instagram B-yruCRHj-Z %}

Flutter Switch is used to toggle a setting between on/off which is true/false respectively.

When the switch is on, the value returned by the Switch onChanged property is true, while the switch is off, onChanged property returns false.

In the following example Flutter application, we defined a Switch widget. Whenever the Switch is toggled, onChanged is called with new state of Switch as value.

We have defined a boolean variable isSwitched to store the state of Switch.

Create a basic Flutter application and replace main.dart with the following code.

### **main.dart**

<iframe src="https://medium.com/media/80c50e62abaf711589d10bacb31aa785" frameborder=0></iframe>

### Complete Source Code…
{% gist https://gist.github.com/Maadhav/68409a5296d02beb62409bf4f9c8d290 %}


I have started this new series named Flutter Shorts in which I will share some simple and useful tutorials related to Flutter Widgets.

So Stay Tuned for more…

![](https://cdn-images-1.medium.com/max/2000/1*ID93LK1fwlFUbRPsluasOw.jpeg)
[PT-BR] Crie Actions para o Google Assistente
Tags: actions, googleassistant, dialogflow, chatbot
Published: 2020-04-11 12:07:08

Você sabia que pode criar _actions_ para o Google Assistente que podem ser descobertas por outras pessoas?

Os usuários podem iniciar uma conversa chamando explicitamente sua _conversational action_ pelo nome, que por sua vez responde com uma mensagem inicial de saudação.

A equipe do Actions on Google criou este [_codelab_ level 1](
https://codelabs.developers.google.com/codelabs/actions-1/#0) no qual, uma vez na conversa, o usuário é solicitado a fornecer sua cor favorita.

Sua _action_ analisa o que o usuário disse e então extrai as informações necessárias (ou seja, o parâmetro _color_).

Se uma cor for fornecida, sua _action_ processará o parâmetro de cor para gerar automaticamente um “número da sorte” como mensagem de resposta, e em seguida a conversa será encerrada.

Se nenhuma cor for fornecida, sua _action_ enviará novas mensagens de avisos adicionais ao utente até que o parâmetro seja extraído.

Os usuários podem deixar explicitamente a conversa a qualquer momento.

Neste vídeo eu leio em inglês e sigo as instruções ao explicar meu compreendimento.

Possibilitando a você que também possa segui-lo juntamente à mim, e se por ventura for o seu caso, não possuir mais a barreira da linguagem para o aprendizado.

Vídeo abaixo de uma live feita em Abril, 2020 explicando:

{% youtube V125AiMqA8c %}

**Extra**

Abaixo você encontra o vídeo com os _timestamps_, todavia leve em consideração a data na qual ele foi ao ar e o estado atualizado do _codelab_, uma vez que novas _features_ são lançadas alguns campos assim como a interface ficam _deprecated_.

[01:21](https://www.youtube.com/watch?v=5oOe-8rxHcA&t=81s)–1. Visão Geral

[07:20](https://www.youtube.com/watch?v=5oOe-8rxHcA&t=440s)–2. Entenda o funcionamento

[12:31](https://www.youtube.com/watch?v=5oOe-8rxHcA&t=751s)–3. Setup

[23:17](https://www.youtube.com/watch?v=5oOe-8rxHcA&t=1397s)–4. Iniciando uma conversa

[29:27](https://www.youtube.com/watch?v=5oOe-8rxHcA&t=1767s)–5. Crie respostas

[39:17](https://www.youtube.com/watch?v=5oOe-8rxHcA&t=2357s)–6. Implementação de um _webhook_

[47:37](https://www.youtube.com/watch?v=5oOe-8rxHcA&t=2857s)–7. Próximos passos

Obrigada!