teleren/devto huggingface dataset:
Importing Large SQL File
Tags: sql, webdev, database, mysql
Published: 2022-01-02 11:11:52

Sometimes we need to import large SQL files in MySQL.

Importing Large SQL File in MySQL Database can be a big headache time to time. There are several ways for this purpose.

Such as:

#### Importing by Command line tools
#### Increasing PHP file size limit
#### Compressing the SQL file and importing it


### Method 1: Importing by Command line tools

#### Option 1: from the directory where your backup file is:

$mysql -u username -p -h hostname databasename < backupfile.sql
Example: $mysql -u root -p -h localhost my_large_db < my_large_db.sql

If a password is set, it will prompt for password. Or you can directly provide password after -p, which is not a recommended way.

Make sure, your  environment path variable is set of your MySQL (in my case: C:\laragon\bin\mysql\mysql-5.7.24-winx64\bin)

 

#### Option 2: from the directory where your backup file is:

$mysql -u username -p -h hostname
[enter your password]
> use databasename;
> source backupfile.sql

### Method 2: Increasing PHP file size limit
In this method, you have to increase “post_max_size” and also “upload_max_filesize”. First you have to locate your php.ini file. After locating, open your php.ini file in your favorite text editor.

Open your php.ini file.

Find following lines
post_max_size
upload_max_filesize

and increase values to required size in MB. E.g.

post_max_size = 500M
upload_max_filesize = 500M

Then save the file and restart your apache or nginx server.

After import is completed you may want to restore original values for additional safety.

### Method 3: Compressing the SQL file and importing it
Compressing is an easy solution for Importing Large SQL File
This one is straightforward. Just compress your SQL file and import the file using phpmyadmin importer. File may be compressed (gzip, zip) etc. One thing is compressed file’s name must end in .[format].[compression]. Example: .sql.zip

