teleren/devto huggingface dataset:
Vim like tools
Tags: vim, linux
Published: 2021-12-06 10:06:40

As developers you spent a lot of time on the keyboard. While you can make programs with the mouse in some graphical programming languages, it just isn't very convenient. So what keyboard driven programs exist?

[Vim](https://www.vim.org) is a popular editor that has been around for ages. Many developers use vim or vim keybindings in their IDE, simply because it's convenient to press keys rather than going through the file menu.

Vim has always been one of my favorite text editors for Linux and Mac. Vim is similar to the editor vi, but has more features. 

It is keyboard driven and has quite a hard learning curve ([learn vim](https://vim.is)). Because it's been designed decades ago, some things makes less sense today. To give you an example, you can use both the keys h,j,k,l and the arrow keys to move the cursor. That's because in those times, there were no arrow keys.

It can be used both in the Linux [shell](https://bsdnerds.org/what-is-linux-shell/) and in a graphical interface. Personally I have also used its keybindings in Visual Studio, Visual Studio Code and other programs.

Vim isn't the only keyboard driven program out there. So what else is out there?

* [sxiv](https://github.com/muennich/sxiv): an image viewer

* [vifm](https://vifm.info/): a file manager with curses interface, which provides Vim-like environment

* [qtile](http://www.qtile.org/): window manager for the X Window System

* [i3](https://i3wm.org/): a tiling window manager. It doesn't use vim keys by default but is completely keyboard driven 

* [tmux](https://www.ocf.berkeley.edu/~ckuehl/tmux/) a terminal multiplexer that you can use instead of tabs

* [vimium](https://chrome.google.com/webstore/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb) add vim bindings to chrome

* [qutebrowser](https://qutebrowser.org/) a vim keyboard-focused browser with a minimal GUI. 

While many graphical programs have keyboard shortcuts, they aren't all completely controllable with the keyboard.

If you know of other cool programs that rely on keyboard shortcuts, let me know in the comments.
Create Line Charts in ReactJS Using Chart.js

Tags: react, chartjs
Published: 2021-12-06 09:55:10

In this article, we will learn how to create charts in a React application using the Chart.js library. Chart.js is an open-source JavaScript library for creating charts. Chart.js makes it easier to draw different types of charts like line, bar, doughnut, and area charts. In this article, we will create a line chart, bar chart, pie chart, and polar area using React and Web API. See chart.js' docs for more information.

In this article, we will learn how to create charts in a React application using the Chart.js library. Chart.js is an open-source JavaScript library for creating charts. Chart.js makes it easier to draw different types of charts like line, bar, doughnut, and area charts. In this article, we will create a line chart, bar chart, pie chart, and polar area using React and Web API. See chart.js' docs for more information.



https://www.codecheef.org/article/how-to-create-line-chart-using-chartjs-in-react
5 apps that I use daily to stay focussed in new normal 
Tags: career, productivity, kubernetes, motivation
Published: 2021-12-06 09:53:23

In today's day and age of social media influence, sometimes we get distracted spending too much time scrolling our feed which otherwise could be utilized to hone our technical skills and spend time to explore new tools and technologies.   In below video of mine, I'm sharing few of my personal tips that I followed during lockdown times to stay focused and be more productive and achieved CKAD certification.

https://youtu.be/NbueEx07KJ4
Best Hacks for  Django Web Development
Tags: django, programming, python, android
Published: 2021-12-06 09:45:09

Django is a high-level Python web framework that enables the rapid development of secure and maintainable websites. Django is a great choice for just about any web development project. Most developers choose Django for the simple interface, high performance, more customisation options, and the development process becomes much faster.  

Here are the 3 best hacks for Django Developers which they can apply in  Django Web Development projects: 

1. Use a separate media server, 
2. Use the Debugger Toolbar,
3. Use Django Unit Testing.

These tips will certainly help Django Developers to execute Django Web Development projects smoothly and efficiently. Eiliana provides freelance developers with more developmental projects and Eiliana also provides the option for freelancers to stay anonymous.
How to Install Imagick to Convert PDF File to Image in Laravel
Tags: laravel, imagick
Published: 2021-12-06 09:40:08

Hi,

In this quick example, let's see laravel convert pdf to image example. i would like to show you laravel convert pdf to image. We will use laravel pdf to image convert. if you want to see example of how to convert pdf to image in laravel then you are a right place.

Sometime we may need to convert pdf file to image in php laravel. If you need then i will give you simple example of how to convert pdf to image in laravel 6, laravel 7 and laravel 8 version.

we will use php imagick extension for convert pdf to image file. you must have to install imagick extension for pdf and give to permission. let's see step by step installation and configuration for imagick.

https://www.codecheef.org/article/how-to-install-imagick-to-convert-pdf-file-to-image-in-laravel
Difference b/w for...in & for...of
Tags: javascript, array, webdev
Published: 2021-12-06 09:33:26

---

The distinction between the `for..in` and `for..of` methods of arrays in JavaScript will be discussed in this blog.

These methods are a simplified form of the actual `for` loop, ***however they should not be used in place of the standard `for` loop.***

- `for` loop 

```
for( let i=0; i<length; i++) 
```
This is the standard `for` loop which iterates over the length and returns i . 

 
- `for...in` loop 



![carbon.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1638710175661/-B6E9MduD.png)

> Synatx:  for( let key in obj) 

👉 It is for iterating over the "enumerable" properties of an object.

👉 It gives us the keys/properties of an object.

👉 It is mostly used with objects.

👉 It does not have a specific order of execution.

- `for...of` loop 

![carbon (1).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1638710492266/TLjFztrNq.png)

> Synatx: for(let value of array)

👉 It is used to iterate over "iterable".

👉 It is mostly used with strings and arrays

👉 It does not work with objects as they are not 
      "iterable".

*** 
❤️// 👍

This topic had always been a source of uncertainty for me, so I decided to write a blog on it in order to learn more about it so that I might help someone else who was in the same boat.


Do Like and  SHARE your valuable feedback.

Connect 🔗

[Twitter](https://twitter.com/Vanshsh2701)
List of Algorithms in Computer Programming
Tags: algorithms, datastructures, programming, productivity
Published: 2021-12-06 09:24:57

**Introduction**:

In this article, we will see all the available algorithms in computer programming. This will be helpful to develop and build great products and thus will improve efficiency and quality.


**Description**:

I have listed out all the algorithms at one place. Few of them are most familiar one’s and the rest all of them are not used by us on a regular basis. However, these concepts/data structures/algorithms are really helpful when deciding the complexity of the architecture or problem. If all of us make use of these algorithms at right place, we can build and deliver top-notch products to the market.


Searching:
1) Binary Search
2) Linear Search
3) Depth First Search
4) Breadth First Search
5) Rabin-Karp Algorithm
6) Z Algorithm


Sorting:
1) Insertion Sort
2) Heap Sort
3) Selection Sort
4) Merge Sort
5) Quick Sort
6) Counting Sort
7) Bucket Sort
8) Bubble Sort
9) Radix Sort
10) Shell Sort
11) Comb Sort
12) Pigeonhole Sort
13) Cycle Sort


