teleren/devto huggingface dataset:
Rust Programming Language: Knows about Pros & Cons
Tags: rust, c, cpp, python
Published: 2020-10-19 13:25:00

What is Rust?

Rust is a multi-paradigm system programming language which performs C and C++ but with protection to cease the app developers shooting themselves in the foot. It is designed to keep the safety of the application in mind.

The Rust programming language allows the developer to write faster, more reliable software. High-level comfort design and low-level control are often at odds in programming language design; Rust objects that competition.

Rust programming language is used for game engines, operating systems, file systems, browser components and simulation engines for virtual reality.

How do I use it ?

With rust compiler not letting you break your program. Rust download through the rustup. Rustup is a command line tool for managing Rust versions and associated tools.

Why use Rust ?

Rust doesn’t have a runtime or a garbage collector. Rust programming is very fast and memory-efficient and it runs on embedded devices, and easily integrates with other languages.

It is also prone to a high level of control and performance.

Rust has significant documentation, a Powerful compiler with useful error messages, and top-notch tooling — an integrated package manager and build tool, smart multi-editor support with auto-completion and type inspections.

Rust’s rich type documentation system and ownership model guarantee memory-safety and thread-safety. Memory safety allows you to eliminate many classes of bugs while compiling time.

Learn more here pros & cons of Rust Programming Language: https://medium.com/@rlogicaltech/rust-programming-language-knows-about-pros-cons-da92391aa465
How to get User- email Id from hangout messages that are being sent to Rasa server after Rasa<->Google chat integration
Tags: discuss, help, rasa, chatbot
Published: 2020-10-19 13:00:16

I have integrated Rasa and google chat and able to receive a response in google chat. I am trying to get the user email id of every request I received from google chat. I am not sure how to get the user object from the response as mentioned in google chat API. It will be helpful if you can help me out.

Thanks a lot
List unique paths requested by popularity in NGINX logs (access.log)
Tags: nginx, logs, awk
Published: 2020-10-19 12:57:47

---
title: List unique paths requested by popularity in NGINX logs (access.log)
published: true
description: See what pages are the most popular on a site from NGINX access.log log files.
tags: nginx,logs,awk
---

We had a big pile of NGINX `access.log` files for our site and wanted to quickly know all of the unique paths that had been requested.

If your `access.log` file(s) follow a reasonably standard format that looks like this:

```
127.0.154.222 - - [19/Oct/2020:06:26:59 +0000] "GET / HTTP/1.1" 301 178 "-" "-"
```

.. then you can use this solution:

```
awk -F\" '{print $2}' access.log | awk '{print $2}' | sort | uniq -c | sort -g
```

The output will look like this:
```
[lots of stuff here]
    104 /xmlrpc.php
    114 /wp-includes/wlwmanifest.xml
    121 /robots.txt
    161 /feed/
    336 /
   3056 //xmlrpc.php
  53786 /wp-login.php
```

So what's going on?

`awk -F\" '{print $2}' access.log` splits each line on the first quotation mark and returns the second part.

`awk '{print $2}'` then skips the HTTP verb (GET/POST/PUT/etc.) and prints out the path (which follows the space after the HTTP verb).

`sort` sorts the output into groups of the same thing which..

`uniq -c` then turns into a list of the unique paths only. The `-c` prefixes the output with the number of non-unique lines.

`sort -g` then sorts the lines in numeric order.

Want the result in descending numeric order? Use `sort -gr` instead.
I created TypeScript ESLint Playground
Tags: typescript, eslint, playground, javascript
Published: 2020-10-19 12:56:17

Hi there 👋.
Sometimes I enjoyed contributing to the [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint) project. But it was tiring me to configure "typescript-eslint" for reproducing issues.