Originally posted at [LaravelPlug](https://laravelplug.com/importing-large-sql-file-in-mysql-database/)
The defining delta
Tags: improvement, growth, discuss, dailythoughts
Published: 2022-01-02 11:01:50

---
title: The defining delta
published: true
description: The defining delta
tags: improvement, growth, discuss, dailythoughts
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/badjm3prbsqfa4kgihk8.jpg
---

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

> The way you deal with the delta between reality and expectation is going to define your life, no matter the size of expectations.

---

⚠️ In this new “Daily Thoughts” series, I’m just scratching my own itch. For too long now I’ve been reading and consuming. Not that there’s something inherently wrong with that, but if one doesn’t offset that with his own producing, one often falls into the trap of staying a consumer.

If you think you know something, or want to learn something about yourself, try to explain it ‘on paper’. Personally, I think best ‘on paper’, and it’s been a while since a wrote a post. So, I’ll start small (and build up a habit of daily writing again) by sharing a thought daily. I’ll use this as a retrospective a year from now.

Dear readers, feel free to chime in with your thoughts on my thoughts (so Meta; which is popular in its own right these days).
Quick Tip: Checking usage of a Parameter | PowerShell
Tags: powershell, psboundparameters, checkusage, parameter
Published: 2022-01-18 21:53:33

---
title: Quick Tip: Checking usage of a Parameter | PowerShell
published: true
date: 2022-01-02 10:39:39 UTC
tags: Powershell,PSBoundParameters,CheckUsage,Parameter
canonical_url: 
---

How to check if a not mandatory parameter was used on a customized PowerShell function? To answer this question, I’ve made an example where you’ll see how you can handle it.

Let’s imagine that we have the following parameters on a function…

```powershell
function Set-ServiceRunningStatus{
    [CmdletBinding()]
    Param(
        [Parameter(ValueFromPipeline=$true)]

        [string[]]$ComputerName,
        [Parameter(Mandatory=$true,
            HelpMessage = "Enter a service name (or filter for multiple) to set Running Status")]
        [string]$Name,
        [switch]$Force
    )
    BEGIN { } #BEGIN
    PROCESS { } #PROCESS
    END { } #END  
}
```

And we want to check if during the function execution the non-mandatory **ComputerName** parameter is being used… You can use the automatic variable [**$PSBoundParameters**](https://docs.microsoft.com/pt-pt/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-7.2#psboundparameters) to perform your check.

```powershell
if ($PSBoundParameters.ContainsKey('ComputerName')) {
             Write-Verbose "[PROCESS] Getting Services for $($ComputerName)"
        } else {
            Write-Verbose "[PROCESS] Getting Services"    
        }#if param ComputerName
```

Let me know if it helped.
Weekly Challenge 145
Tags: perl, python, theweeklychallenge
Published: 2022-01-02 09:57:02

[Challenge](https://theweeklychallenge.org/blog/perl-weekly-challenge-145/), [My solutions](https://github.com/manwar/perlweeklychallenge-club/tree/master/challenge-145/sgreen)

Sorry for no blog post last week. I was away from home catching up with family and friends during the Xmas period.

In both this weeks solutions, the Perl solution is a transliteration of the Python version.

## TASK #1 › Dot Product

### Task

You are given 2 arrays of same size, `@a` and `@b`.

Write a script to implement Dot Product.

### My solution

So it isn't explicitly stated, but I've assumed `a` and `b` are an array of integers. It also isn't stated what the expected output is, so I've based it on the string in the example.

This is pretty straight forward. I take the first two values in command line input, and call them `first_nums` and `second_nums`. I then check they are the same size.

I then go through the arrays, and create a new array called `dots` that has the string `(a × b)` and another array called `sums` that has the result of a × b. Finally I use a print statement to display the result.

### Examples

```
$ ./ch-1.py "(1, 2, 3)" "(4, 5, 6)"
(1 × 4) + (2 × 5) + (3 × 6) => 4 + 10 + 18 => 32

$ ./ch-1.pl "(1, 2, 3)" "(4, 5, 6)"
(1 × 4) + (2 × 5) + (3 × 6) => 4 + 10 + 18 => 32
```

## TASK #2 › Palindromic Tree

### Task

You are given a string `$s`.

Write a script to create a [Palindromic Tree](https://medium.com/@alessiopiergiacomi/eertree-or-palindromic-tree-82453e75025b) for the given string.

### My solution

Okay, I fully expect Colin to complain about my solution, and rightly so. I decided to skip doing the whole tree thing, and use the sliding window method to compute the results. This is slower in computation terms, but faster in my ability produce a working solution :)

The sliding window method is straight forward. Set the start point as each character, and the end point as each possible remaining length of the string. If that part of the string hasn't been seen before and is a palindrome, add it to the `strings` list.

### Examples

```
$ ./ch-2.py redivider
r redivider e edivide d divid i ivi v

$ ./ch-2.py deific
d e i ifi f c

$ ./ch-2.py rotors
r rotor o oto t s

$ ./ch-2.py challenge
c h a l ll e n g

$ ./ch-2.py christmas
c h r i s t m a
```
Learn DevOps 2022.
Tags: linux, cloud, docker, kubernetes
Published: 2022-01-02 09:48:56

I've decided to start my DevOps journey as my new year resolution. Now why DevOps? - It's been more than 1 year since I started learning web development and while learning that I heard about DevOps but I had no idea about that and I didn't put much of a thought into it. Recently, I noticed that it suddenly became a hot topic, like, everyone was talking about it a lot and obviously it has much high paying jobs as compared to other domains, and so I had decided to learn it too but it was so much confusing because DevOps is in itself a huge paradigm. So I tried watching some content but I was lacking a proper roadmap, I just couldn't figure out where to start. Then I came across an Youtube video by Saiyam Pathak on DevOps Roadmap 2022 -
 
[DevOps roadmap 2022 | Success Roadmap 2022](https://youtu.be/7l_n97Mt0ko)

So I decided to follow this roadmap to achieve one of my goals in 2022 and I'm gonna share my journey with you all lovely people.
Let's start!

Here is a gist of the roadmap -
####1. Linux
- Basic Linux Commands ✅
- Bash Scripting
- Web Servers
- Proxy
- Shell Scripting

####2. Golang

####3. Basic Networking
Coming soon...
Ahmednagar News
Published: 2022-01-02 09:47:45


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cbzw8moqdfshchjdskcb.png)
Editor of [Ahmednagar News](https://www.akolenews.com/)
and
विवाह एक अतूट नाते: प्रत्येकाच्या आयुष्यातील अविस्मरणीय क्षण म्हणजे विवाह. विवाह फक्त सोहळा नसून तो दोन आत्म्याचे व दोन कुटुंबाचे मिलन आहे. विवाह म्हणजे एक प्रेमळ, निरागस, कौतुकाचे सात जन्माचे नाते आहे. जे प्रत्येकाला हवे हवेसे वाटते. प्रत्येकाच्या आयुष्यातील न विसरणारा हा क्षण असतो. एकमेकांच्या सुख-दुखात सामील होऊन आपल्या जोडीदाराला आयुष्यभर साथ देण्याचे वचन म्हणजे विवाह असतो.

जशी वसंत ऋतूत झाडाला पालवी फुटते तशी विवाह झाल्यानंतर नात्यामध्ये नवीन नात्याची पालवी फुलत ती प्रत्येकाला प्रेमात पाडायला भाग पाडते, अशा न विसरणाऱ्या खास दिवसाला कोणीही विसरत नाही. तुमच्या नात्यातील खास जोडप्याला शुभेच्छा देऊन आपण त्यांच्या सुखात आणखी थोडी सुखाची भर घालून त्यांचा आनंद द्विगुणीत करण्यासाठी आपण शुभेच्छा पाठवू शकतो.
[Marriage Anniversary Wishes in Marathi](https://www.akolenews.com/marriage-anniversary-wishes-in-marathi/)
Embed YouTube Videos in a Markdown document
Tags: embed, youtube, markdown, memo
Published: 2022-01-02 09:21:37

# Memo - Insert a YouTube video into a Markdown document  

# How-to  

[![Watch the video](https://img.youtube.com/vi/KdBwnjDa_8Y/hqdefault.jpg)](https://youtu.be/KdBwnjDa_8Y)  
You can click on the video above to see animated images :-).  

```markdown
[![Watch the video](https://img.youtube.com/vi/<your video id>/hqdefault.
jpg)]
(https://youtu.be/<your video id>)  
```  
Example:  
```markdown
[![Watch the video](https://img.youtube.com/vi/KdBwnjDa_8Y/hqdefault.
jpg)]
(https://youtu.be/KdBwnjDa_8Y)  
```  
This memo is also avaible [there](https://blog.cgifl300.com/memo-insert-a-youtube-video-into-a-markdown-document.html)
add new property to exist object 
Published: 2022-01-02 08:53:57

```js
const person = {
    firstName: 'John',
    lastName: 'Doe',
    age: 21,
};

person.eyecolor = 'green';
console.log(person);
```
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/huccm2n6ixjhsg2j7pdd.png)
#4 - Pair of gloves CodeWars Kata (6 kyu)
Tags: javascript, 100daysofcode, webdev, tutorial
Published: 2022-01-02 06:24:42

**Instructions:**
Winter is coming, you must prepare your ski holidays. The objective of this kata is to determine the number of pair of gloves you can constitute from the gloves you have in your drawer.

Given an array describing the color of each glove, return the number of pairs you can constitute, assuming that only gloves of the same color can form pairs.

<u>Example</u>

> input = ["red", "green", "red", "blue", "blue"]
> result = 2 (1 red pair + 1 blue pair)

> input = ["red", "red", "red", "red", "red", "red"]
> result = 3 (3 red pairs)



**My solution:**

```javascript
function numberOfPairs(gloves){
  
  var glovesObj = gloves.reduce((acc, el)=> {
    acc[el] = (acc[el] || 0) + 1;
    return acc;
  }, {})

  let r = 0;
  
  for(color in glovesObj){
    r+=Math.floor(glovesObj[color] / 2)
  }
  
  return r
}

```

**Explanation**
I started using reduce on the gloves array, with this reduce function I could convert the array into an object that contains the color of the glove and how many times it is repeated this object looks like this:

> input = ["red", "green", "red", "blue", "blue"]
> Object = {"red": 2, "green": 1, "blue": 2}

Then I iterated this object using the For In loop, with this loop  I could check every glove color and get how many pairs of gloves could I make with this color with the division that took the number of gloves of that color and divided it by 2, and then I used Math.floor so I get the result without the remainder, then I added this result to the r accumulator and at the end of the For In loop, I returned r


[My Github](https://github.com/Cesardlr)
[My twitter](https://twitter.com/cesar__dlr)
[Solve this Kata](https://www.codewars.com/kata/58235a167a8cb37e1a0000db)
Vocabulary Building Day 24
Published: 2022-01-02 08:43:54

1. **antic**(adjective):ludicrously odd.
![alt text](https://img.tfd.com/wn/2C/66439-dare.png)
[Checkout Pronunciation](https://www.google.com/search?q=antic+meaning&oq=antic+&aqs=chrome.1.69i59l2j0i512l3j0i20i263i512j69i60l2.4266j1j9&sourceid=chrome&ie=UTF-8)

2. **grandiloquent**(adjective): puffed up with vanity.
![alt text](https://miro.medium.com/max/1200/1*cPnfgWzeUaEdOKgQ1oyVvw.jpeg)
[Checkout Pronunciation](https://www.google.com/search?q=grandiloquent&oq=grandiloquent&aqs=chrome.0.69i59j0i20i263i433i512j0i20i263i512j0i512l7.6459j0j9&sourceid=chrome&ie=UTF-8)

3. **tenacious**(adjective): tending to keep a firm hold of something; clinging or adhering closely.
![alt text](https://dxuoddg10rgxw.cloudfront.net/wp-content/uploads/2012/07/17023043/tenacious.jpg)
[Checkout Pronunciation](https://www.google.com/search?q=tenacious+meaning&oq=tenacious&aqs=chrome.0.35i39j69i57j46i512j0i20i263i512j0i512j46i512j0i512l4.5719j0j9&sourceid=chrome&ie=UTF-8)

4. **zenith**(noun): the point in the sky or celestial sphere directly above an observer.
![alt text](https://www.wineverygame.com/words/images/zenith.jpg)
[Checkout Pronunciation](https://www.google.com/search?q=zenith+meaning&oq=zenith+meaning&aqs=chrome.0.69i59j0i20i263i512j0i512l8.5899j0j9&sourceid=chrome&ie=UTF-8)
5. **leery**(adjective): openly to disrespectful and unwillingly to confide
![alt text](https://img.tfd.com/wn/15/17FD1E-leery.png)
[Checkout Pronunciation](https://www.google.com/search?q=leery+meaning&oq=leery+meaning&aqs=chrome..69i57j0i512l9.13119j1j9&sourceid=chrome&ie=UTF-8)
I hope this helps you if you are preparing for GRE exams.
10 Resources for Web Developers
Tags: webdev, css, html, opensource
Published: 2022-01-02 08:39:17

Hi all. In this post I'm gonna share some resources related with web development and UI design. Hope you find them useful.

1. [Omatsuri](https://omatsuri.app)
Open source web app that includes 12 frontend tools.
![Omatsuri](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/viddgll3589b7w6zye67.png)

2. [SmallDevTools](https://smalldev.tools)
In this website, you can find useful developer tools.
![SmallDevTools](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k75lg72q44x5v5riiz5t.png)

3. [Keyframes](https://keyframes.app)
You can create animations, shadows and play with colors.
![Keyframes](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/85uuhfbsl65xsr9upc5h.png)

4. [ColorHunt](https://colorhunt.co)
Find color palettes for your project.
![ColorHunt](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lzrdbwr7v4t42ldwa1ce.png)

5. [UIDesignDaily](https://www.uidesigndaily.com)
UI designs for inspiration.
![UIDesign](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pza2dk374ryrrg19r7fv.png)

6. [Carbon](https://carbon.now.sh/?bg=rgba%28135%2C0%2C129%2C1%29&t=shades-of-purple&wt=none&l=javascript&ds=true&dsyoff=20px&dsblur=68px&wc=true&wa=true&pv=56px&ph=56px&ln=false&fl=1&fm=Hack&fs=14px&lh=133%25&si=false&es=2x&wm=false&code=for%28i%253D0%2520%253B%2520i%253C%253D5%2520%253B%2520i%252B%252B%29%250A%257B%250A%2520%2520printf%28%2522*%255Cn%2522%29%253B%250A%257D)
Share your code as beautiful editable images.
![Carbon](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tqhvzobpyr2oexj62obp.png)

7. [DesignResources](https://www.designresourc.es)
This is a collection of design resources. You can find many design recources from Figma to Unsplash.
![DesignResource](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kh70fuhnxbjsq4pwg0ob.png)

8. [CSSLayout](https://csslayout.io)
You can create css layouts and patterns from Accordion to Navigation.
![CSSLayout](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kdrzpug3z9as2bhpogbv.png)

9. [UISnippets](https://ui-snippets.dev)
To copy the style, just right click the animation.
![UISnippets](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sxfspzxvf9nvwxs6s4ug.png)

10. [PatternCSS](https://bansal.io/pattern-css)
A CSS library to turn empty background to beautiful patterns.
![PatternCSS](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cdqt1uyv9fu0ahof7ewx.png)

---

**Follow me on**

- [GitHub](https://github.com/yigitsr)
- [CodePen](https://codepen.io/yigitsr)
- [Twitter](https://twitter.com/ziggywoxx)
- [Twitch](https://www.twitch.tv/lemmy_ace)
- [Instagram](https://www.instagram.com/ziggywoxx/)
I am practicing this all below Commands to master Ubuntu & Start my Journey in DevOps
Tags: beginners, devops, linux, commands
Published: 2022-01-02 08:31:17

**Let's Start**

## Terms related to OS
Windows    vs        Ubuntu
Folder       ->    Directory
Administrator->    Root
File         ->    File
Software     ->    Package

## Basic Linux Commands
1) sudo su - Changing to Root user to get Administrative Privilages
![sudo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7api970il7vtm2z87dci.png)

2) pwd - present location of working directory
![pwd](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xlb7iwwg57zzbgdpzgzg.png)

3) ls - to list all files & Directory
![ls](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yi9wx3r0r6928g3ak3sz.png)
 
4) cd - change directory
![cd](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/86jbeezg7tah1kak75xo.png)
 
5) cd .. - To Come out from Directory
 ![cd ..](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ibdm01d1w65tvozgll4u.png)
 

6) clear - To clear the Output
![clear](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kn8v249xjt3l5l86szbk.png)
 

## File Creation Commands

1) touch - Create Empty file 
![touch](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z1ipvvnc6c27wtmympt8.png)
 
2) cat - use to create file able to to write in terminal to exit press CONTROL+D
![Cat](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yi10jsrp4uc1sa7njafc.png)

## Directory Creation
1) mkdir - Create a folder 
 ![mkdir](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/az5p074ex10pxl7u3s0j.png)
Udemy Syllabus Scraper Released
Tags: python, javascript, showdev, webdev
Published: 2022-01-02 08:29:58

## Introduction
Syllabus-Scraper is a web application for generating the Markdown syllabus of Udemy courses by using Flask, jQuery, UdemyAPI, and PostgreSQL.

**App link**: www.syllabuscraper.com
**GitHub repo**:https://github.com/monkeyapple/Syllabus-Scraper

## Current Version
V1.0

## Features
Generating Markdown syllabus of Udemy courses

## How to use
1. Copy the course link from Udemy
2. Paste the course link in the search box
![Instruction](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/me0h1aarh81azt0equb5.png)

## Preview
![preview](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8frjral14lhqym3wzozb.gif)

## Technical details about this project
I wrote a article for this project:[link](https://medium.com/@effylh/building-an-online-course-syllabus-scraper-with-flask-udemyapi-postgresql-on-heroku-262b727e228b)
Exceptions "against" Errors
Tags: java, programming
Published: 2022-01-02 08:26:59

## Common misconception during programming 
In java, both 'Exceptions' and 'Errors' are subclasses of "java.lang.throwable" class.
**Error** refers to an illegal operation performed by the user which results in abnormal behavior of the program. Programming errors many a time remain undetected until the program is executed or compiled. Some errors inhibit the program from getting executed. Thus making it necessary to remove errors before compiling or executing. Errors are of three types:

- Compile-time errors
- Run-time errors
- Logical errors

**Compile-time errors**
Compile-time errors are those errors which prevent the code from running because of an incorrect syntax such as a missing semicolon at the end of a statement or a missing bracket, etc. These errors are detected by the java compiler and an error message is displayed onto the screen while compiling. Compile-time errors are also referred to as "Syntax errors".

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

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

**Run-time errors**
Run-time errors occur during the execution of the program. Sometimes these are discovered when the user enters an invalid data or data which is not relevant. Run-time errors occur when a program does not contain any syntax errors but asks the computer to do something that the computer is unable to reliably do. The compiler has no technique to detect these kind of errors. It is the JVM (Java Virtual Machine) which detects it while the program is running.

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

**Logical errors**
When the program compiles and executes, but does the wrong thing or returns an incorrect result or shows no output; it is a logical error. These errors are neither detected by compiler nor by JVM. The system has no idea what the program is supposed to do, so it provides an additional information to help find the error. Logical errors are also called Semantic errors.

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

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

**Exceptions** in java refer to an unwanted event, which occurs during the execution of a program, i.e. at run-time, that disrupts the normal flow of the program's instructions. Exceptions are the conditions that occur at runtime and may cause the termination of the program. But they are recoverable using try, catch and throw keywords. Exceptions are divided into two categories:

- Checked exceptions
- Un-checked exceptions

_Checked exceptions_ are like IOException known to the compiler at compile time .
_Un-checked exceptions_ are like ArrayIndexOutOfBoundException known to the compiler at runtime, mostly caused by the program written by programmer.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6kvxzwpb725f8vp6bcip.png)
Media Tuner Browser Extension
Tags: javascript, browser, addon, video
Published: 2022-01-02 08:09:22

## VIDOO

Browser Extension

Change the speed of medias, adjust video filters, automatically skip Ads, etc.

**Adjustable Filter Parameters:**

-   Brightness
-   Contrast
-   Saturation
-   Opacity
-   Sepia
-   Gray-scale
-   Invert
-   Blur
-   Hue-rotation

**Other Features:**

-   Change the Speed of Videos & Audios
-   Flip Horizontal or Vertical
-   Show Native Controls in Full-screen Mode
-   Skip Ads Automatically
-   Rotate

## Release

-   [Mozilla Firefox](https://addons.mozilla.org/en-US/firefox/addon/geraked-vidoo/)
-   [Microsoft Edge](https://microsoftedge.microsoft.com/addons/detail/keegmbkbbhmlainnebgolcgcggmbdijo)