teleren/devto huggingface dataset:
How To Learn React in 2020 👩‍💻
Tags: react, javascript, webdev
Published: 2020-04-15 19:19:56

I’m excited to announce that I just published my new online course “React for Beginners: Complete Guide to Mastering React Fundamentals” on [Skillshare](https://skl.sh/2XAKn7u)!

I have received by far the most requests to create a React fundamentals course, and I’m super happy that I can finally share it with you!

On the course I will teach, as the name suggests, the very fundamentals of React.

Here are some of the topics we will cover on the course:
- React Elements & Components
- Working with JSX
- Using data with Props
- State
- How to create stateless & stateful components
- Building your first application

If you know JavaScript but you are not yet familiar with React or maybe you have at some point tried to learn React but never really got the hang of it, well in that case this course is a must watch for you!

You can find it from [Skillshare](https://skl.sh/2XAKn7u). Best part is that you can get it for free! When you register to Skillshare through [this link](https://skl.sh/2XAKn7u), you get 2 months of Skillshare premium membership for free. You can cancel your membership anytime, so there is no obligations.

With the Skillshare premium membership you can watch my courses and every other course they have (there is like tens of thousands of them) for the next 2 months. So it’s really a no-brainer.

If React is something you want to learn, I strongly recommend you check the course out! I would also really appreciate if you let me know what you think of it!

_If you are already familiar with React, you might be interested on my [Draft.js course](https://codepulse.blog/rich-text-editing-in-react-with-draft-js-course/?utm_source=devto). Draft.js is a rich text editor framework for React. If you need editor or text input component that can handle rich text content, Draft.js is a great choice. Like React, it is also originally created by Facebook._

-----------
_Originally published at [codepulse.blog](https://codepulse.blog/react-for-beginners-complete-guide-to-mastering-react-fundamentals/?utm_source=devto) on April 15, 2020._
Twiliohackathon - StoryTeller
Tags: twiliohackathon
Published: 2020-04-15 19:12:05

We are two neighboring fathers (to young kids) who live pretty far from our own parents. video chating between grandparents and each of our kids is a "drag" - a static conversation just doesn’t do it for our kids and when they try to show off with somersaults or something they made, they fall out of frame. So why not try reading a story together? Because it's a hassle! You need two copies of the same book; you need to be in sync (“grandma, I’m on page 13!”) and there is the distraction that comes from looking at the book and gazing at the screen.

And so, were creating a video chat app that screens an actual book while one side reads to a listener who can also respond. Of course, there are vast possibilities to grow, develop and expand the app, but at this point, we want to focus on the basic image of a grandparent reading a story to a grandchild without it becoming frustrating for both sides. We consider this a contribution to the real emotional need of staying connected in a meaningful way. This tool will not only let grandparents stay in touch, it will keep them relevant as well - It turns what some kids consider a chore - “come talk to your grandparents!” to meaningful and gratifying quality time.

We have been thinking about how to improve the video chat experience between our kids and their grandparents for a long time, but the coronavirus made this a pressing issue and urged us to think harder. While the solution we are offering is especially important during a time when families can't come together in person, it will always be relevant for families who don’t live near each other.

tech updates later (code to come ;)
Best way to learn linux with the concepts of operating systems?
Tags: linux, datascience, machinelearning
Published: 2020-04-15 19:08:38

Hi, Dev community. This is my first post on this platform. I am a final year engineering undergrad. Right now I am a data science intern at Yatra. At Yatra, I have recently switched from Windows to Linux. Apart from model building, NLP and data science, our team at Yatra also does some DevOps stuff and maintains its own servers. Right now I am pretty comfortable with what our team does and I am able to complete my tasks. But, the problem is that I am new to Linux and my networking and os concepts are very week. So, even though I am completing my tasks comfortably, I still feel that there are some loopholes in my understanding of the stuff I do. 

For a basic understanding of networking, I am reading the book by James F. Kurose. For Linux I want someone to suggest a book that covers both OS concepts Linux. I just want to learn enough so that I can write better programs in terms of system resources. I don't want to go deeper into the kernel and other stuff because my prime area of interest is deep learning and AI.

In short, my goal is to become a good software engineer that knows data science. I don't want to be just a data scientist.
Technical Strategies for Migrating Users to Auth0
Tags: migration, coding
Published: 2020-04-15 19:03:42

---
title: Technical Strategies for Migrating Users to Auth0
published: true
description: Learn techniques for migrating your users from other identity solutions to Auth0
tags: #migration #coding
canonical_url: https://auth0.com/blog/technical-strategies-for-migrating-users-to-auth0/
---
TL;DR: This tutorial will walk you through options for migrating users into Auth0, focusing specifically on the challenges you may face when migrating from on-premises identity solutions.

[Read on 📖](https://auth0.com/blog/technical-strategies-for-migrating-users-to-auth0/?utm_source=dev&utm_medium=sc&utm_campaign=migrating_users)
Adding Comments to a Static Website
Tags: javascript, react, gatsby, npm
Published: 2020-04-15 18:55:05

**Static websites aren't static anymore.**

This has become pretty obvious with the rise of serverless architecture, the headless CMS and the JAMstack. Static websites are created by sourcing content from an API, and generating a static website using static site generator.

However, the JAMstack method still has some drawbacks, specifically when dealing with *dynamic* functionality. In today's day and age, it's very rare that a website not need some kind of dynamic aspect to it.

One of the most popular dynamic aspects of a website is, without a doubt, comments. However, it's not as easy to add comments to a static site as it is a website with a traditional server.

That's why I decided to develop a tool that could allow anyone to add comments to their static blog or website with as little hassle as possible.

Enter [Triangle Comments](https://github.com/jarodpeachey/triangle-comments).

### What is Triangle?

Triangle Comments is a tool that provides drop-in commenting to be used on any static site, anywhere on that site.

### Why Triangle?

I created Triangle not to be the first method to add comments on a static site but to offer more than other options. Triangle is unique in that it can be both static AND dynamic.

What does that mean?

Well, Triangle collects data from a Netlify form and sends the data to GraphQL. That data is used by the `Comments` component offered by Triangle. Your static site generator then builds the HTML, and the comments will be included in that HTML.

But what if someone adds a new comment, and you want it to show up right away?

Triangle makes a call to the API where your comments are stored and gets the latest comments. The beautiful part is: this API call doesn't bog down your site at all. Because of the comments in the GraphQL server from your most recent build, the entire site (plus all but the new comments) shows up on page before the new comments are called.

Once the new comments are retrieved, the `Comments` component is updated to include the latest comment.

### Let me know what you think!

This is still in beta version, but I'd love for you to test it out, and see what you think! I'm constantly improving it and would love your feedback regarding improvements or features you'd like to see.

[https://github.com/jarodpeachey/triangle-comments](Check it out here!)
E5 - Create Products Page
Tags: php, tutorial
Published: 2020-04-15 18:49:34

The products page shows customers the available products. For simplicity I will only list products by name.

1.&nbsp;Create an `index.php` page with `html` and `body` tags.
```php
<html><body></body></html>
```

2.&nbsp;Add a heading saying ‘Product Page’.
```php
<h2>Product Page</h2>
```

3.&nbsp;Add three products with a title and link to add it to the cart. The links won’t go anywhere yet.
```php
<div> <span>Product #1</span> <a>Add to cart</a> </div>
```

The final code:
```php
<html><body>
    <h2>Product Page</h2>
    <div> <span>Product #1</span> <a>Add to cart</a> </div>
    <div> <span>Product #2</span> <a>Add to cart</a> </div>
    <div> <span>Product #3</span> <a>Add to cart</a> </div>
</body></html>
```

Parent topic: [Example 5](https://dev.to/herobank110/exercise-5-shopping-facility-443n)
Exercise 5 - Shopping Facility
Tags: php, tutorial
Published: 2020-04-15 18:46:04

In this example, you will create a working online shop by combining the knowledge built up from the previous examples.

# TODO: Add links below

Jump to section:
* [Create Products Page]()
* [Temporary Shopping Cart]()
* [Save Order in Database]()
* [Email the Receipt]()
* [Extra Steps]()
* [Sample Solution]()
How to check if Cloudflare API working before making calls
Tags: cloudflare, statuspageio, javascript, api
Published: 2020-04-15 18:37:55

Today Cloudflare’s API and dashboard became unavailable for more than an hour already. Then things got worse as Cloudflare’s own node.js client for API do not handle such case properly.

Luckily [cloudflarestatus.com](https://www.cloudflarestatus.com/) is powered by [Statuspage.io](https://www.statuspage.io/) and has its own [API](https://www.cloudflarestatus.com/api).

So I end up writing a small piece of code that checks if Cloudflare API is up and working correctly. 

The endpoint we are interested in is located at `https://yh6f0r4529hb.statuspage.io/api/v2/summary.json`.

After inspecting it:

```bash
$ curl -L https://yh6f0r4529hb.statuspage.io/api/v2/summary.json
```

We may find required piece of data that contains status of Cloudflare API component:

```JSON
{
  id: 'g4tb35rs9yw7',
  name: 'Cloudflare API',
  status: 'major_outage',
  created_at: '2014-10-09T03:32:07.158Z',
  updated_at: '2020-04-15T17:39:38.257Z',
  position: 5,
  description: "Cloudflare's API where customers can read from and write to their configurations at https://api.cloudflare.com",
  showcase: false,
  group_id: '1km35smx8p41',
  page_id: 'yh6f0r4529hb',
  group: false,
  only_show_if_degraded: false
}
```

So we end up with the following code:

```JavaScript
const fetch = require('isomorphic-unfetch');

const CLOUDFLARE_STATUS_ENDPOINT =
  'https://yh6f0r4529hb.statuspage.io/api/v2/summary.json';

const isApiWorking = async () => {
  let isWorking = false;
  await fetch(CLOUDFLARE_STATUS_ENDPOINT)
    .then((r) => r.json())
    .then((data) => {
      if (data.hasOwnProperty('components') && data.components.length > 0) {
        data.components.forEach((c) => {
          //   id: 'g4tb35rs9yw7',
          //   name: 'Cloudflare API',
          if (c.id === 'g4tb35rs9yw7' && c.status === 'operational') {
            isWorking = true;
          }
        });
      }
    })
    .catch((e) => {
      console.error(e);
    });
  return isWorking;
};
```

And the usage may be:

```JavaScript
isApiWorking().then((res) => {
  if (res) {
    // Do something with api
    console.log(res);
  } else {
    // Cloudflare API seems to be broken
    // Do something else
    console.error(res);
  }
});
```

Hope this will be a help for somebody in the situation like me.
I replaced the official Spotify client
Tags: linux, tutorial, rust, spotify
Published: 2020-04-15 17:11:20

{% youtube TaPWqXFtce8 %}

I have a old Thinkpad X200 laptop and if there is one thing it doesn't like, its Electron apps that consume 30% of its RAM.

So I used a combination of two programs to replace the official Spotify client, [spotify-tui](https://github.com/Rigellute/spotify-tui) and [spotifyd](https://github.com/Spotifyd/spotifyd), both of which are written in Rust.

Enjoy
JS Minifier:http://websitetool.in
Published: 2020-04-15 18:34:01


WebsiteTool: We are lunched JS Minifier Tool for Minified the JS script from unminified. Minify will be used to increase the webpage speed increase purpose and it will help you to load web page quickly.
--WebsiteTool
Website Link: http://websitetool.in/js-minifier
CSS Minifier: http://websitetool.in
Published: 2020-04-15 18:33:50


WebsiteTool: We are lunched CSS Minifier Tool for Minified the CSS script from unminified. Minify will be used to increase the webpage speed increase purpose and it will help you to load web page quickly.
--WebsiteTool
Website Link: http://websitetool.in/css-minifier
Interzoid All-Access API Package Integrated and Available for Subscription via the AWS Marketplace
Tags: api, datagovernance, database, datascience
Published: 2020-04-15 18:21:28

Interzoid's collection of APIs are now integrated into the AWS Marketplace and available for use as part of solutions utilizing Amazon's Cloud infrastructure. Now, with a single API license key provided as part of the AWS subscription process, one can access all of the Interzoid APIs in a pure, pay-per-use model. Usage is reported to a unified AWS bill for simplicity. Whether one's needs require $2500, $500, $8.50, or thirty cents, all can be accommodated via the AWS Marketplace.

![AWS Marketplace](https://dev-to-uploads.s3.amazonaws.com/i/6cxr8hbrx83ln50pt319.png)

This Interzoid All-API access subscription provides access to 20+ easy-to-integrate Cloud APIs deployed on AWS that help organizations increase the value of their data assets and extend their I.T. capabilities. These APIs include data matching through similarity key generation (company names, individual names, etc.) to reduce duplicate data or match across data sources, data enrichment, global site performance monitoring by testing URLs or APIs from various international locations, live currency rates, real-time weather, telephone number-based global demographics, data standardization, email address validation and filtering, global time by location, and access to other live data sources. A subscription provides a single API key that enables access to all of Interzoid's APIs on a pay-per-use model. A subscriber can use one, several, or all of the APIs based on need. A consistent interface and standardized access methods (REST, JSON, OpenAPI, etc.) make the APIs easy to incorporate into any Website or application, and of course AWS provides all of the underlying scalability and high performance one would expect.

Interzoid's APIs available for subscription via the AWS Marketplace can be found here -> https://aws.amazon.com/marketplace/pp/B085Q61Q5S
One query to remove all CSS at once
Tags: remove, css, query, javascript
Published: 2020-04-15 18:07:01

---
title: One query to remove all CSS at once
published: true
description: How to remove all the CSS from a webpage using one simple query.
tags: Remove, CSS, query, JavaScript
---

3 Types of CSS Styles: 
- Inline
- External
- Internal

Most sites have CSS scattered around all these 3 types.

That one query which clears all CSS from a page.

Hit <kbd>F12</kbd> to open the console from the Developer tool. 

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

<kbd>Ctrl</kbd><kbd>C</kbd> this command:
```javascript
document.querySelectorAll('style,link[rel="stylesheet"]').forEach(style => style.remove());
```
Then, <kbd>Ctrl</kbd><kbd>V</kbd> in the console.
Hit <kbd>Enter</kbd> , et Voilà!
The more things change...
Tags: beginners, career, javascript, nim
Published: 2020-04-15 18:06:31

---
title: The more things change...
published: true
description: A wacky programming languages comparison of where we are today with where we were before
tags: beginners, career, javascript, nim
---

So we know that history has a tendency to repeat itself. Statically typed languages are apparently here to stay. At the moment this wave might seem very hard to bail out and likely to **crush us** if we are not already surfing it like a pro.

Having had the pleasure of getting **bombed in face** by such waves in the past, I would like to draw a _parallel_ with the computer programming language scene from **15 years ago**.

Lets *time travel* to around **2005** (give or take). There was also a crushing wave of somewhat dynamic languages that you had to be surfing like a pro to avoid risking having your **surfboard** _obliterated_. 

Here are the somewhat dynamic languages of 2005 and their equivalent vibe static ones of 2020:

- *Python in 2005 = Rust in 2020*
  * Here is a language with a well thought set of principles as a starting design and with the good grace of being the cool language of the future. You definitely should be programming this. They are moving fast and don't even get stuck with things like backward compatibility.

- *Ruby in 2005 = Nim in 2020*
  * A small niche language with interesting macro/AST/blabla stuff stolen from LISP. Peculiar people seem to be doing weird projects with it just for fun. Might have some industry one day.

- *JavaScript in 2005 = TypeScript in 2020*
  * Browser compatible and gives you the best of both worlds with gradual typing. In runtime, nobody cares anyway.

- *PHP in 2005 = C# in 2020*
  * A thing from the past trying to reinvent itself and with a ton of legacy stuff in the market. It seems to be gaining new traction in big markets.

- *Lisp in 2005 = Haskell in 2020*
  * The purist vibe, some very niche industry. Make sure to know your monoids/cdrs.

- _Perl = **???**_
  * hmm I can't think of something similar to Perl back then; Perl had a very cool community of good coders (Perlmongers etc) and was waiting for perl6 to kill all industry and rule forever.
How To Add Custom Domain In A GitHub Page
Published: 2020-04-15 18:04:19

As I am new to this blogging website I didn't understand how to insert the images. But from the next time onwards I will try to upload the images if possibe.To get the pictorial information regarding this post please do visit this link:
https://techsavvypriya.wordpress.com/2020/04/15/how-to-add-custom-domain-in-a-github-page/

Most of the time, a git user’s big question is about how to attach a custom domain in a Github page. And it was the same for me also. But now it’s not and that’s why I’ve started writing to them about how you can use a custom domain in your Github page and add Cloudflare also. So, Let’s get started.


Step 1: Get a domain
You need a domain to attach. Buy a domain from any good places like Xeonbd, Godaddy or any places that you like but make sure it supports custom nameserver. I haven’t found any provider that doesn’t support custom nameserver but also I’d try to mention every bit of information.


I’ve got a domain
Step 2: Set custom nameserver
Your domain needs to point to the Cloudflare server. So, you need to update the nameserver of your domain’s default to below two and make sure other nameserver’s field remains empty without the first two.

arnold.ns.cloudflare.com

pola.ns.cloudflare.com


I’ve set Cloudflare’s nameserver
Step 3: Create a Cloudflare account and add domain
If you don’t have a Cloudflare account create one. And from ‘add site’ add your domain in Cloudflare. Don’t worry it’s completely free.


I’ve added my domain
Step 4: Update Domain’s DNS from Cloudflare
Now you need to update your domain’s DNS from Cloudflare’s DNS Panel. For every entry, click on ‘Add record’, Select Type ‘A’, enter the domain name in the ‘Name’ field and in the ‘IPv4 address’ field you need to add these four IPs like in the screenshots below. I collected the IP’s from GitHub’s documentation here.

185.199.108.153

185.199.109.153

185.199.110.153

185.199.111.153


I’ve added all the IP’s of GitHub
Step 4: Finally add your domain to your GitHub page
Go to your Github Repository and from the repository settings, go to Github Pages and there you will have an option for adding a custom domain like the picture below.


I’ve added my domain
It’s working!


gpa-calculator.tk
Conclusion
So far, I’ve tried to show you everything step by step. If you liked my writing you can inspire me by giving a Clap. You can follow me on Medium and I’m also available on Twitter here. Don’t forget to share your opinion on the comment section below and also the questions if any.
It's 2020. Why is testing front-end applications so hard?
Tags: testing, javascript, frontend
Published: 2020-04-15 17:56:46

---
title: It's 2020. Why is testing front-end applications so hard?
published: true
description: What psychology teaches us about automated testing?
tags: testing, javascript, front-end
---

In his book "Thinking, Fast and Slow", the Nobel Prize-winning psychologist Daniel Kahneman writes about the idea of substitution. It's a mechanism that enables us to quickly answer difficult questions by replacing them with similar, but easier questions. For example, when asked if it makes sense to invest in Apple stock, we may say whether we like Apple products, without even noticing that we didn't answer the original question. Recently it occurred to me that this phenomenon may be observed in testing front-end applications as well.

The front-end world is evolving rapidly. We can see people from various backgrounds getting into it. Some of them, including myself, used to be back-end developers. When facing a serious challenge, such as "How do I test this application?", having some experience in a similar field puts us at risk of unconsciously answering a different question, like "Which parts of this application do I know how to test?".

If we know how to test a method returning an integer, we may try to interact with a front-end application as if it were an object with a method returning an integer. For example, we may count the number of table row nodes in the DOM, without even checking that they are rendered one after another instead of on top of each other. Or if we are no strangers to string comparison, we may settle for checking if the value of a DOM Text node matches our expectations, without verifying that the font is readable.

Does that make the tests we write useless? Not necessarily. They may be testing something after all. When in doubt, I ask myself whether I'd still write similar assertions even if the code I think I'm testing didn't run in a browser. Looking from 30 000 feet, would the tests still look the same, even if the app was a command-line utility or a REST API? If yes, then I may be testing everything but the very front end of my front end. And if that question doesn't help, I use [the font-weight benchmark for front-end tests](https://lukaszmakuch.pl/post/font-weight-testing).