teleren/devto huggingface dataset:
How should one determine why learn Big Data?
Published: 2019-12-10 07:14:50

Due to the huge increase of data, the emergence of big data came into existence. What’s even more interesting are the job skills that are tagged along with it – machine learning, deep learning, artificial intelligence and many more.

• IBM predicts an increase in big data job roles by 364,000 to 2,720,000 by next year (2020).

• The demand for big data professionals will further rise to 700,000 openings.

• Big Data Analysts’ jobs to skyrocket by 28%.

Organizations and tech enthusiasts now agree to the fact that most industries are gaining full benefit from the growing demand for data. Getting access to unstructured information is much easier, all thanks to the popularization of social networking, multiple platforms with a humongous amount of data availability, and the ubiquitous presence of search engines present online.

Every top employer or even the smallest startup is keen on hiring big data professionals such as a big data analyst or a senior big data analyst.

Power you Career as a Senior Data Analyst.

START YOUR GROWTH JOURNEY TODAY! - https://bit.ly/2PlTIu8
Learn to use fetch() in API call Easily 
Published: 2019-12-10 07:03:05

Today we are going to explore the fetch function in API calls and get to know about different methods (such as GET, POST, PUT and DELETE), Call Authentication and Interceptor.

XMLHttpRequest (XHR) was used before fetch() was introduced to make Http requests. An XMLHttpRequest would need two listeners to be set to handle the success and error cases and a call to open() and send(). It was more complex to understand and implement.

What is fetch() method?

The Fetch API provides a JavaScript interface for accessing and manipulating parts of the HTTP pipeline, such as requests and responses. It also provides a global fetch() method that provides an easy and logical way to fetch resources asynchronously across the network.

<img src="https://codersera.com/blog/wp-content/uploads/2019/12/fetch-diagram-1.png">

fetch() allows us to make network requests similar to XMLHttpRequest. The main difference is that the Fetch API uses Promises, which enables a simpler and cleaner API, avoiding callback hell and having to remember the complex API of XMLHttpRequest.

The fetch method only has one mandatory argument, which is the URL of the resource we wish to fetch

What are the different methods used by fetch()?
Some most popular methods used by fetch to make an HTTP request to an API are :

GET
POST
PUT
DELETE
GET

GET requests are the most common and widely used methods in APIs and websites. The GET method is used to retrieve data from the server at the specified resource. For example, say we have an API with a ‘/users’ endpoint. Making a GET request to that endpoint should return a list of all available users.

Since a GET request is only requesting data and not modifying any resource, it is considered as a safe and idempotent method.

GET is often the default method in HTTP clients

For a complete guide about this, <a href="https://codersera.com/blog/learn-api-fetching-easy/">you can use this ref link as well</a>
Git - Cheat Sheet
Tags: git, github, devops
Published: 2019-12-10 06:54:45

---
title: Git - Cheat Sheet
published: true
description: 
tags: git, github, devops
---

##What is git?

> Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

**Basic Commands:**

1. Initialize local git repository
       `> git init`

2. check files to commits and branch name
`> git status` 

3. add files to staging area.
`> git add FileName.txt` 

4. add all modified and new files to staging area
`> git add --all`

5. add all files of directory to staging area
`> git add folder/`

6. Commit changes to local repository
`> git commit -m "Message to commit"`

7. history of commits
`> git log` -- 

8. Get help for any command
`> git help <Command>`

9. set global user name
`> git config --global user.name "Name"`

10. Show un-staged differences since last commit
`> git diff` 

11. View staged differences
`> git diff --staged` 

12. Un-stage files and HEAD Refers to last commit
`> git reset HEAD FileName`

13. Blow away all changes since last commit
`> git checkout -- FileName`

14. SKIP STAGING AND COMMIT and Add changes from all tracked files. this Doesn’t add new (untracked) files
`> git commit -a -m "Modify readme"`

15. Reset into staging and Move to commit before ‘HEAD’
`> git reset --soft HEAD^` 

16. Add to the last commit with new commit message 
`> git commit --amend -m "New Message"`

17. Undo last commit and all changes
`> git reset --hard HEAD^`

18. Undo last 2 commits and all changes
`> git reset --hard HEAD^^`

19. ADDING A REMOTE
`> git remote add <name>origin <address>https://giturl` 

20. show remote repositories
`> git remote -v`