So I created a [web playground](https://yeonjuan.github.io/typescript-eslint-demo) for typescript eslint 🎉.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/syflv8hzmwjmiyvxn08e.png)
I think it would also be useful for someone trying to configure the "typescript-eslint" rule.
Feel free to give it a little Star or Issue :)-[Github repo](https://github.com/yeonjuan/typescript-eslint-demo)

# How did It make?

The biggest challenge was a bundling module that using node built-in modules (fs, path...)

When bundling typescript-eslint and eslint with webpack, it throws errors because it cannot bundle NodeJS Built-In modules (e.g. ’fs’, ‘path’)..

```
ERROR in ./node_modules/@eslint/eslintrc/lib/config-array-factory.js
Module not found: Error: Can't resolve 'fs' in '...project/node_modules/@eslint/eslintrc/lib'
```

So, I must handle them, especially. There are two cases I should care about.
  1. Module using NodeJS Built-Ins but unused on runtimes.
  2. Module using NodeJS Built-Ins and needed on runtimes.

## 1. Handing modules unused on runtimes

For the first case, I can use [webpack null-loader](https://webpack.js.org/loaders/null-loader/). It allows us to bundle some modules with an empty module.

We need to install null-loader

```
$ npm install null-loader --save-dev
```

Then added the loader to our webpack config. The webpack will load modules specified in `test` as an empty module. By that, we can avoid webpack errors.

```js
module.exports = {
  rules: [
    //...
    {
      test: [
        /\/eslint\/.*\/cli-engine/,
        // ...
      ],
      use: "null-loader"
    }
  ]
}
```
## 2. Handling modules used on runtimes

In this case, The  [NormalModuleReplacementPlugin](https://webpack.js.org/plugins/normal-module-replacement-plugin/) works. It allows us to replace some resources with custom resources. By it, I could replace modules with my custom ones.

* replacement module.

```js
// src/modules/globby.js - custom module
module.exports = {
  sync() {
    return ["./tsconfig.json"];
  },
};
```

* webpack.config.js

```js
const webpack = require('webpack');

module.exports = {
  //...
  plugins: [
    new webpack.NormalModuleReplacementPlugin(
      /globby/, // target module
      "src/modules/globby.js" // custom module
    ),
  ]
}
```

You can check all code on [github repo](https://github.com/yeonjuan/typescript-eslint-demo). Thanks for reading :)
Hacktoberfest Completed 2020
Tags: hacktoberfest
Published: 2020-10-19 12:54:20

## What I Learned From Hacktoberfest

This is my first hacktoberfest event ever and it was awesome. Due to my excitement, I made 3 Pull Request on the 1st of October (not spams BTW). 

I know right, that's funny, well all 3 Pull Request weren't merged because I was making changes unknowingly to me, to package.json file that weren't supposed to be changed (increase in version numbers).

But, what I've learnt is the process it entails to contribute to a project. I learnt how to created my own issues due to a problem I'll like to fix or to be fixed by others. Then sync projects to my local repository. The steps of making a good Pull Request.

Through all these processes involved with contributing, I've got familiar and comfortable with git and GitHub.

So if you're thinking, if you should contribute or not, you should TOTALLY contribute.

<!-- What did you learn that can help others contribute to the project you worked on? What did you learn that can help the users of that project?! -->
#HACKTOBERFEST
Tags: hacktoberfest, opensource, contributorswanted
Published: 2020-10-19 12:46:40

##Successfully completed Hacktoberfest 2020 challenge.
This is the very first time that I have contributed to open source repositories.
I was new to Git and GitHub, I am very happy that I could learn Git and use those commands in contributing to different repos.
I thank DigitalOcean for providing this opportunity and help us grow.
Overall this was a great journey looking forward to contribute consistently.

So, successfully completed Hacktoberfest....... Thanks @DigitalOcean
Outil Lotus Notes vers Outlook pour convertir NSF en PST avec e-mail, contacts, calendrier
Published: 2020-10-19 12:41:55

Lotus Notes to Outlook convertisseur est une application de transfert de courrier électronique fiable et sécurisée pour envoyer des enveloppes de boîte aux lettres Lotus Notes à Outlook. Sélectionnez le de <b><a href="https://www.gaintools.com/nsf/pst/">NSF vers PST conversion logiciel</a></b> pour comprendre le fonctionnement de l'application et les faits saillants avant d'acheter la version d'autorisation de l'utilitaire.

De nos jours, Lotus Notes vers Outlook est devenu une tâche de changement typique. Les deux sont des applications de messagerie bien connues et largement utilisées pour échanger des informations en commençant par un endroit puis par le suivant.

De plus, Lotus Notes peut être utilisé avec différentes bases d'informations et applications Domino. Il épargne tous les messages, contacts et autres données dans un enregistrement .nsf.

Le point de vue, d'autre part, a également parlé en tant que gestionnaire des informations personnelles. C'est un aspect de la suite Microsoft Office. La plus grande partie de 1 000 000 de la population utilise l'application Outlook pour envoyer / obtenir des informations en commençant par un endroit puis au suivant. Il aide à superviser les messages, les carnets d'adresses, les horaires, les affectations, les enregistrements, les archives, les agendas et différentes choses sur le disque dur. De même, il fait un organisateur PST solitaire pour stocker la base d'informations connectée, par exemple, les contacts, les messages, les horaires, etc.

<b>Fin:</b>

Deux techniques pour envoyer des organisateurs Lotus Notes à Outlook avec des messages, des contacts et des horaires. La stratégie manuelle est acceptable à exécuter, quels que soient les inconvénients qui y sont liés. L'arrangement extérieur est une méthodologie immédiate et sécurisée par rapport à la stratégie manuelle de transformation de Lotus Notes vers Outlook. Découvrez le fonctionnement du produit en téléchargeant la démo gratuite de l'instrument qui permet d'échanger un premier 10 NSF en PST sans coût.
Getting Started with Go (Golang) - Free Mini-Series
Tags: codequality, go, 100daysofcode, codenewbie
Published: 2020-10-19 12:41:08

Hi all!

I created a free YouTube getting started mini-course on Go. I do have a ton of other Go content on YouTube, but if you're just starting out, definitely feel free to check it out :)

[Go Getting Started](https://www.youtube.com/watch?v=P8Jx3f01igA&list=PL8iDDHqmj1oUHd2g0iYWHmNLSZPVdigC_)
Intro to HTML,CSS & SCSS
Published: 2020-10-19 12:40:24



**Hey there,** I'm writing this article to help others, especially beginners gain their ground in coding. So, if you are a beginner then this article is definitely for you. Now lets get started

### What is HTML?;
 HTML is an acronym for hypertext markup language. It allows the user to create and structure sections, paragraphs, headings, links, and blockquotes for web pages and applications.

HTML is not a programming language, meaning it doesn’t have the ability to create dynamic functionality. Instead, it makes it possible to organize and format documents, similarly to Microsoft Word. 

### And CSS?;
CSS stands for Cascading Style Sheets. CSS describes how HTML elements are to be displayed on screen, paper, or in other media
CSS saves a lot of work. It can control the layout of multiple web pages all at once

### Now let's talk about SCSS;
you guessing that is also an acronym? yeah you are correct.
SCSS is also an acronym Sassy Cascading Style Sheets.

SCSS can be separated by a semicolon and run on the same line. SCSS is a preprocessor which lets you use features that aren’t a part of the wider CSS standard yet, and provides better workflows for maintaining your stylesheets.

With SCSS preprocessor, you can reduce the amount of times you repeat yourself and ensure you’re writing clean, maintainable code for the future.

SCSS is fully compatible with the syntax of CSS, while still supporting the full power of Sass.

SCSS is an extension of the syntax of CSS. This means that every valid CSS stylesheet is a valid SCSS file with the same meaning.
 
In addition, SCSS understands most CSS hacks and vendor-specific syntax, such as IE's old filter syntax. This syntax is enhanced with the Sass features described below. Files using this syntax have the .scss extension.

Dry (don't repeat yourself) code is much better then wet code (write every time). Let me tell you this, SCSS is not one of the basics of writing codes(the basics are HTML, CSS and Javascript) but just as I stated earlier, is a more advanced and powerful CSS that makes you add more styles to your CSS file.

I'm including SCSS in this post because learning SCSS is synonymous to forging a sword out of an iron rod. SCSS gives you more power and gives you an edge over a normal CSS file for multiple base files can be imported and accessed by the browser without having to make multiple request to the server while reading 2 or more CSS files. In other words, many CSS files can be combined in one SCSS file and processed by the server at once.

I hope with this few words of mine, I've been able to help you gain some knowledge on the basics of HTML. my next post will be on Javascript , one of the foundational basics of coding which is used to add functionality and dynamics to a webpage.

Talk to you later but until then, have a nice time.
How I failed to write a perfect dice throw simulator and how that is totally OK
Tags: development, javascript, fun
Published: 2020-10-19 12:32:12

---
title: How I failed to write a perfect dice throw simulator and how that is totally OK

published: true
description: I just wrote a fun project and got predictable feedback that it could be better. 
tags: development,javascript,fun
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/wzwdjycysg3piu9aiwzz.jpg
---

Yesterday we wanted to play some dice games and I realised I had none in my house. So I spent a bit of time on developing a [Dice Throw Simulator](https://codepo8.github.io/dice-throw-simulator/index.html)

<a href="https://codepo8.github.io/dice-throw-simulator/index.html">![A dice throw simulator in the browser](https://dev-to-uploads.s3.amazonaws.com/i/ty0s5npfcnl3890h2nhz.gif)</a>

The [code is also available on GitHub](https://github.com/codepo8/dice-throw-simulator/) and probably nothing to win a job interview with, but it was fun to do, and hopefully you'll also find it at least interesting.

The fascinating bit to me about doing something like this is the predictability of responses. The biggest thing developers love to get riled up about is that `Math.random()` doesn't really give you any proper random results. The next bit that always comes is why I didn't use a 3D library to make some really cool 3D rolling dice. All of this has been discussed to death quite some time ago, so here is why I developed yet another dice simulation that is horribly flawed.

* It was fun! 
* I got myself more familiar with vw sizing and flexbox doing it 
* I found out the Firefox is OK with translate values not having a comma in between them whereas Chromium complains
* I once again fell in love with [focus-within](https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-within) and labels automatically connecting huge screen estate with a tiny checkbox
* I really like how powerful JavaScript is these days. Gone is the need to test if something is supported and how. I find myself using a lot less if statements than ever
* Using GitHub and GitHub Pages means I don't need to spend any money on hosting 
* I wanted a way to lock some dice in and re-throw, much like you would when you leave them out of the cup to get to a certain goal. Both [Google's excellent solution](https://www.google.com/search?q=roll+dice) and [Random.org's much more random solution](https://www.random.org/dice/) don't have that feature. 
* None of these can ever replace the fun that is throwing some physical dice around a cup and tilting it over. Or learning about new parts of your flat when once again one of them rolled off the table.

Do you also want to code something just for fun? Do it! Don't get discouraged by people who always know a way to make it better - that's the easy part.

<span>Photo by <a href="https://unsplash.com/@rihok?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Riho Kroll</a> on <a href="https://unsplash.com/?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></span>
How to Select or Omit Properties From an Object in JavaScript
Tags: javascript, node, programming, webdev
Published: 2020-10-19 12:30:52

---
title: How to Select or Omit Properties From an Object in JavaScript
published: true
description: Selecting or omitting properties from a JavaScript object is a fairly common problem without a built-in solution.
tags: javascript, node, programming, webdev
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/vsz15s0128gxoyyy1ai3.jpg
canonical_url: https://typeofnan.dev/how-to-select-or-omit-properties-from-an-object-in-javascript/
---

Selecting or omitting properties from a JavaScript object is a fairly common problem without a built-in solution. In this post, we're going to roll our own `pick` and `omit` utility functions to help us accomplish these goals.

<hr />

### If you enjoy this tutorial, please give it a 💓, 🦄, or 🔖 and consider:

📬 signing up for [my free weekly dev newsletter](https://buttondown.email/devtuts)
🎥 subscribing to [my free YouTube dev channel](https://www.youtube.com/c/devtutsco?sub_confirmation=1)

<hr />

# Selecting Properties from an Object

If we want to select any number of properties from a JavaScript object, we can implement the following `pick` function:

```javascript
function pick(obj, ...props) {
  return props.reduce(function(result, prop) {
    result[prop] = obj[prop];
    return result;
  }, {});
}
```

Let's see this in action! Our first argument to the `pick` function will be the object we want to pick from and the subsequent arguments will the the names of the keys we want to keep.

```javascript
const person = {
  name: 'Pete',
  dog: 'Daffodil',
  cat: 'Omar',
};

const dogPerson = pick(person, 'name', 'dog');

console.log(dogPerson);
// { name: "Pete", dog: "Daffodil" }
```

We see that by providing the `person` object as the first argument and then the strings `"name"` and `"dog"` as the subsequent arguments, we're able to retain the `"name"` and `"dog"` props from our object while disregarding the `"cat"` prop.

# Omitting Properties From an Object

If we want to omit any number of properties from a JavaScript object, we can implement the following `omit` function:

```javascript
function omit(obj, ...props) {
  const result = { ...obj };
  props.forEach(function(prop) {
    delete result[prop];
  });
  return result;
}
```

Again, let's use the same `person` object to see this in action.

```javascript
const person = {
  name: 'Pete',
  dog: 'Daffodil',
  cat: 'Omar',
};

const catPerson = omit(person, 'dog');

console.log(catPerson);
// { name: "Pete", cat: "Omar" }
```

We can see that, by providing our `person` object as the first argument and the string `"dog"` as the second argument, we're able to get a new object with the `"dog"` property omitted!![brienne-hong-xEPMg4qfjOs-unsplash (1)](https://dev-to-uploads.s3.amazonaws.com/i/enu9zgpltiskocd6o7lp.jpg)
The Best Password Managers
Tags: productivity, startup
Published: 2020-10-19 12:25:31

Password managers are essential tools for navigating the contemporary online world. With the increasing importance of personal information security, integrating such a tool into your online routine is way overdue.

This article will brief you on the importance of password managers in 2020 while giving an overview of 15 of the [best password managers](https://launchberg.com/best-password-managers/) compared:

1Password
NordPass
LastPass
Dashlane
EnPass
Keeper
Keepass
Bitwarden
LogMeOnce
Sticky Password
RoboForm
Chrome Password Manager
Firefox Password Manager
Avast Password Manager
Avira Password Manager

Now read on to get an overview of the best password managers:
https://launchberg.com/best-password-managers/

So, what is the best password manager?
According to most password manager reviews and our opinion, hands-down 1Password beats out all the competition and is the [best password manager app](https://launchberg.com/best-password-managers/) in terms of security, usability, and features. But depending on your budget and your needs, another password manager might fit better for you.
How to Select Cells with Error Values in Excel Office 365?
Tags: kutoolsexceltutorial, selectcellswitherror, kutools
Published: 2020-10-20 12:10:53

---
title: How to Select Cells with Error Values in Excel Office 365?
published: true
date: 2020-10-19 12:14:02 UTC
tags: KutoolsExcelTutorial,SelectCellswithError,Kutools
canonical_url: https://geekexcel.com/how-to-select-cells-with-error-values-in-excel-office-365/
---

In this article, we will explore how to **Select Cells with Error Values in Excel Office 365** using **Kutools.** Let’s get into this article!! Get an official version of MS Excel from the following link: **[https://www.microsoft.com/en-in/microsoft-365/excel](https://www.microsoft.com/en-in/microsoft-365/excel)**

**Note:** [kutools for Excel](https://geekexcel.com/get-kutools-for-ms-excel-2019-2016-2013-2010-2007-office-365/) has more than 180 features which are used to complete the difficult task with several clicks. If you want to use Kutools, you need to install it from Excel’s official website.

## Select Cell with Error Value in Excel:

To select cells that contain error value in the spreadsheet, you need to follow the below steps.

- You need to **select or highlight the range** where you want to select the error values.

![Example range](https://eadn-wc04-371788.nxedge.io/cdn/wp-content/uploads/2020/10/Example-range-1.png)<figcaption id="caption-attachment-16025">Example range</figcaption>

- On the **Kutools Tab, click** the **Select** option, **choose** the **Select Cells With Error Value** option from the drop-down list.

![Select Cells with Error Value](https://eadn-wc04-371788.nxedge.io/cdn/wp-content/uploads/2020/10/Select-Cells-with-Error-Values.png)<figcaption id="caption-attachment-16027">Select Cells with Error Value</figcaption>

- Now, **Kutools for Excel dialog box** will pop-out to show you the selected error values from the range.

![Kutools for Excel dialog box](https://eadn-wc04-371788.nxedge.io/cdn/wp-content/uploads/2020/10/Kutools-for-Excel-dialog-box-2.png)<figcaption id="caption-attachment-16028">Kutools for Excel dialog box</figcaption>

- You need to **click** the **OK** button to close this prompt box and get the result.

![Result](https://eadn-wc04-371788.nxedge.io/cdn/wp-content/uploads/2020/10/Result-27.png)<figcaption id="caption-attachment-16029">Result</figcaption>

## Closure:

In this article, you can quickly understand the steps to **Select Cells with Error Values in Excel Office 365** using **Kutools. ** Kindly, drop your **feedback** in the comment section. Thanks for visiting **[Geek Excel.](https://geekexcel.com/)** Keep Learning!

### Keep Reading:

- [How to Unmerge Cells and Fill Down Values in Excel Office 365?](https://geekexcel.com/how-to-unmerge-cells-and-fill-down-values-in-excel-office-365/)
- [Toggle All Hidden Columns to be Visible or Invisible in Excel 365!!](https://geekexcel.com/toggle-all-hidden-columns-to-be-visible-or-invisible-in-excel-365/)