teleren/devto huggingface dataset:
The benefit of combining RPA with Machine Learning
Published: 2020-11-19 14:57:28

[Robotic process automation](https://fastpathautomation.com/) (RPA) is likely to be the year’s most popular term in the tech world. And for a great reason. [RPA](https://fastpathautomation.com/) is an innovative technology, that automates business processes using software robots that perform repetitive and monotonous tasks, their susceptibility to error is zero.
It’s like magic!
Due to robots, the employee no longer needs to waste time performing manual activities that are nerve-wracking and time-consuming. Software robots make relieved, happy workers that have additional time for tasks that actually matter, to improve the work outcome, adding a pinch of value to the employees' daily life.

None the less, RPA has already proven to be an effective and intelligent driver that pushes digital transformation in businesses by increasing productivity, reducing cost, and finally resulting in revenue and business development. Hence, RPA is more than just a buzzword, which is why its market size is expected to reach $3.97 billion by 2025.

How can we make RPA intelligent?
We learned that software robots automate repetitive and routine tasks, thereby significantly increasing employee productivity and customer satisfaction.
But these robots can’t make decisions or draw any conclusion on their own, they are not smart. This is where machine learning (ML) comes in.
Linking machine learning with RPA is meaningful if business automation is pursued in an integrated and strategic manner. To automate business processes efficiently, future-oriented, and strategically, combining both technologies is essential.
By infusing intelligence into RPA, hence mixing machine learning capacities with process automation, we could design an advanced type of RPA, a software robot which can analyze, comprehend, and draw conclusions from both structured and unstructured information. This effective symbiosis is consequently able not merely to process, but effectively utilize data. This recently created smart RPA assesses data before acting on it, continuously learns from information, becomes smarter over time, makes smart decisions based on previous learning.
Therefore, automating processes with the support of both RPA and ML especially makes sense whenever an enormous number of data has to be processed, analyzed, compared, and structured. While ML covers the job of learning and thinking, RPA executes. ML functionalities that come to perform in relationship with RPA are, for example, technology like speech and image recognition or record information extraction.
In conclusion, combining these two advanced technologies will only enhance any process in any business, with incredible results in satisfaction (company, employees, clients), increased revenue, and productivity.
How to remove URLs from Google (quickly)
Tags: google, seo
Published: 2020-11-19 14:05:19

We've all been there probably — Google indexed URLs, which should have NEVER been indexed.

Maybe it a staging environment got indexed, a site got hacked and a bunch of dodgy pages popped up in Google Search, sensitive information like an acquisition or merger was accidentally published.

Or, you're going all Marie Kondo on your content and you've started removing and merging old content.

Regardless  of the situation, you want to dictate what picture Google paints. Right away.

Because every situation is different, the steps you need to to take to get Google to remove your URLs are different.

I've identified the most common reasons to remove URLs from Google, and documented what to do in great detail.

Check out the article here: [How to Remove URLs from Google Search in a Snap!](https://www.contentkingapp.com/academy/google-remove-urls/)
Setup VS Code for Elixir IEX editor
Tags: elixir
Published: 2020-11-19 13:32:31

iex มีคำสั่ง `open` ช่วยให้เราเปิดไฟล์ของ module ด้วย editor ที่เรากำหนดให้กับ environment variable ที่ชื่อว่า `ELIXIR_EDITOR` ได้ และ ถ้า editor ที่เราใช้รองรับการสั่งผ่าน command line ให้เปิดแล้ววิ่งไปที่บรรทัดที่ต้องการได้เลย ก็สามารถ กำหนด option เลขบรรทัดได้อีกด้วย

สำหรับผมที่ใช้ VSCode ก็จะใช้คำสั่ง `code` ในสั่งผ่าน command line ให้เปิด VSCode แล้วใช้ option -g เพื่อระบุไฟล์พร้อมเลขบรรทัด โดยกำหนดให้กับ env `ELIXIR_EDITOR` แบบนี้

```
export ELIXIR_EDITOR="code -g __FILE__:__LINE__"
```

ผมใช้ Bash shell ถ้าใครใช้ shell ตัวอื่นก็อาจกำหนดคนละแบบ

หลังจากนั้นเวลาใช้ iex เราอยากเปิดดูโค้ดของ Module ไหน หรือ function ไหนก็สั่งได้แบบนี้ เช่นจะดูโค้ดของ Map.fetch

```
> open(Map.fetch)
```
[Discuss] 10 React security best practices
Tags: discuss, cheatsheet, react, javascript
Published: 2020-11-19 13:05:14

---
title: [Discuss] 10 React security best practices
published: true
description: react security
tags: #discuss #cheatsheet #reactjs #javascript
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/9f25v6kx3pc2imc81kdd.png
---

Looking for the best ways to secure your React app? Then you’ve come to the right place!

![10 React security best practices](https://dev-to-uploads.s3.amazonaws.com/i/sdeovfpjo0tjg0ztwrb1.png)

We've created a checklist of [React security](https://snyk.co/reactjs-security-cheat-sheet) best practices to help you and your team find and fix security issues in your React applications. I’ll show you how to automatically test your React code for security-related errors and automatically fix them.

Check out the [React Security](https://snyk.co/reactjs-security-cheat-sheet) blog post
Download the [10 React security best practices](https://snyk.co/react-js-javascript-security-cheat-sheet-download) cheat sheet

Definitely make sure to reach out and let us know which was news to you, and of course feel free to ask questions.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/9f25v6kx3pc2imc81kdd.png)
Daily Developer Jokes - Thursday, Nov 19, 2020
Tags: jokes, dailydeveloperjokes
Published: 2020-11-19 13:00:14

---
title: "Daily Developer Jokes - Thursday, Nov 19, 2020"
description: "Check out today's daily developer joke! (a project by Fred Adams at xtrp.io)"
series: "Daily Developer Jokes"
cover_image: "https://private.xtrp.io/projects/DailyDeveloperJokes/thumbnail_generator/?date=Thursday%2C%20Nov%2019%2C%202020"
published: true
tags: #jokes, #dailydeveloperjokes
---

Generated by Daily Developer Jokes, a project by [Fred Adams](https://xtrp.io/) ([@xtrp](https://dev.to/xtrp) on DEV)

___Read about Daily Developer Jokes on [this blog post](https://xtrp.io/blog/2020/01/12/daily-jokes-bot-release/), and check out the [Daily Developer Jokes Website](https://dailydeveloperjokes.github.io/).___
### Today's Joke is...
![Joke Image](https://private.xtrp.io/projects/DailyDeveloperJokes/public_image_server/images/5e1258fbc6e41.png)

---
*Have a joke idea for a future post? Email ___[xtrp@xtrp.io](mailto:xtrp@xtrp.io)___ with your suggestions!*

*This joke comes from [Dad-Jokes GitHub Repo by Wes Bos](https://github.com/wesbos/dad-jokes) (thank you!), whose owner has given me permission to use this joke with credit.*

<!-- 
Joke text:
___Q:___ You know what the best thing about booleans is?

___A:___ Even if you are wrong, you are only off by a bit.
 -->
Top Accounting Apps with Quickwork

Tags: accounting, apps, automation, saas
Published: 2020-11-19 12:51:24

Some of the top accounting apps with Quickwork:

**1. QuickBooks Online:** QuickBooks Online is the web version of the popular accounting packages QuickBooks. Use any Zapier integration to connect QuickBooks Online to hundreds of other apps.

**2. FreshBooks Classic:** FreshBooks Classic is a simple web-based software for tracking time, organizing expenses, and invoicing clients.

**3. Zoho Books:** Zoho Books is cloud-based accounting software in which you can record, audit, and analyze all financial transactions easily. With secure data storage, easy navigation, and customizable features, Zoho Books provide a head start in accounting for small businesses.

You can view the app directory here - https://quickwork.co/product/app-directory
You can start integrating different apps here: https://automation.quickwork.co/#/
Top Commerce Apps with Quickwork

Tags: commerce, automation, api
Published: 2020-11-19 12:49:49

Quickwork is a no-code, API-based, enterprise-grade, SaaS platform with 1,000s of pre-integrated apps to automate various business and consumer workflows.

Some of the top commerce apps which you can use with Quickwork are: 

**Stripe**: Stripe is a developer-friendly way to accept payments online and in mobile apps. Stripe's suite of APIs powers commerce for thousands of companies of all sizes, processing billions of dollars for businesses each year.

**Shopify**: Shopify is a simple way to create an online store to list products, collect credit card payments, and ship your goods.

**QuickBooks Online**: QuickBooks Online is the web version of the popular accounting packages QuickBooks. Use any Zapier integration to connect QuickBooks Online to hundreds of other apps.

**WooCommerce**: WooCommerce is the eCommerce platform for WordPress. This connection requires a paid extension.

**PayPal**: PayPal is a fast, safe way to send money, make an online payment, receive money, or set up a merchant account.

You can view the app directory here - https://quickwork.co/product/app-directory

You can start integrating different apps here: https://automation.quickwork.co/#/
What is Duck typing in Python
Tags: python, programming, datascience, coding
Published: 2020-11-19 12:42:11

Duck typing got it's name from [Duck test](https://en.wikipedia.org/wiki/Duck_test)-_"If it walks like a duck and it quacks like a duck, then it must be a duck"._

In python (and other dynamically typed languages)it doesn't matter what is the type of object what matters is that what it do.
```
class Elephant:
    def fly(self):
        print("Elephant is flying")


class Duck:
    def fly(self):
        print("Duck is flying")
```
Take the two objects elephant and duck with same method `fly`.Let us create a function `animal_flying` that makes the animal fly.

```
def animal_flying(animal):
    animal.fly()
animal_flying(Duck())
animal_flying(Elephant())
```
__[Output]:__
```
Elephant is flying
Duck is flying
```

The function makes both duck and elephant fly without checking there type as both have the fly method, and this feature of using a object depending upon the methods it has irrespective of its type  is called __Duck typing__.
New benchmark: Mezon Router VS Phroute
Published: 2020-11-19 12:39:52

Hello all! The time I shall compare Phroute with Mezon Router.

As usual we have two cases:

1. http server accepts request, launches php script, which handles this request, and then all script data uploads from memory. All following requests are processed in the same way. In this case very critical to launch script as soon as possible and we do not have time for long pre-compilations and preparations. Because all of it will be lost after the script will finish working;
2. php script is launching, initiating all internal components (and router is one of them) and then starting processing requests. This case can be organized via for example react-php. It differs from the previous case because we can spend reasonable time to pre-compile routes for faster processing.

# First case

```php
// static routes
for ($i = 0; $i < \Mezon\Benchmark\Base::$iterationsAmount; $i ++) {
    $router = \Mezon\Benchmark\RouteGenerator::generatePhrouteStaticRoutes(1000);

    $router->dispatch('GET', parse_url('/static/' . rand(0, 1000 - 1), PHP_URL_PATH));
}
```

```php
// non-static routes
for ($i = 0; $i < \Mezon\Benchmark\Base::$iterationsAmount; $i ++) {
    $router = \Mezon\Benchmark\RouteGenerator::generatePhrouteNonStaticRoutes(1000);

    $router->dispatch('GET', parse_url('/param/' . rand(0, 1000 - 1) . '/1', PHP_URL_PATH));
 }
```

# Second case

```php
// static routes
$router = \Mezon\Benchmark\RouteGenerator::generatePhrouteStaticRoutes(1000);

$startTime = microtime(true);
for ($i = 0; $i < \Mezon\Benchmark\Base::$iterationsAmount; $i ++) {
    $router->dispatch('GET', parse_url('/static/' . rand(0, 1000 - 1), PHP_URL_PATH));
}
return microtime(true) - $startTime;
```

```php
// non static routes
// non-static routes
$router = \Mezon\Benchmark\RouteGenerator::generatePhrouteNonStaticRoutes(1000);

$startTime = microtime(true);
for ($i = 0; $i < \Mezon\Benchmark\Base::$iterationsAmount; $i ++) {
    $router->dispatch('GET', parse_url('/param/' . rand(0, 1000 - 1) . '/1', PHP_URL_PATH));
}
return microtime(true) - $startTime;
```

# Results

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

As you can see Mezon router is almost in all cases is faster then Phroute.

# Learn more

More information can be found here:

[Twitter](https://twitter.com/mezonphp)
[Mezon Framework](https://github.com/alexdodonov/mezon)

# What is mezon/router?

mezon/router now is:

- framework for routing with **100% code coverage**
- **10.0 points** on scrutinizer-ci.com
- router is a part of the [Mezon Project](https://github.com/alexdodonov/mezon)

Repo on github.com: https://github.com/alexdodonov/mezon-router

# It will be great if you will contribute something to this project. Documentation, sharing the project in your social media, bug fixing, refactoring, or even **[submitting issue with question or feature request](https://github.com/alexdodonov/mezon-router/issues)**. Thanks anyway )
Remote work is our once-in-a-generation chance for rebalancing the economy
Tags: discuss, watercooler, career, remote
Published: 2020-11-19 12:32:39

Last week, Deutsche bank came up with an a very absurd suggestion of having a 5% privilege tax for remote workers. This is a very narrow view of the impact of remote work at scale and completely ignores a large-scale economy problem that can be fixed with remote working.

![](https://remote-tools-images.s3.amazonaws.com/Art_Of_Managing_Male_Final.png)

##The Problem: Regional inequality = Overcrowded & expensive metro cities

- Technological & economical forces fuelled the rise of cities and led to overcrowding over time.
[This study](https://voxeu.org/article/return-regional-inequality-europe-1900-today) of Europe from 1900 date shows that 1980 was a point of inflection after which the migration to big cities & the gap of regional inequality has only increased.
- Financial incentives from government or lower taxes to attract big employers hasn't really worked in spreading the population across smaller cities.

##The Solution: Large-scale migration from big cities to tier-2 cities & towns, thanks to remote work

- The sudden remoteness due to Covid19 has had a lasting impact on our way of working. This will over time lead to people dispersing from overcrowded, expensive cities to tier-2 cities & towns while keeping their good jobs.
- The shift would also be a more organic one compared to governments getting employers & individuals to move away from cities.

##Next steps for governments & local bodies:

Governments just need to act as catalysts and make more the move easier & more lucrative. This can be by:
1. Ensuring availability of fast broadband internet
2. Setting up & repairing basic public services, thus creating a good place to live & raise a family.
3. Setting up co-working spaces & mobile offices.
4. One-time incentive or bonus if people make the move from cities to towns.
5. Rubbishing claims of any kind of tax or pay cuts for working remotely (no-brainer, but just calling it out).

Take for example, [Tulsa Remote](https://tulsaremote.com). This is a great example of the success that the local governments have seen by implementing good remote work programs.

Regional inequality poses huge problems and we have got this one chance in many decades to actually fix it. Do tell me what you think of this in the comments.

**I write regularly about remote work, tech & startups on [Twitter](https://twitter.com/hrishiptweets). You can [follow my updates there](https://twitter.com/intent/user?screen_name=hrishiptweets).**
Productivity Hacks for Developers
Tags: productivity, programming, tips
Published: 2020-11-19 12:16:38

## 1. Minimize Distraction
Just imagine You and your PC + internet are locked in one room. Yes, it becomes a better place to work without any disturbance.

So, find a quiet place to do work or learn something. Because your mind gets to focus on that thing only.

## 2. Make Plan
First, prepare a plan before starting any project or work. Split the task and allocate the time to every task according to you.

Also, prepare a To-do list daily and write down the subtask to complete.

## 3. Take Breaks
Programming is the game of mind right. And your mind also needs some healthy food and Food for the mind is enough breaks.

If you work multiple hours without any breaks, it may lead to information overload, anxiety, and lower the quality of your work.

So, take a break and meet your crush (if possible), Do some exercise, spend a few hours with nature or do something that makes you feel better.

## 4. Master Your Tools
You should have a grasp of the tools that you are using for your work. Like, code editor, browser, terminal, etc.

Not only tools also must grasp on what programming language you’re using, framework and etc. technology.

## 5. Review Your Coding Habits
It’s great if you can ask someone else in your environment to have a look at your coding habits. You may receive helpful advice on what you can improve to be more efficient.

Read more hacks: https://www.codesnail.com/10-powerful-productivity-hacks-for-programmers/
Happy men's day!
Tags: watercooler
Published: 2020-11-19 12:13:40

---
title: Happy men's day!
published: True
description: men's day 2020
tags: watercooler
cover_image: https://images.thequint.com/thequint%2F2019-11%2F7725c41e-f484-4373-928b-a2eb73295358%2FiStock_1057095222.jpg?rect=0%2C0%2C1732%2C974&auto=format%2Ccompress&fmt=webp&w=700&dpr=1.0
---



Yeah, that's all. It's our day, enjoy it :)
Docker connect: permission denied [Solved] in Linux
Tags: docker
Published: 2020-11-19 11:54:42

## Problem

So you've got your docker up and running but on some day it says

```
Got permission denied while trying to connect to the
Docker daemon socket at unix:///var/run/docker.sock:
Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/images/json:
dial unix /var/run/docker.sock:
connect: permission denied
```

your user is already in `docker` group, so

```
sudo usermod -aG docker $USER
```

doesn't help

## Solution

Bad:

```
sudo chmod 777 /var/run/docker.sock
```

Good:

```
sudo setfacl --modify user:$USER:rw /var/run/docker.sock
```
Learning Functional 
Programming with JS
Tags: javascript, functional, programming
Published: 2020-11-19 11:36:07

## **What is functional programming?**
* a programming paradigm
* a coding style
* a mindset
* a sexy, buzz-wordy trend

## **Why functional JavaScript?**
* object-oriented JS gets tricky (prototypes? this ?!?)
* safer, easier to debug/maintain
* established community

> # **OK, let’s do it!**
> # **...how?**

## **Do everything with functions**
> input -> output

#### Not functional:
```javascript
var name = “Lakshya”;
var greeting = “Hi, I’m ”;
console.log(greeting + name);
=> “Hi, I’m Lakshya”
```
#### Functional:
```javascript
function greet(name) {
return “Hi, I’m ” + name;
}
greet(“Lakshya”);
=> “Hi, I’m Lakshya”
```
## **Avoid side effects**
> use “pure” functions

#### Not pure:
```javascript
var name = “Lakshya”;
function greet() {
console.log(“Hi, I’m ” + name);
}
```
#### Pure:
```javascript
function greet(name) {
return “Hi, I’m ” + name;
}
```
## **Use higher-order functions**
> functions can be inputs/outputs

```javascript
function makeAdjectifier(adjective) {
return function (string) {
     return adjective + “ ” + string;
   };
}
var coolifier = makeAdjectifier(“dev”);
coolifier(“to”);
  => “dev to”
```
## **Don’t iterate**
> use map, reduce, filter

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/0hhdkjq4hinlyld4j61r.PNG)
> Source: [https://www.datasciencecentral.com/forum/topics/what-is-map-reduce](https://www.datasciencecentral.com/forum/topics/what-is-map-reduce)

## **Avoid mutability**
> use immutable data

#### Mutation (bad!):
```javascript
var rooms = [“H1”, “H2”, “H3”];
rooms[2] = “H4”;
rooms;
=> ["H1", "H2", "H4"]
```
#### No mutation (good!):
```javascript
var rooms = [“H1”, “H2”, “H3”];
Var newRooms = rooms.map(function (rm) {
  if (rm == “H3”) { return “H4”; }
  else { return rm; }
});
newRooms; 
=> ["H1", "H2", "H4"]
rooms; 
=> ["H1", "H2", "H3"]
```
Do you prefer GraphQL over REST?
Tags: discuss, api, rest, graphql
Published: 2020-11-19 11:34:25

---
title: Do you prefer GraphQL over REST?
published: true
description: 
tags: discuss, api, rest, graphql
cover_image: https://nordicapis.com/wp-content/uploads/GraphQL-vs-REST-The-Consumers-Preference-e1587079180259.jpg
---
Over the years REST APIs have shown to be too inflexible to keep up with the rapidly changing requirements of the clients that access them.

GraphQL presented as a revolutionary new way to think about APIs, where instead of working with rigid server-defined endpoints, you can send queries to get exactly the data you’re looking for.

Do you prefer GraphQL over REST in your own projects?
What authentication libraries do you use?
Tags: discuss, security, auth
Published: 2020-11-19 11:16:56

---
title: What authentication libraries do you use?
published: true
description: 
tags: discuss, security, auth
cover_image: https://www.rocketwp.com.br/wp-content/uploads/2019/03/Plugins-Login-WordPress.jpeg
---
A crucial part of most full-stack apps is a proper Auth solution. 

The rule of thumb is usually not to reinvent the wheel and choose already existent solutions, actively maintained and tested by the community.

Some of the first ones that come to my mind are [Passport JS](http://www.passportjs.org/), [Permit](https://github.com/ianstormtaylor/permit), and [Grant](https://github.com/simov/grant). What libs do you use, when not writing auth from gound-up?
Deployed a Satoshi Dice on XinFin XDC Network
Tags: blockchain
Published: 2020-11-19 11:12:49

Anyone thinking of deploying a dice game check my Satoshi Dice #Smartcontract and deploy your #DApp on XinFin XDC Network as it is very easy, fast and cheap. Enjoy the extra earnings by deploying your applications on XDC Network.

Check the code here: 

`pragma solidity ^0.4.18;
contract SatoshiDice {
    struct Bet {
        address user;
        uint block;
        uint cap;
        uint amount; 
    }
    uint public constant FEE_NUMERATOR = 1;
    uint public constant FEE_DENOMINATOR = 100;
    uint public constant MAXIMUM_CAP = 100000;
    uint public constant MAXIMUM_BET_SIZE = 1e18;
    address owner;
    uint public counter = 0;
    mapping(uint => Bet) public bets;
    event BetPlaced(uint id, address user, uint cap, uint amount);
    event Roll(uint id, uint rolled);
    function SatoshiDice () public {
        owner = msg.sender;
    }
    function wager (uint cap) public payable {
        require(cap <= MAXIMUM_CAP);
        require(msg.value <= MAXIMUM_BET_SIZE);
        counter++;
        bets[counter] = Bet(msg.sender, block.number + 3, cap, msg.value);
        BetPlaced(counter, msg.sender, cap, msg.value);
    }
    function roll(uint id) public {
        Bet storage bet = bets[id];
        require(msg.sender == bet.user);
        require(block.number >= bet.block);
        require(block.number <= bet.block + 255);
        bytes32 random = keccak256(block.blockhash(bet.block), id);
        uint rolled = uint(random) % MAXIMUM_CAP;
        if (rolled < bet.cap) {
            uint payout = bet.amount * MAXIMUM_CAP / bet.cap;
            uint fee = payout * FEE_NUMERATOR / FEE_DENOMINATOR;
            payout -= fee;
            msg.sender.transfer(payout);
        }
    //    emit Roll(id, rolled);
    //    delete bets[id];
    }
    function fund () payable public {}

    function kill () public {
        require(msg.sender == owner);
        selfdestruct(owner);
    }
}`