teleren/devto huggingface dataset:
Basic setup for development
Tags: setup, development
Published: 2022-11-17 18:14:33

### Development

Make

```bash
sudo apt-get update

sudo apt-get install make
```

---

<br />

Git

```bash
sudo apt-get install git
```

---

<br />

PHP 8

```bash
sudo apt install software-properties-common

sudo add-apt-repository ppa:ondrej/php

sudo apt update

sudo apt install php8.0 php8.0-intl php8.0-mysql php8.0-sqlite3 php8.0-gd
```
---

<br />

Composer

```bash
sudo apt update

sudo apt install php-cli unzip

cd ~

curl -sS https://getcomposer.org/installer -o composer-setup.php

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

# Test composer installation
composer
```
---

<br />

DBeaver

```bash
sudo add-apt-repository ppa:serge-rider/dbeaver-ce

sudo apt-get update

sudo apt-get install dbeaver-ce
```
---

<br />

Docker

```bash
sudo apt update

sudo apt install apt-transport-https ca-certificates curl software-properties-common

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

sudo apt update

apt-cache policy docker-ce

sudo apt install docker-ce

# Test the Docker installation
sudo systemctl status docker
```
---

<br />

Docker permission

```bash
sudo usermod -aG docker $(whoami)

sudo usermod -aG docker $USER

newgrp docker
```
---

<br />

Docker Compose

```bash
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

docker-compose --version
```
---

<br />

NodeJS

```bash
sudo apt update

sudo apt install nodejs

sudo apt install npm
```
---

<br />

Yarn

```bash
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -

echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

sudo apt-get update && sudo apt-get install yarn

sudo apt-get install --no-install-recommends yarn

# Test the Yarn version
yarn --version
```
---

<br />

### Browser

Google Chrome
```bash
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb
```
---

<br />

### System custom

Papirus icons

```bash
sudo add-apt-repository ppa:papirus/papirus

sudo apt install papirus-icon-theme
```
---

<br />

Gnome
```bash
sudo apt install chrome-gnome-shell gnome-shell-extensions
```
---

<br />