Graphs:
1) Kruskal’s Algorithm
2) Dijkstra’s Algorithm
3) Bellman Ford Algorithm
4) Floyd Warshall Algorithm
5) Topological Sort Algorithm
6) Flood Fill Algorithm
7) Lee Algorithm
8) Prim’s Algorithm
9) Boruvka’s Algorithm
10) Johnson’s Algorithm
11) Kosaraju’s Algorithm
12) Tarjan’s Algorithm


Arrays:
1) Kadane’s Algorithm
2) Floyd’s Cycle Detection Algorithm
3) Knuth-Morris-Pratt Algorithm (KMP)
4) Quick Select Algorithm
5) Boyer — More Majority Vote Algorithm


Tree:
1) AA Tree
2) Binary Indexed Tree or Fenwick Tree
3) Quadtree
4) Cartesian Tree
5) Fibonacci heap
6) Interval Tree
7) Finger Tree
8) Crit-bit Trees
9) Scapegoat Tree
10) Splay Tree
11) Suffix Tree
12) Counted B-Trees
13) Binary Space Partitioning
14) Van Emde Boas Tree

Others:
1) Huffman Coding Compression Algorithm
2) Euclid’s Algorithm
3) Union Find Algorithm
4) Manacher’s Algorithm
5) Eukerian Path (Hierholzer’s Algorithm)
6) Convex Hull | Set 1 (Jarvis’s Algorithm or Wrapping)
7) Convex Hull | Set 2 (Graham Scan)
8) Convex Hull using Divide and Conquer Algorithm
9) Quickhull Algorithm for Convex Hull
10) Distinct elements in subarray using Mo’s Algorithm
11) Line Sweep Algorithm
12) MO’s Algorithm (Query square root decomposition)
13) Disjoint-set Data Structure
14) Ackermann Function
15) Zobrist Hashing
16) FM-index
17) Circular buffer
18) Hungarian Algorithm / Kuhn–Munkres Algorithm / Munkres Assignment Algorithm
19) Dekker’s Algorithm
20) Winged Edge
21) Burrows–Wheeler Transform
22) Zipper
23) Five Balltree Construction Algorithms
24) Cuckoo Hashing
25) Rope (Data Structure)
26) Binary Decision Diagram
27) Disjoint-set Data Structure
28) Bloom Filter