21. To push to remotes
`> git push -u <name>origin <branch>master` 

22. Remove remote
`> git remote rm <name>` 

23. Clone remote repository
`> git clone <address>https://giturl`

24. Create branch
`> git branch <BrancName>`  

25. create and checkout branch
`> git checkout -b <BrancName>`

26. list available branches
`> git branch`

27. list remote available branches
`> git branch -r` 

28. Switching between branches
`> git checkout <branch name>`

29. merge 2 branches
`> git merge <branch name>`

30. Delete branch
`> git branch -d <branch name>`

31. Force delete branch
`> git branch -D <branch name>`

32. get remote changes
`> git pull`

    > * get the remote changes to local remote branch
          `> git fetch`
   
    > * merge local remote branch changes to local master branch `> git merge <local branch>` 

33. shows branches alignments
`> git remote show origin`

34. remove remote branch
`> git push origin :<branch name>`
 
35. To clean up deleted remote branches
`> git remote prune origin`

36. List all tags
`> git tag`

37. Create tag
`> git tag -a <Tag Name> -m "Tag message"`

38. Push new tags to remote
`> git push --tags`

39. Revert to existing tag.
`> git checkout <tag name>`


This article was originally published at my blog [git-cheat-sheet](https://usamaansari.com/git-cheat-sheet-2/)

Please feel free to mention your favorite git commands in comments ❤ 👇
The journey of #100DaysOfCode
Tags: 100daysofcode, journey, completed
Published: 2019-12-10 06:49:55

Finally, the journey of #100daysofcode ends today. 

In this 100Days I learned about web technologies like #html5, #css3, #js, #ruby, #jquery and make some projects with them. Also, use #flask for making a portfolio website. 

Also Learned about #git and #github deeply and worked in #opensourcedevelopment and completed the #hacktoberfest2019 challenge and selected among the first 50,000 contributors. 

Also, accrue a lot of knowledge about python and made many projects using #opencv, #pandas, #numpy and so on and also solve some basic competitive programming in HackerRank and clear the concepts of #cprogramming.

In short, the journey was great and it gives a lot of knowledge about how the real world software development works. This #100daysofcode challenge makes me more confident and I also going to start phase 2 of #100daysofcode very soon.
Software Development Technologies
Tags: software, website, customsoftware, mobileappdevelopment
Published: 2019-12-10 06:31:54

Desidesign Technologies offered Web-based ERP, CRM Solutions which is run on Browser. Customized software development, website development, web design, mobile apps development, digital media marketing, all these can be deployed on Local Server, web server as well as on Cloud Servers.

Desidesign technologies are specialized in customized software services, website design & development, mobile apps development, ERP Solution, Inventory Management, along with ERP.

Services like Industrial Automation Software Development, Web Application Development, Mobile APP Development, Websites Development, Customized Solutions Development, Search Engine Optimization and Web Hosting Solutions acquired many Clients and many Projects which were successfully executed.

www.desidesign.co.in
www.facebook.com/desidesign1
+91 8080-707-744
Announcing Serify: A Lightweight SMS Validation Library for Twilio Verify
Tags: node
Published: 2019-12-10 06:31:09

[Serify](https://www.npmjs.com/package/serify) is a wrapper around the [Twilio Verify](https://www.twilio.com/verify) [REST API](https://www.twilio.com/docs/verify/api). This lightweight and straightforward wrapper allows you to send and verify SMS codes with two easy to use methods – and it only has one dependency. Both methods use of async/await, making it easy to integrate into your existing codebase.

## Example

To send a verification code using, use the `start` method as shown below:

```javascript
import Serify from 'serify';

const auth = new Serify({
	twilioServiceSid: 'YOUR_TWILIO_SERVICE_SID', // required
	twilioAccountSid: 'YOUR_TWILIO_ACCOUNT_SID', // required
	twilioAuthToken: 'YOUR_TWILIO_AUTH_TOKEN', // required
});

const start = async () => {
	try {
		const start = await auth.start({
			phone: 'USER_PHONE_NUMBER',
			country: 1,
		});

		console.log(start);
	} catch (error) {
		console.log(error);
	}
};

start();
```

To verify a code, use the `verify` method as shown below:

```javascript
import Serify from 'serify';

const auth = new Serify({
	twilioServiceSid: 'YOUR_TWILIO_SERVICE_SID', // required
	twilioAccountSid: 'YOUR_TWILIO_ACCOUNT_SID', // required
	twilioAuthToken: 'YOUR_TWILIO_AUTH_TOKEN', // required
});

const verify = async () => {
	try {
		const verify = await auth.verify({
			phone: 'USER_PHONE_NUMBER',
			country: 1,
			code: '1990',
		});

		console.log(verify);
	} catch (error) {
		console.log(error);
	}
};

verify();
```

## Obtaining Tokens

Twilio can be confusing at times as the API requires an **Account Level SID**, an **Account Auth Token**, in addition to a **Service SID**. All tokens can be found within your [Twilio console](https://www.twilio.com/console).

1. The account level SID and Account Auth Token are provided at the top level of your account.
2. The service-specific SID can be found when creating your application for the [Twilio Verify](https://www.twilio.com/verify) product.

https://www.npmjs.com/package/serify
Building a dev API marketplace - what are your thoughts?
Tags: showdev
Published: 2019-12-10 06:01:14

Hey dev.to,

I'm building a marketplace for devs to earn from their APIs and would love to get your thoughts / feedback. Think Airbnb for developer APIs.

At a high level, using it would involve posting your API's endpoints and access instructions to the platform, and the rest will be handled by the platform (earning, logging, moderation, etc).

If this is something you would use, sign up on our waitlist, so I can notify you once we launch!

👉 https://www.codugh.com/?utm_source=devto

Else, I would love to hear your thoughts and feedback below.

Cheers!
Practical Puppeteer: Create short URL with Bit.ly
Tags: puppeteer, automation, javascript, bitly
Published: 2019-12-10 04:28:36

Let's do fun scraping again. This time we will scrap to Bit.ly service to create short URL. I guess must be familiar with Bit.ly right? As usual we will use Puppeteer to do the scraping.

Puppeteer is a Node library which provides a high-level API to control Chrome or Chromium over the DevTools Protocol. Puppeteer runs headless by default, but can be configured to run full (non-headless) Chrome or Chromium. For more information about Puppeteer please go to https://pptr.dev.

We will control Bit.ly from Puppeteer. The step is we go to Bit.ly homepage, put the long URL, press the button to make it short URL and get the short URL result and display it to console in JSON format. Pretty simple.

Let's start.

## Preparation

Install Puppeteer

```
npm i puppeteer
```

## The code

This is the Javascript code to control Puppeteer.

File `short_url_bitly.js`

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

(async () => {
	// set some options, set headless to false so we can see the browser in action
	let launchOptions = { headless: false, args: ['--start-maximized'] };
	
	// launch the browser with above options
	const browser = await puppeteer.launch(launchOptions);
	const page = await browser.newPage();
	
	// set viewport and user agent (just in case for nice viewing)
	await page.setViewport({width: 1366, height: 768});
	await page.setUserAgent('Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36');
	
	// go to Bit.ly
	await page.goto('https://bitly.com');
	
	// wait until the input selector for long URL available
	await page.waitForSelector('#shorten_url');
	await page.waitFor(2000);

	// this is sample of long URL
	// you can try with your own URL
	let urlToShorten = 'https://medium.com/data-from-the-trenches/text-classification-the-first-step-toward-nlp-mastery-f5f95d525d73';

	// type the long URL to the input selector
	await page.type('#shorten_url', urlToShorten);
	await page.waitFor(1000);

	// click the button to make it short URL
	await page.click('#shorten_btn');
	await page.waitFor(1000);

	// evaluate the result of short URL and put on variable
	// and pass the variable urlToShorten to page.evaluate
	const urlShortener = await page.evaluate((urlToShorten) => {
		return {
			     'long_url': urlToShorten,
		         'short_url': document.getElementsByClassName('short-link')[0].textContent
		       }
	}, urlToShorten);

	// display the result (long and short url) in JSON format
	console.log(urlShortener);

	// close the browser
	await browser.close();
})();
```

## Run it

```
node short_url_bitly.js
```

If everything OK, it will display the result on your console that contains the long URL and the short URL like below.

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/g2kdm639bkv57pk26bpc.png)

Thank you and I hope you enjoy it.

The repository of this code is available at https://github.com/sonyarianto/create-short-url-with-bitly-and-puppeteer.git
2 beautiful and Refreshing web homepage templates, welcome to use
Tags: css, javascript, react, vue
Published: 2019-12-10 04:19:21

Every web developer wants a beautiful personal homepage. Of course, you may need a fresh resume after graduating, or as a software developer you need a refreshing project homepage.

But it's very troublesome to develop from scratch or find design to inspire you. After all, we really don't have that many resources.

Thankfully, there are two ready-made templates here, if you like, you can use

---

# Vue Nice HomePage     

### DEMO is [here](https://nordicgiant2.github.io/vue-nice-homepage-page/)

![img](https://github.com/nordicgiant2/vue-nice-homepage/blob/master/images/01.jpg?raw=true)

## About [`particles-bg-vue`](https://github.com/lindelof/particles-bg-vue) library
#### This project uses the react particle background component library [https://github.com/lindelof/particles-bg-vue](https://github.com/lindelof/particles-bg-vue). It's very simple. Anyone can be a Musketeer with it.

![img](https://github.com/lindelof/particles-bg-vue/raw/master/images/02.jpg?raw=true)

## Description
This project forks from [https://github.com/mtobeiyf/vuepress-homepage](https://github.com/mtobeiyf/vuepress-homepage), I made some modifications and adjustments, thanks to the [author](https://github.com/mtobeiyf).


---

# React Nice Resume     

### DEMO is [here](https://nordicgiant2.github.io/react-nice-resume-page/index.html)

![img](https://github.com/nordicgiant2/react-nice-resume/blob/master/public/images/img.jpg?raw=true)

## About [`particles-bg`](https://github.com/lindelof/particles-bg) library
#### This project uses the react particle background component library [https://github.com/lindelof/particles-bg](https://github.com/lindelof/particles-bg). It's very simple. Anyone can be a Musketeer with it.

![img](https://github.com/lindelof/particles-bg/raw/master/image/03.jpg?raw=true)

## Description
This project forks from [https://github.com/tbakerx/react-resume-template](https://github.com/tbakerx/react-resume-template), I made some modifications and adjustments, thanks to the [author](https://github.com/tbakerx).

![img](https://github.com/nordicgiant2/react-nice-resume/blob/master/public/images/img2.jpg?raw=true)
Mac Keyboard Shortcuts You Should Know
Tags: mac, productivity, shortcuts
Published: 2019-12-10 04:10:20

This might be my last post in 2019 lol
I don't list super famous commands like Cmd + c/v etc.

|shortcut   |behavior   | 
|---|---|
| Ctrl + Cmd + f  |  Fullscreen  | 
| Ctrl + ←/→  | Switch screen   |  
| Ctrl + ↑/ ↓  | Open/Close `Mission Control` |  
| Cmd + q | Terminate app | 
| Cmd + m | Minimize window | 
| Cmd + w  | Close window | 
| Cmd + tab  | Switch apps | 
| Cmd + m + option  | Minimize all windows | 
| Ctrl + Cmd + q  | Lock screen | 
| Cmd + option + power button | Sleep mode | 
| Cmd + option + esc  | Force quit | 
| Cmd + option + shit + q  | Logout | 
| Cmd + space | Opene `Spotlight` | 
| Cmd + shift + a | Open `Application` via `Finder` | 
| Cmd + shift + d | Open `Desktop` via `Finder` |
| Cmd + shift + h | Open `Home Dir` via `Finder` |
| Cmd + shift + f | Open `Recents` via `Finder` |
| Cmd + shift + g | Open `Go to the folder`|
| Cmd + shift + k | Open `Network` via `Finder` |
| Cmd + shift + l | Open `Library` via `Finder` | 
| Cmd + shift + ; | Open `Spelling and Grammar`|
| Cmd + shift + o | Open `Documents` via `Finder` | 
| Cmd + shift + i | Open `iCloud Drive` via `Finder` | 
| Cmd + shift + u | Open `Utilities` via `Finder` | 
| Cmd + shift + r | Open `AirDrop` via `Finder` | 
| Cmd + shift + c | Open `computer` via `Finder` | 
| Cmd + shift + n | Create a new folder | 
| Cmd + shift + </> | Order Desktop icons | 
| Cmd + shift + / | Open app's `help` | 
| Cmd + shift + 6  | Take Touch Bar Shot | 


Please leave a comment if you have something you always use.
Ubuntu Server setup on Virtual box and connect with SSH
Tags: ubuntu, linux, virtualbox
Published: 2019-12-10 03:31:00

Here, I guide how to connect with ubuntu server installed on virtual box via SSH.


## Install Virtual box and Ubuntu Server
Download virtual box from [Oracle Virtualbox](https://www.virtualbox.org/wiki/Downloads).

Install virtual box on your machine.

Download ubuntu server from [ubuntu](http://releases.ubuntu.com/).

Then setup ubuntu server on virtual box.

After a successful setup, login to ubuntu server in virtual machine.

## Setup SSH on ubuntu server
Then open terminal and install following packages:
```
sudo apt update
sudo apt install openssh-server
sudo apt install ssh
```

Once installation is completed, the SSH service should start automatically.
To verify the installation type following command:
```
sudo systemctl status ssh
```

You should see something like `Active: active (running)`

Now go to virtual box click on ubuntu instance and click on `settings`.
Then click on `Network`
Then choose `Adapter 1` select `Attached to` to `Bridge Adapter` and `Name` to anyone.

Then run following command in ubuntu server.
```
sudo ufw disable
```

## Login to server via SSH

Then login to server via ssh by following command
```
ssh your_username@your_server_ip_address
```

To see ip address type following command
```
ifconfig
```

In my case, ip address is `192.68.31.225` and username is `test`

```
ssh test@192.68.31.225
```

> #### Optional
>
>If you get timeout while connecting via ssh.
>
>Stop your virtual machine.
>Set the net of your virtual machine:
>Click on settings and network:
>Select NAT as connection and click on advanced.
>
Click on port forwarding:
```
Name: SSH
Protocol: TCP
Host IP: 127.0.0.1
Host Port: 2222
IP Guest: Empty
Port Guest: 22
```

Start your Virtual Machine:
When your virtual machine is started, open your terminal and try to connect:
```
ssh yourusername@127.0.0.1 -p 2222
```


Originally posted on https://shafik.xyz/posts/ubuntu-server-setup-on-virtual-box-and-connect-with-ssh/
How to know number of tasks can run in parallel in Linux and MacOS
Tags: cpu, linux, macos
Published: 2019-12-10 03:28:57

I want to know the CPU cores & threads count, so that I could know how many tasks my computer can run in parallel. This number could later be used for specifying the pool size when creating a threading pool.

To get this count, the formula is:

```
num_of_cpu * cores_per_cpu * threads_per_core
```

For example, if you have 1 cpu, and it has 2 cores, and each core enabled hyperthreading, so the final result might be 1 * 2 * 2 = 4


### Linux

We get use `lscpu` to get a brief result:

```bash
$ lscpu
...
CPU(s):              4
Thread(s) per core:  1
...
```

Or we could use 3 separate commands to get more info:
```bash
$ cat /proc/cpuinfo | grep "physical id"| sort | uniq | wc -l
4
$ cat /proc/cpuinfo | grep "cores" | uniq
cpu cores : 1
$ cat /proc/cpuinfo | grep "processor"| wc -l
4
```

So in this machine, we have 4 cpu, each cpu has 1 core, there is no hyperthreading enabled, because the processor count is 4. Otherwise, the processor count should be greater than 4.

The number of tasks can run parallel for this computer is 4 * 1 * 1 = 4


### MacOS

If you go to "About This Mac > System Report", you will be able to see some information about CPU. It looks like something like this:

![system info](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F145a76c2-cffe-42ed-ad4e-db2e190e6ce2%2FScreen_Shot_2019-12-09_at_22.16.59.png?table=block&id=99772fc0-534c-45ad-b597-e20b9ce5d471&width=2940&cache=v2)

From here we can see the number of CPU is 1, the Cores_Per_CPU is 2, but it doesn't show how many threads for one core, i.e. if the hyperthreading is enabled.

If we open terminal and use command:

```bash
$ sysctl hw.physicalcpu hw.logicalcpu
hw.physicalcpu: 2
hw.logicalcpu: 4
```

Or we can use:
```bash
$ sysctl -a | grep machdep.cpu | grep count
machdep.cpu.core_count: 2
machdep.cpu.thread_count: 4
```

Now you can see the core_count is 2, and thread_count is 4, means threads_per_core is 2 (hyperthreading is enabled).

The number of tasks can run parallel for this computer is 1 * 2 * 2 = 4