Extensions for Gnome
- [Dash to dock](https://extensions.gnome.org/extension/307/dash-to-dock/)
- [Dash to panel](https://extensions.gnome.org/extension/1160/dash-to-panel/)
- [Sound output device chooser](https://extensions.gnome.org/extension/906/sound-output-device-chooser/)
- [Scroll panel](https://extensions.gnome.org/extension/932/scroll-panel/)
- [Transparent gnome panel](https://extensions.gnome.org/extension/1099/transparent-gnome-panel/)
- [Gnome shutdown button](https://extensions.gnome.org/extension/1056/gnome-shutdown-button/)
Why motivational videos doesn't work.
Published: 2022-11-21 18:55:58

---
title: Why motivational videos doesn't work.
published: true
date: 2022-11-17 18:03:44 UTC
tags: 
canonical_url: https://krishnavamsi.hashnode.dev/why-motivation-videos-work-temporarily-4b67ec92b9e6
---

All the motivation videos look good, positive, and encouraging that you can do anything and be anything. The background music and words are so impactful that they enlighten your mood and you feel pumped up. But these feelings fade away in an hour or a day or a few days, and no one would be motivated for a lifetime. When you re-watch the video, you may or may not get the same feeling as earlier, or else they fade away again.

Thats because it is external motivation, it doesnt mean they dont work, you should instead look for motivation from the inside. This motivation from inside comes either with inspiration from someone/something, desires, curiosity, habits, goals, or many other things. Be cautious not to use comparison as a motivation factor.

Start with a small goal or habit and work towards it. In this process, you would get setbacks or get demotivated, at that time your motivation from inside suffers. Now videos that are an external source of motivation can help you get back on track, and those encouraging words can help you get to the goal you set. Once you have reached that small goal, your self-confidence will increase which again aids in the next goal you set.

Feel free to check out my [youtube](https://www.youtube.com/channel/UC1wX6744VUBUbk7sglSGB3A).
How to send bulk email using nodejs by azure ACS
Published: 2022-11-17 11:07:14

Hi,
How to send bulk email using nodejs by azure ACS

```
const { EmailClient } = require("@azure/communication-email");

const connectionString = "endpoint=https://callandsms.communication.azure.com/;accesskey=xxxxxxxxxxxxxxxxxxxxxxx";
const client = new EmailClient(connectionString);
const sender = "support@xxxxx.azurecomm.net";
const emailContent = {
  subject: "Send email quick start test- JS sample",
  plainText: "Test Email from JS Send Email Sample Application\n\n This email is part of testing of email communication service. \\n Best wishes",
  html: "<html><head><title>ACS Email as a Service</title></head><body><h1>ACS Email as a Service - Html body</h1><h2>This email is part of testing of email communication service</h2></body></html>",
};
const toRecipients = {
  to: [
    { email: "xxxxx@yahoo.com", displayName: "xxx" },
    { email: "xxxxx@gmail.com", displayName: "xxx" },
  ],
};

async function main() {
  try {
    const emailMessage = {
      sender: sender,
      content: emailContent,
      recipients: toRecipients,
    };

    const sendResult = await client.send(emailMessage);

    if (sendResult && sendResult.messageId) {
      // check mail status, wait for 5 seconds, check for 60 seconds.
      const messageId = sendResult.messageId;
      if (messageId === null) {
        console.log("Message Id not found.");
        return;
      }

      console.log("Send email success, MessageId :", messageId);

      let counter = 0;
      const statusInterval = setInterval(async function () {
        counter++;
        try {
          const response = await client.getSendStatus(messageId);
          if (response) {
            console.log(`Email status for {${messageId}} : [${response.status}]`);
            if (response.status.toLowerCase() !== "queued" || counter > 12) {
              clearInterval(statusInterval);
            }
          }
        } catch (e) {
          console.log("Error in checking send mail status: ",e);
        }
      }, 5000);
    } else {
      console.error("Something went wrong when trying to send this email: ", sendResult);
    }
  } catch (e) {
    console.log("################### Exception occoured while sending email #####################", e);
  }
}

main();
```

I want to send emails to many users without the recipients seeing who I'm sending


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bwdcf1fzai22rf6x9ltb.png)
Should CFP topics stay the same?
Tags: discuss, career, speaking
Published: 2022-11-17 18:00:00

I am starting to send out some CFPs for next year. I'm wondering if I should always apply with the same topic for different events, since there might be different people at each event, or if I should apply with different topics, since there might be the same people at the same type of event.

I am aware that each event is looking for different types of talks (light, full length, etc).

Thanks for your insights 🙃
What is JavaScript?
Tags: javascript, programming, beginners, webdev
Published: 2022-11-17 17:55:32

JavaScript is a high-level, often just-in-time compiled programing or scripting language. It has dynamic typing, prototype-based object-orientation, and first-class functions. It is multi-paradigm, supporting event-driven, functional, and imperative programming styles.

**Note:**

**High-Level** → Human Understandable.

**Just-in-time Compilation** → Dynamic Compilation OR Runtime Compilation. Means, a way of executing computer code that performs compilation during the execution of a program (at run time) rather than before execution.

**Dynamic Type** → Where the interpreter assigns variables a type at runtime based on the variable's value at the time. It means that JS does not require the explicit declaration of the variables before they're used.

**Prototype-based object-orientation** → Prototype-based object-orientation is a style of object-oriented programming in which classes are not explicitly defined, but rather derived by adding properties and methods to an instance of another class. 

**First-class Functions** → When functions are treated like any other variables. 

**Multi-paradigm** → Multi paradigm means the language is general-purpose or flexible. JavaScript can be used for declarative (functional) or imperative (object-oriented) programming styles.

**Event-Driven** → Event-driven programming is a programming paradigm in which the flow of the program is determined by events such as user actions (mouse clicks, key presses), sensor outputs, or message passing from other programs or threads.
Design System responsabilidade de todos.
Tags: design, react, devrel
Published: 2022-11-17 17:10:56

Design System não é responsabilidade apenas do time de Design e devs Frontend.

Design System resolve a falta de padronização e ajuda a reduzir  o tempo de desenvolvimento de tarefas repetitivas de interface, tanto do time de Design quanto toda a nossa de Engenharia de software.

O entendimento do Design system é um produto, e não deve ser visto como apenas componentes de frontend, isso pode fazer com que a agilidade de sua integração com outros produtos seja menor, dando mais trabalho para o time difundir a importancia de sua implantação. Por este motivo devemos divulga-lo como uma feature.

O Design System não e um projeto com começo, meio e fim, e isso pode ser o maior equívoco no processo de sua implantação. Vamos precisar de entregáveis, ok, mas o Design System é um produto dinâmico e vivo e quanto mais cedo todos desde PM, Tech Lead e Devs da empresa entender isso, melhor.

Um pensamento que devemos ter é que não é somente o usuário final que se beneficia do nosso produto design system. Os nossos clientes internos, como o  desenvolvedor e o time de design, também são beneficiados diretamente. Então, a cada passo deve ser colocado em primeiro lugar as maneiras para facilitar a vida dos Devs e Designers.


#frontend #engenharia #tech #desenvolvimento
Learn Test-Driven Develpment With Django Part 2 - Testing Views And Templates
Tags: django, python, tdd, testing
Published: 2022-11-17 16:56:52

This is the second of a series of videos in which we look at Test-Driven development with Django. In this video, we look at how we can build views and render templates based on tests we have passed.
{%youtube 0pGkXfZdX0c%}
🎉 We are excited to announce that we’ve reached 8000 members on Discord!
Tags: opensource, microservices, discord, luos
Published: 2022-11-17 16:52:57

🎉 We are excited to announce that we’ve reached 8000 members on our Discord community of embedded and edge developers!

Thank you to everyone that contributes on the server and to all the new members that joined recently, you help make this community grow 👏
What are the errors that can occur during the pg_repack ?
Tags: postgres, database, pgrepack, tutorial
Published: 2022-11-17 16:51:54

1.  pg_repack VER is not installed in the database


2.program 'pg_repack V1' does not match database library 'pg_repack V2' --version mismatch


3. relation "table" must have a primary key or not-null unique keys



4.the table "tbl" already has a trigger called repack_trigger
- Due to session timeout or bastion disconnect 


5. Another pg_repack command may be running on the table


- We couldn't execute the simultaneously pg_repack on multiple tables






Some important points:


* Only superusers can use the utility.
* Target table must have a PRIMARY KEY, or at least a UNIQUE total index on a NOT NULL column.
* Defaults of pg_repack may not be good for critical systems. use --no-kill-backend or -D option to make it more gentle
* No DDLs are allowed against the table which is undergoing pg_repack and any session that attempts to do so might get killed.
* pg_repack, by default, will attempt canceling the conflicting statements if it is not able to gain AcessExclusive lock-in wait-time
* It may proceed to terminate sessions if the total wait exceeds double the amount of wait time. This could lead to undesirable outcomes and outages
* Use (-N, --dry-run) Before to perform the pg_repack to understand what would have been repacked and exit


https://www.youtube.com/watch?v=Ngx4bNqpMcI
3 great ways of giving constructive feedback😇 to your colleagues on any deliverable on a zoom call
Tags: career
Published: 2022-11-17 16:50:11

Feel the urge to comment on the font/color/image/line-of-code used by your colleague in the morning meeting? HOLD IT 🤐 ! Do these things instead:

##  🤷🏼The So-What? question 🤷🏼
1️⃣ Ask the "so-what" question for your feedback (to yourself), and also on the item you are commenting on. If the "so-what" does not resonate, feel free to remain silent. Ex - "I don't like this logo image" / "This font is too large" is a terrible way to give feedback. Instead, ask yourself why you feel a certain way and explain your thought process to the recipient.

## ✍🏿Document feedback✍🏿
2️⃣ Document/write down feedback before vocalizing it. Do set up a follow-up call if needed. Ex - Writing helps you clarify the argument. Otherwise, there is a risk of communicating the opposite of what you actually wanted to say.

## 📈Trust in numbers, data and facts, not in feelings 📈
3️⃣ Train yourself to give "Data-based" reactions. Ex - If the question is about a certain call to action button's color, wait to see the data indicating what performs better.

With these habits, one can learn to be a better team player and an organizational contributor. What other best practices can one follow to be a better human in the remote/hybrid workplace? Comment below.
Stuck with devops monitoring? - Here's your guide to unwinding your mess
Tags: monitoring, devops, beginners, devjournal
Published: 2022-11-17 16:48:12

In today’s era, application performance holds a crucial position in determining the application's success in the long run. No matter how much feature-packed and optimized your application is, it needs to be constantly monitored for smooth functioning of the application. That’s where DevOps monitoring comes into play. DevOps monitoring consists of several monitoring metrics which assist with application monitoring for the proper functioning of the application. 

However, without proper guidance, DevOps monitoring can feel too complex to begin with. Here’s your guide to avoid messing up your DevOps monitoring.

##Determine your monitoring targets

If you are just starting with [DevOps monitoring](https://www.simform.com/blog/devops-monitoring/), your first and foremost strategy should be determining which targets you want to monitor. No matter where it operates, the complete stack should be monitored by modern DevOps teams. 

You can divide monitoring targets into several primary categories and each one of them accordingly. These categories include - Server health, application log, system vulnerabilities, user activity, and development milestones.

##Leverage continuous monitoring

While there is a lot of talk about Continous Integration and Continuous Deployment (CI/CD), people seem to forget about Continuous Monitoring (CM). Few businesses apply CM to the whole CI/CD toolchain, monitoring internal processes and tooling to find issues before being released into the open. On the other hand, many others view CM as the final step in the DevOps pipeline.

With proper CM strategy implemented in place, your DevOps team will be well equipped to deal with ongoing incidents by reducing mean time to acknowledge, mean time to recover, and meal time between failures. 

##Correlate and triage

Data correlation is needed to understand the data. But the problem is - data comes in from different sources, in different time frames at different frequencies. One needs to normalize the data to understand it. Asking questions about data correlation and triage is crucial. You need to ask questions about data and how they relate to business objectives. 

##Break down silos with metrics

DevOps is designed to break the barrier between Dev and Ops teams and stop the unproductive cycle between them. It can only be feasible if both the teams speak in the same language - metrics. Your monitoring tool should be accessible to everyone who touches the application code. 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3ff98n0ckbke0e51jx7b.jpg)

As monitoring tools encourage sharing of information, dashboards, and logs, it will let people form a collaborative environment between the two core teams. Your monitoring tool should also have a “sandbox feature” for encouraging people to explore and experiment without affecting the existing dashboards.
MockOla v3 Released: Free Design Canvas For Developers
Tags: freetools, showdev, productivity, tooling
Published: 2022-11-17 16:48:00

Keyhole Software is proud to announce the v3.0 release of [MockOla](https://mockola.com), a free web-based design software for software developers. This release provides significant feature and usability updates, including a formal template gallery that simplifies the illustration of complex software design concepts.

**What’s New in MockOla 3.0**
In version 3.0, we add a formal template gallery with IT templates for **application architecture, cloud, .NET, Java, UML, UI, and other software concepts**. Users can quickly modify and customize predesigned templates to minimize design time. [MockOla](https://mockola.com) v3.0 also adds an image gallery containing specialized images and logos, allowing users to make effective, communicative diagrams.

![Screenshot of App Orchestration Diagram](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vc6uqbdx0jnbdi7dqzcc.png)

“Software concepts are often complex to illustrate,” Keyhole Director of Operations Lauren Bogner said. “The goal with MockOla v3.0 was to make designing them even easier, especially for our IT users. The templates fit a wide range of business and application needs, particularly in software design.”

[MockOla](https://mockola.com) is a free, web-based design and diagramming tool for creating custom designs. This software empowers users to create IT diagrams, user interface wireframes, and freeform designs by dragging and dropping customizable elements onto a canvas.

![MockOla Screenshot Of mobile UI](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eixba63t1smj8hshgnmu.png)

[MockOla](https://mockola.com) boasts a long list of features, including specialized item palettes like shapes, architecture, UI, data, object relationship management to illustrate flow, software logo gallery, visual layer design, and responsive content. After creation, users can save and download diagrams as JSON or image files for efficient sharing and collaboration.

“We designed it to be useful for devs who don’t have the time to start from scratch,” Managing Partner David Pitt said. “MockOla now lets users easily drop in a web application architecture template, and with a few customizations make it their own. I use it frequently to quickly design application diagrams and UI mockups for documentation and project proposals.”

[MockOla](https://mockola.com) was developed by Keyhole Software with React, Node.JS, Express, MongoDB, CosmosDB, and Docker and is hosted in Azure. MockOla is free to use. For more information, please visit [MockOla.com](https://mockola.com).

**About Keyhole**
[MockOla](https://mockola.com) was developed by [Keyhole Software](https://keyholesoftware.com) is a custom development and software consulting firm comprised solely of elite, vetted employees who are as passionate as they are skilled. They build custom solutions that solve complex business problems and have a long track record of delivering on time and on budget. Key technologies utilized include Java, .NET, JavaScript, Cloud, and others.
Create beautiful images of your code - imgsrc.shibu.dev
Tags: webdev, javascript, programming, react
Published: 2022-11-17 16:41:52

Hi Devs,

I developed new website [imgsrc.shibu.dev](https://imgsrc.shibu.dev/). The main purpose is to create beautiful images from code. I did my best in the project. If you have any suggestions and feedbacks about the project, kindly let me know. Thanks.
TIL: Bash - Redirect Errors (stderr) to other files
Tags: bash, todayilearned
Published: 2022-11-17 16:37:40

Today I learned that, when **redirecting output** to a file in **bash**, you can specify where you want to redirect the `stdout` and `stderr`.

## Redirecting in bash

In bash you can use `>` to redirect output of a command to a file. A basic example would be this:

```bash
$ echo "Hello World" > hello.txt
```

This will redirect the output of the `echo` command to the file. As a result, it will create a `hello.txt` file with the content `Hello World`.

The `cat` command prints the content of a file to the terminal. Hence

```
$ cat foo.txt > new.txt
```

will create a file called `new.txt` with the content of `foo.txt`. However, if foo.txt does not exist, it will prompt you with an error and create a file without content. Why?

```
$ cat foo.txt > hello.txt
$ cat: foo.txt: No such file or directory
```

The reason for this is that the command differentiates between the handles `stdout` and `stderr`. Per default it only redirects `stdout`.

## Explicitly redirecting

In order to redirect the output explicitly you have to prepend `>` with either `1` or `2`. `1` standing for `stdout` and `2` for `stderr`. E.g.

```
$ cat foo.txt 1> hello.txt 2> error.txt
```

This command will now redirect all `stdout` to `hello.txt` and all errors to `error.txt`.

As long as you are only working with one file, this might not be very helpful. However, if you loop over files in a directory it might be a different story.

If you find any mistakes or want to add something, don´t hesitate to leave a comment!