**Conclusion**:

In this article, we have seen the list of algorithms available in computer programming. Let us learn and use these algorithms to build great products in our day to day life. If you know any algorithm other than these algorithms, kindly comment here! Let us learn these algorithms one by one! Thank you.
How to Apply the Red Lobster Case Study Solution

Published: 2021-12-06 09:20:42

[Red lobster case study solution](https://www.caseprofessors.com/red-lobster-1792.html)- red lobster is a chain of seafood restaurants in the united states. red lobster’s goal was to increase their conversion rates by improving customer satisfaction, reducing wait times, and improving the quality of food. red lobster primarily focused on three things: recruitment, training, and staffing 

1. red lobster trained its employees about the new red lobsters standards 

2. they made changes to the menu that would alleviate wait time for customers 

3. they also increased employee pay to reduce turnover

Steps to Increase Conversions on Your Website
1. Optimize Your Site for Mobile Devices 

According to a study by the Pew Research Center, 50% of all internet users in the US access the web via mobile devices. That's one-third of your potential customer base! If you don't optimize your site for mobile use, you're handicapping yourself at the get-go. (A company can't sell what it can't find.)

2. Create a Usable Contact Page 

If someone wants to purchase something on your website, they should be able to do so with ease. Make sure you include your hours and days of operation on the contact page; this will undoubtedly answer any questions about when (or if) you're available to take orders or speak with customers.



Red lobster case study solution- red lobster is a chain of seafood restaurants in the united states. red lobster’s goal was to increase their conversion rates by improving customer satisfaction, reducing wait times, and improving the quality of food. red lobster primarily focused on three things: recruitment, training, and staffing.

Advantages of red lobster case study solution

There are several advantages to implementing the red lobster case study solution. Perhaps the most obvious advantage is that it will improve customer satisfaction. In addition, by reducing wait times and improving the quality of food, the red lobster will be able to increase their conversion rates. Finally, by increasing employee pay, red lobster will be able to reduce turnover and improve the quality of their workforce.



Red lobster case study solution- red lobster is a chain of seafood restaurants in the united states. red lobster’s goal was to increase their conversion rates by improving customer satisfaction, reducing wait times, and improving the quality of food. red lobsters primarily focused on three things: recruitment, training, and staffing 



Keywords to include:- red lobster case study solution 

- red lobster case study solutions 

- red lobsters case studies
DigitalOcean Kubernetes Challenge
Tags: cloud, cloudnative, kubernetes, challenge
Published: 2021-12-06 09:18:59

Looking to experiment with something new in Kubernetes? Join us for the [DigitalOcean Kubernetes Challenge](https://www.digitalocean.com/community/pages/kubernetes-challenge)!

Whether you’re new to Kubernetes, or you have been running production clusters for years, this challenge will give you an opportunity to level up your Kubernetes skill-set before the end of the year. Pick a challenge, apply for DigitalOcean credits, and get hacking! Completed projects will earn you a cool set of prizes. Projects are due December 31, 2021.
Blockchain Terminology
Published: 2021-12-04 21:48:08

Greetings,

So I wanted to make a Blockchain Terminology list of what I covered thus far. Hopefully it will help other developers who are interested in the blockchain space. I'll have updates frequently of the post. Enjoy.


Blockchain: A decentralized network of nodes with encrypted transactions. Once a transaction occurs then it is recorded never to be reversed. 

Cryptocurrency: A digital currency that is created on a blockchain. Ie: bitcoin, litecoin, etc.

Ethereum & ETH: A popular blockchain that uses ether for transactions on the chain itself. Many NFTs and dApps are developed on it.

Metamask: A wallet that can be used on mobile devices as well as extension of Chrome.

Etherscan.io: A site where you can get insight into Ethereum transactions.

Exodus Wallet: A wallet that can be used on desktop and mobile.

POAP: Proof of Attendance Protocol (POAP.xyz)

Web3: a collection of JS libraries that lets you interact with an Ethereum node remotely or locally.

Distributed Systems: A group of nodes connected with one another in a coordinated manner in order to achieve common results. The nodes are programmable, asynchronous, autonomous and fail proof. Nodes communicate using messages. All the nodes in the distributed system are capable of sending and receiving.

Async Encryption: Uses keys to encrypt and decrypt data / information. Encryption keys are Public whereas Decryption keys are private.

Solidity: the language in which Ethereum uses to create smart contracts

Blockchain Domains: Domains that are created to host on the blockchain such as (.crypto, .eth, etc)

dApps: Decentralized Applications on the blockchain

Consensus Mechanisms: A method of authenticating and validating a value on a transaction in a blockchain.

- Proof of Work
- PBFT
- Proof of Stake
- Proof of Burn
- Proof of Elapsed Time
- Proof of Capacity
- Proof of Activity
- Proof of Weight
- Proof of Importance
- Leased Proof of Stake
Many others…

IPFS: A peer-to-peer hypermedia protocol designed to preserve and grow humanity’s knowledge by making the web upgradeable, resilient, and more open.

Truffle Suite: https://www.trufflesuite.com/

Truffle: A world class development environment, testing framework and asset pipeline for blockchains using the Ethereum Virtual Machine (EVM), aiming to make life as a developer easier.

Seed Phrase: unique 12 word phrase cannot be edited. Used to recover crypto wallets instead of passwords. Users would want to keep this seed phrase for this is the only way to recover it as well.
Javascript remove duplicate from array of objects
Tags: javascript, react, programming, webdev
Published: 2021-12-06 09:18:56

``` javascript
const seen = new Set();
const arr = [
  { id: 1, name: "test1" },
  { id: 2, name: "test2" },
  { id: 2, name: "test3" },
  { id: 3, name: "test4" },
  { id: 4, name: "test5" },
  { id: 5, name: "test6" },
  { id: 5, name: "test7" },
  { id: 6, name: "test8" }
];

const filteredArr = arr.filter(el => {
  const duplicate = seen.has(el.id);
  seen.add(el.id);
  return !duplicate;
});
```
New undot() and reverse() methods in Laravel 8
Tags: php, laravel, webdev, programming
Published: 2021-12-06 09:17:09

Let's get started quickly and take some examples of these great methods
There’s now a helper method called reverse() in Illuminate\Support\Str and Illuminate\Support\Stringable using which it’s now convenient to reverse strings.
```php
use Illuminate\Support\Str;

echo Str::reverse('raBooF');
// FooBar

echo Str::of('FooBar')->reverse();
// raBooF
```
And next, the framework has got the counterpart of the Arr::dot() method called undot().
```php
use Illuminate\Support\Arr;

$productInfo = [
    'products.desk.price' => 100
];

$unflattenedProductInfo = Arr::undot($productInfo);

/* 
[
    'products' => [
        'desk' => [
            'price' => 100
        ]
    ]
];
*/
```
I hope you enjoyed the code.
What To Try If Can’t Reset Cash App Password On Your Own?
Tags: webdev
Published: 2021-12-06 09:16:46

You might not [Reset Cash App Password](https://www.myaccountrecovery.com/blog/how-to-reset-cash-app-password/) if you have not sufficient information about the password resetting information. So, if you are looking to replace your older password with the new one, you can easily change it. Besides, you can also take help from experts who will direct you all the details in an easy manner.
Data types in JS 
Tags: javascript, beginners, programming, tutorial
Published: 2021-12-06 09:06:36

Pay **attention** ▲, this post will teach you whatever you need to _understand_ what are data types and how can you select the type you need to **accomplish** your target 🥳.

First of all you need to understand that JS is **dynamic typed**, if you read our all post you have already known what does it mean 😋. 

## Dinamic typed ❤️

**OMG!!**, It sounds really crazy, it sound really difficult but no, if you think in the sense of _dynamic_ you will understand that typed are assign in **execution time **, it means that when you are _writing your code_ you won't need to indicate what are exactly the types 😏. It's one of the most clearly advantage if you are learning JS as a first _programming language_. 

Then 😇, Why must I know what are data types if JS makes implicit assignations? 

You really need to know what types of data do you have available, because you can prepare your code to work with those. Let's going to start with the simple data 😏

- `String` -> It means literally _chars chain_, for example `word` is a string because it's text. This data type is composed by quotes, doesn't care, double, simple, accent whatever, the main important think is put the text inside the quotes.

```js
console.log("My first string")
```

- Number -> Like his name said, it's a number, a pointing number, a real number, whatever that means exactly a Real Number. 

```
let myAge = 15
```

- Boolean -> It means `true` or `false`, easy isn't it 🤓?, it only indicates a state, it's one of the most **important data** type, since, you will need to control the execution steps thankfully to `Boolean` values.

```js
let truth = true
let ohh = false
```

- Null -> It can be really _confuse_, it means that you have created a value that will be change soon and first you assign to null. One of the most important uses is to indicate when a function get an error, normally you will return null when there was a failure in the execution time.

```js
let myNull = null
myNull = "Hola"
console.log(myNull)
```

- Undefined -> It appears when you declare a var and you don't assign any value. It usually appears when you try to get a value from any var/let/const which has never been defined. It's usually identified such a _developer error_. 

```js
let a;
console.log(a) // it prints undefined
```

I know, 😊 there are more data types, means more complex data types, but the basic data types are **all of above**. Really, it's so important to understand what are exactly each one, you need to know what are the **difference** 😉 and how to use it. 

In the following post we will deep into more detail about complex data types, **understanding** what does it mean. For now, I strongly recommend you to study and research more about data types, you can write down your own personal notes and use it for remembering all data types 😤.
Advent of PBT 2021 - Day 6
Tags: challenge, testing, webdev, javascript
Published: 2021-12-06 08:52:32

---
title: Advent of PBT 2021 - Day 6
published: true
description: Advent of Property Based Testing - Day 6
tags: challenge,testing,webdev,javascript
//cover_image: https://direct_url_to_image.jpg
---

> _Advent of PBT 2021 — Learn how to use property based testing and [fast-check](https://github.com/dubzzz/fast-check) through examples_

Our algorithm today is: **simplifyFraction**.
It comes with the following documentation and prototype:
```ts
type Fraction = { numerator: number; denominator: number };

/**
 * Simplify a fraction by reducing (if possible) the numerator
 * and denominator
 *
 * @param f - Fraction to be simplified
 *
 * @returns
 * An equivalent fraction with possibly smaller values for numerator
 * and denominator. Additionally only the numerator should be
 * negative after simplification.
 */
declare function simplifyFraction(f: Fraction): Fraction;
```

We already wrote some examples based tests for it:
```ts
it("should simplify the fraction when numerator is divisible by denominator", () => {
  const out = simplifyFraction({ numerator: 10, denominator: 5 });
  expect(out).toEqual({ numerator: 2, denominator: 1 });
});

it("should simplify the fraction when numerator and denominator have a shared dividor", () => {
  const out = simplifyFraction({ numerator: 4, denominator: 10 });
  expect(out).toEqual({ numerator: 2, denominator: 5 });
});

it("should not simplify when fraction cannot be simplified", () => {
  const out = simplifyFraction({ numerator: 4, denominator: 9 });
  expect(out).toEqual({ numerator: 4, denominator: 9 });
});
```

How would you cover it with Property Based Tests?

In order to ease your task we provide you with an already setup CodeSandbox, with examples based tests already written and a possible implementation of the algorithm: https://codesandbox.io/s/advent-of-pbt-day-6-ijhun?file=/src/index.spec.ts&previewwindow=tests

You wanna see the solution? Here is the set of properties I came with to cover today's algorithm: https://dev.to/dubzzz/advent-of-pbt-2021-day-6-solution-f7n

---

[Back to "Advent of PBT 2021"](https://dev.to/dubzzz/advent-of-pbt-2021-13ee) to see topics covered during the other days and their solutions.

More about this serie on [@ndubien](https://twitter.com/ndubien) or with the hashtag [#AdventOfPBT](https://twitter.com/search?q=%23AdventOfPBT).