teleren/devto huggingface dataset:
Top 5 harmful effects of malicious bot traffic
Published: 2022-01-31 15:49:05

Greetings, Indie Hackers! 

I've noticed that there's not much discussion going around here regarding bot protection and the effects that bots can have on a website. 

A website with non-existent or weak bot protection is at a high risk of suffering numerous negative consequences due to malicious bot traffic.

![BotMeNot_NegativeBotEffects](https://i.imgur.com/F6p33wn.png)

The most dangerous harmful effects that bot traffic can have on a website are:

1. **Crashing the website** - when a website crashes, its services become unavailable for its intended users. This happens most frequently when a website is a target of a DDoS (Distributed Denial of Service) attack. They occur by overwhelming a website with a large number of requests - much more than it can handle.

2. **Slowing down the website's response time** - in a way, this is a milder version of a scenario where your website completely crashes. However, as users are becoming less patient, it still poses a real and serious threat.

3. **Scraping content** - purposes of scraping content from a website are various. Gathering personal data, monitoring prices, or plagiarism - all these (and more) are a real risk for unprotected websites.

4. **Spamming** - many bots are developed to post promotional or some other type of unwanted content to various websites. Sometimes they are able to mimic human behavior extremely well, so it can be difficult to notice them.

5. **Faking orders** - this is especially significant for eCommerce websites. The purpose of this action is (in most cases) to check the stock levels of a certain product. However, the negative effect is that it can temporarily cause those products to be unavailable to people who genuinely want to make a purchase.

Interested in learning more about bot protection or even checking out by yourself how well a website is protected against bots?

Make sure to check out https://botmenot.com/
TIME equals MONEY
Tags: discuss, personal, improvement, money
Published: 2022-01-31 15:43:59

---
title: TIME equals MONEY
published: true
description: Time is our most valuable non-renewable resource, and if we want to treat it with respect, we need to set priorities.
tags: discuss, personal, improvement, money
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xazkhv3o46e33iup615i.jpg
---

_Originally published on [my blog](https://www.nikola-breznjak.com/blog/daily-thoughts/time-equals-money/)._

You've probably already heard that time is your most precious token. No, I'm not talking about crypto here - although, funnily enough, there's also a token named like that, which is also not doing really well lately 🤦, but I digress...

Anyways, as the physicist, Albert-László Barabási once wrote:

> “Time is our most valuable non-renewable resource, and if we want to treat it with respect, we need to set priorities.”

I came across an interesting concept by several authors (here's just one [for example](https://signalvnoise.com/posts/1692-how-much-is-watching-tv-costing-you)) where they suggest that you calculate your hourly rate, and see how much does watching TV cost you. If you do that, you may realize that you're throwing away several tens of thousands of dollars per year (logically, the more you make, the more you lose). And, that just may get you to rethink how you're spending your time. I wrote about why using [TV as a news source](https://www.nikola-breznjak.com/blog/daily-thoughts/yagni-news/) is not the best idea and how [To-Do Lists](https://www.nikola-breznjak.com/blog/daily-thoughts/to-do-lists/) may help you in setting your priorities.

So, TL;DR: invest time in that which is most important to you. And, I'll also say this, because [there is no balance](https://www.nikola-breznjak.com/blog/daily-thoughts/balance): if at this point in your life most of your time goes to work, so be it - make the most of it and don't feel bad about it.

---

This is [why I write](https://www.nikola-breznjak.com/blog/daily-thoughts/why-do-i-write-these-daily-thoughts-posts/) these 'daily thoughts' posts.
Using APIs to Fetch Data from Wikipedia
Tags: javascript, beginners, webdev
Published: 2022-01-31 15:28:38

APIs (Application Programming Interfaces) and microservices are changing the way companies implement IT systems. Many large organizations such as Amazon, Netflix, Uber, and many more are using hundreds of microservices in their systems. These microservices call on APIs to fetch data for a specific function. In this post, I will be using an IP/location API to query Wikipedia articles about my location. More information about microservices can be found [here](https://www.divante.com/blog/10-companies-that-implemented-the-microservice-architecture-and-paved-the-way-for-others)

## Fetching Data from an API

To begin fetching data from an API, you have to call on the API to go out and get the data. Once the data has been retrieved you can store it's data as a variable. So in this example, I am storing my coordinates, city, and state (regionName) as data from the API which I will later use to find my location in google maps and find Wikipedia articles about.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tgr6k6mqxlqueinx5uz4.png)


## Wikipedia Querying Using Another API

First, we need to import `'@lrnwebcomponents/wikipedia-query/wikipedia-query.js'` to be able to use this API. We also need to add its dependencies to the package.json file. After this is finished, we can call on the API to show us related articles to our current location. We can do this by entering the data that we stored as city and state so that the API can fetch an article about my location.This is done in the render function using HTML.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wgwpq3fv6o4007kmsoi9.png)


I used a hotspot from my phone so my location is not really where I was, but this is what it looks like when the web page is ran.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f2eu9m57zsncys70kzzy.png)
CSV record count not matching your source? 🙈 
Tags: csv, processing
Published: 2022-01-31 15:22:23

CSV record count not matching your source? You've probably got rouge carriage returns in the source data. If you're in MS Excel you can do a `Search and Replace` on the source data before saving as a CSV. 


###How To:
Search and Replace (in Excel). In the search box type `Ctrl + J` to insert a carriage return. It will look like there is nothing in the search box but its there. Click `Find All` to find and see all fields with carriage returns. To remove, simply click `Replace All`. 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nu3ylucp9w7vhy5g03sc.png)
Linha de Comando
Tags: git, beginners, tutorial
Published: 2022-01-31 15:14:39

Existem muitas maneiras de usar o git. Desde interfaces gráficas a linhas de comando(vamos aprender isso). A linha de comando é onde vamos executar a maiorias do comandos git - existe as ferramentas do GUI, mas traz um pequeno subconjunto de ferramentas necessários para produção, afinal... o que é GUI ? de uma forma bem resumida, o GUI é uma interface gráfica que traz algumas funcionalidades com ele, mais a frente vamos abordar ele, portanto, não se preocupe se não entendeu totalmente. Prosseguindo, se você souber as funcionalidades da linha de comando do prompt, provavelmente sabe utilizar o GUI, e isso já não acontece quando contrario, logo, temos como foco aprender todas as funcionalidades do git para que você domine essa ferramenta poderosa.

Portanto, espero que você já saiba ou já tenha tido contato com o prompt de comando ou powershell ou até mesmo no MacOS. Caso contrario procure alguns tutoriais básicos para sanar suas duvidas a prompt de comando e assim prosseguir com nossos estudos.
A Trip Down Memory Lane; How Game Hacking Became My Web Development Career
Tags: beginners, webdev, devjournal, career
Published: 2022-01-31 15:04:08

@kanishkkhurana asked what our first learned language was and has me feeling nostalgic :)

---

{% post kanishkkhurana/first-language-to-learn-4k2p %}

---

Thought I'd share those comments with everyone:

{% comment 1ll1n %}

{% comment 1ll39 %}

{% comment 1llbl %}

Head over to @kanishkkhurana's post and share your beginnings! 
There are several other unique stories that are worth reading in the comments too!
Fun!

// Jane 💜
Launching Multiple Processes with a Single Command in Rails
Tags: rails, ruby
Published: 2022-01-31 14:55:05

An application doesn't exist in isolation. Usually, it depends on other processes to work correctly, such as a database, JavaScript / CSS compilers, Redis, etc.

So far, whenever I started the Rails app, I launched these supporting processes in multiple terminal windows. This week, I learned a new way to do this using a single command using the [Foreman](https://github.com/ddollar/foreman) gem, which has saved me a lot of time.

Here's a simple way to achieve this, inspired by the [tailwindcss-rails](https://github.com/rails/tailwindcss-rails) gem.

**Step 1: Create an executable dev file in the bin/ directory**

```shell
cd bin
touch dev
chmod 755 bin/dev
```

**Step 2: Add Foreman script to your bin/dev file**

```shell
#!/usr/bin/env bash

if ! command -v foreman &> /dev/null
then
  echo "Installing foreman..."
  gem install foreman
fi

foreman start -f Procfile.dev
```

**Step 3: Add the procfile**

```ruby
web: bin/rails server -p 3000
css: bin/rails tailwindcss:watch
js: ..
mysql: ..
redis: ..
```

Now all you have to do is run the `bin/dev` command from the root of your rails application, and Foreman takes care of starting the processes listed in the Procfile. 

I hope that helps.
Deploying Vue.js App To Firebase Hosting in a minute
Tags: firebase, vuejs, programming, tutorial
Published: 2022-01-31 14:45:22

---
canonical_url: https://softauthor.com/deploy-vue-js-app-on-firebase-hosting/
---

###Create a Vue Project

{% youtube 3A57dcz8A8E %}

Go ahead and [create a brand new vue project](https://softauthor.com/getting-started-with-vue-js/) if you haven’t already done so. Once the project is created, the folder structure will look like this:

![alt text](https://softauthor.com/wp-content/uploads/2019/12/vue-project-folder-structure.png)

###Build The App
Once you’re ready to deploy… the first step is to build the app.

To build it, CD to your project on the Terminal and run.

```JavaScript
npm run build 
```

This will create a **dist** folder inside your project that has **index.html** and the static folder that may have **css** folder, **js** folder etc.

![alt text](https://softauthor.com/wp-content/uploads/2019/12/vue-build-dist-folder.png)

###Initialize Firebase

Install Firebase CLI.

```JavaScript
npm install -g firebase-tools
```

Then, run the login command.

```JavaScript
firebase login 
```

Once you’re logged in to firebase with the URL that was provided on the Terminal, initialize Firebase.

```JavaScript
firebase init
```

It will ask a series of questions:

• *Which Firebase CLI features do you want to set up for this folder?* → **hosting: Configure and deploy Firebase Hosting sites**

• *Please select an option*: **Use an existing project** (I would choose this option if I have a firebase project already created)

• *Select a default Firebase project for this directory* 😕 → **dist**  

Firebase defaults the project directory to public but our project build is in the dist folder. So, change to **dist** folder instead of **public**.

• *Configure as a single-page app (rewrite all urls to /index.html)?* → **Yes** (as it’s a single page app however all of the routes would work as expected).

>*Recommended* → [How to create a route in vue.js](https://softauthor.com/vue-js-create-a-route/)

• *File dist/index.html already exists. Overwrite?* → **No** (so that Firebase does not overwrite with default index.html file).

Then, you will get the ✔ Firebase initialization complete! message.

Finally, run it.

```JavaScript
firebase deploy
```

This will give a hosting URL where you can see the vue app live. 🙂
How to Install and Configure Jenkins? | Jenkins Tutorials | Part II
Tags: javascript, beginners, jenkins, tutorial
Published: 2022-01-31 14:33:48

{% youtube 8Qzp9KhvCkM %}

This is Part II of the Jenkins LambdaTest Tutorial series wherein Moss(@tech_with_moss), a DevOps engineer, explains Jenkins, practically showcasing Jenkins installation, its configuration using a WAR file. 

It will help you learn how to run Jenkins from a web application resource file ( a WAR file), Jenkins as a docker container from a docker image, and install Jenkins on Windows using a Windows executable file. Also, you can install it on Mac OS, installing it on many Linux distributions such as Redhat or Ubuntu. In this video, you will be running Jenkins from a WAR file because the WAR file is an operating system independent platform.  

You will also learn 🎫 -:
🔸What is Jenkins, and how do you configure it?
🔸How to manually install Jenkins?
🔸How to install and configure Jenkins?
🔸How to start Jenkins from the WAR file?
🔸Where is Jenkins WAR file?
🔸How to install Jenkins on Windows 10?
🔸How to install and configure Jenkins in Mac/Linux/Ubuntu?
What courses do you use to study minikube ,kubernetes for CKAD certification?
Tags: discuss, watercooler, kubernetes, containers
Published: 2022-01-31 14:26:29

I wanted to know what resources/videos/links do  you use for CKAD certification ?

Currently I am referring the kubernetes course from Tech with Nana which gives me a good start on fundamentals but would like to know more in depth from practical and certification point of view?

Also what projects or resources do you use to practice?
#AzureML – Sample 🐍 Python app using a WebCam to perform Image Analysis from an image classification AzureML HTTP REST Endpoint
Tags: englishpost, azuremachinelearning, codesample
Published: 2022-02-02 16:29:19

---
title: #AzureML – Sample 🐍 Python app using a WebCam to perform Image Analysis  from an image classification AzureML HTTP REST Endpoint
published: true
date: 2022-01-31 14:25:58 UTC
tags: EnglishPost,AzureMachineLearning,AzureMachineLearning,CodeSample
canonical_url: 
---

<!-- wp:paragraph -->
<p>Hi !</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>In my previous post I wrote</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><li>How to create a custom dataset with images to be used on a Azure Machine Learning Designer project. </li><li>How to use the custom data set and how to train an image classification model. </li><li>How to publish the model to be used as a WebService / HTTP REST endpoint.</li><li>How to consume the AzureML Webservice Endpoint from a python app using local files.</li></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Today's code sample is a twist on the previous sample, where we will use a WebCam to send frames to be analyzed by the AzureML Endpoint. And we will show the results online. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Just look at the code.</p>
<!-- /wp:paragraph -->


{% gist https://gist.github.com/elbruno/b9afa2d284794c6fad1e2a6d5ad1f57f %}

[Continue reading #AzureML – Sample 🐍 Python app using a WebCam to perform Image Analysis from an image classification AzureML HTTP REST Endpoint](https://elbruno.com/2022/01/31/azureml-sample-%f0%9f%90%8d-python-app-using-a-webcam-to-perform-image-analysis-from-an-image-classification-azureml-http-rest-endpoint/)
Best Abandoned Cart Recovery Plugins for WooCommerce
Published: 2022-01-31 14:13:31

_Is your WooCommerce store losing potential sale conversions due to cart abandonment?
Is cart abandonment the only thing that bothers you the most?_

Well, here is the absolute solution to recover all your lost sales. The post brings you with the list of the top 5 WordPress abandoned cart recovery plugins with which you can recover 100% of the abandoned sales. These best cart recovery plugins will show how the WooCommerce recover abandoned carts and successfully convert them into sales.


**1. Retainful - Free WooCommerce Abandoned Cart Recovery Plugin**

Retainful is one of the best WooCommerce abandoned cart recovery plugins. You can recover your abandoned carts and convert them into sales by sending a series of emails to customers. All of this can be done in simple steps, with no coding required.
Create your cart recovery campaign instantly using the workflow builder. By default, there will be three emails as part of your campaign, but you can add any number of abandoned cart reminder emails as per your intended sequence using predefined and user-defined cart recovery email templates.


**2. WooCommerce Recover Abandoned cart**

Customers abandon their carts for various reasons but it is essential to remind your customers in order to recover them and increase your sales. WooCommerce recover abandoned cart is the WooCommerce extension that helps in recovering the abandoned carts efficiently. The plugin works well in tracking both registered and guest users and notifies both regarding the abandoned carts.

The plugin notifies the customer regarding the unattended carts by notifying them through cart recovery emails. The abandoned cart recovery emails are sent with coupons which would urge customers to make immediate purchases to grab the discount.


**3. Hubspot for WooCommerce**

The plugin can segment and organize WooCommerce contacts with Hubspot smart list segmentation. The plugin automatically updates the smart list (groups and properties) in your Hubspot account based on the criteria configured by you. This WooCommerce abandoned cart recovery plugin can create a smart list, offers easy navigation with a central screen, enables automation and also sends customized marketing emails that help in more conversions.


**Referance Blog**
[https://www.gomahamaya.com/woocommerce-abandoned-cart-plugins/](https://www.gomahamaya.com/woocommerce-abandoned-cart-plugins/)
Pulling Strings with Typescript
Tags: typescript
Published: 2022-01-31 14:10:01

In the Typescript zoo, there are union types that are very helpful, specifically to narrow down strings :

```typescript
type size = 'small' | 'medium' | 'large';
```

This works well for known list of items, but for other types, one often use the common type `string`.

Could we do better ? Why should we do better ?

Let's start with some data :

```typescript
{
    const madrid: string = 'Madrid';
    const spain: string = 'Spain';
    const localisation = spain;
}
```

It's not clear whether the `localisation` has to be a city or a country, so let's try to define some type :

```typescript
{
    type City = string
    const madrid: City = 'Madrid';
    type Country = string;
    const spain: Country = 'Spain';
    const localisation: Country = spain;
    const localisation2: Country = madrid; // 😵 oh no !!!
                                           // it passes...
    // well, Madrid is not a Country !
}
```

Above, defining a type `City` doesn't help ; Typescript just takes this type as an alias to `string`, therefore it won't enforce anything, except our intention (that makes the answer to the question : why should we do better ?)

Could we do better ? Yes : even if you have an open list of values, you may define a type by examples :

```typescript
{
    type City = 'London' | 'Paris' | '[any city]'
    const madrid: City = 'Madrid' as City;
    type Country = 'United-Kingdom' | 'France' | '[any country]';
    const spain: Country = 'Spain' as Country;
    const localisation: Country = spain;
    const localisation2: Country = madrid; // ❌ oh yes, it fails !!!
    // Typescript will say that a City
    // is not assignable to a Country
}
```

What is nice, is that your code can either take any data source with valid types as well as hard-coded data like in the example above : writing `'Spain' as Country` makes sense, `'Spain' as City` wouldn't.

This is a technique that I use and abuse because it prevents putting a string in another string when they are semantically unrelated. And believe me, it saves me from lots of runtime errors !

And it works for numbers too :

```typescript
/** Any HTTP port (other values are accepted
 * as long they are related to HTTP)
 */
type HttpPort = 80 | 8080 | 443 | 8443;
const port1: HttpPort = 8080; // ok, a known value
const port2: HttpPort = 8888 as HttpPort; // because I'm sure
```
Paracetamol.js💊| #37: Explica este código JavaScript
Tags: javascript, webdev, spanish, beginners
Published: 2022-01-31 14:07:59

## **Explica este código JavaScript**

```js
const value = { number: 10 };

const multiply = (x = { ...value }) => {
  console.log((x.number *= 2));
};

multiply();
multiply();
multiply(value);
multiply(value);
```

-     A: `20`, `40`, `80`, `160`
-     B: `20`, `40`, `20`, `40`
-     C: `20`, `20`, `20`, `40`
-     D: `NaN`, `NaN`, `20`, `40`

Respuesta en el primer comentario.

---
Best WooCommerce Product Comparison Plugins
Tags: programming, technica
Published: 2022-01-31 14:03:26

To make the list of the best WooCommerce product comparison plugins, we’ve analyzed and researched the available plugins available for WordPress users. All of these have something unique in them. While writing about these product comparison plugins for WooCommerce sites, I have taken the user reviews, ratings, and efficiency into consideration


**1. ShopEngine for WooCommerce**

Frankly speaking, this is not a tool made just for comparing the products of your eCommerce site side-by-side. ShopEngine is a WooCommerce page builder for the next generation with more than 50 widgets and 4 modules. The product comparison module is just one of them.
Apart from this module, you can also enjoy variation swatches, quick view, and product wishlist. You can leverage all of these together to build your WooCommerce pages with just one plugin, ShopEngine.

**2. YITH WooCommerce Compare Products Plugin**

YITH WooCommerce Compare is one of the popular plugins to let the customers compare similar types of products in your store. It presents the features of your chosen products on a single table.
Using the YITH WooCommerce Compare plugin, the customers can easily view the commonalities and differences of the products and make the final buying decision.
This product is ideal for big stores with products that come with matched attributes.

**3. Products Compare for WooCommerce**

Here are some main features of Products Compare for WooCommerce: 
Dedicated compare page with custom URL for comparison
Button for adding products to compare
Choose elements or attributes to compare
Customizable button text
Choose from ‘show all’ and ‘only difference’ buttons to compare.  


**Referance Blog**
[https://www.gomahamaya.com/woocommerce-product-comparison-plugins/](https://www.gomahamaya.com/woocommerce-product-comparison-plugins/)