teleren/devto huggingface dataset:
Are there really no good WP Membership Tools?
Tags: wordpress, membership, stripe, saas
Published: 2021-05-04 14:29:49

Building in public seems to be the trend for a few years. I neglected this far too long, but it´s never too late to start a good habit. 

I am currently building an SEO solution that offers a ready-made do-follow backlink partner directory to solve SEO for hand-picked Startups on https://vispr.net  

As I am no coder, I build it with a no-code solution and use a WordPress frontend to sign up new users and give them a branded place to manage their subscription while they can download the embed code for their website. 

Looking for an easy way to restrict access to the WP download, I just realized that there is no good membership plugin for WordPress that works nicely with Stripe Checkout. I even wasted two weeks on this so far! Bummer! 

I tested Billflow, MemberPress, MemberSpace, Memberful, Billsby, Chargebee, MemberMouse, Ultimate Member, Restrict Content Pro, WP-Members, Restrict User Access, Paid Memberships Pro, and some more... 

Of course, I read all the blog posts from so-called experts and recommendations from tool review directories, but it looks like these guys recommend stuff that they have not really tested by themselves...

Because, when you install this stuff, it all comes down to 2 facts: 

1. It either looks like BS. 
or
2. It simply does not work (meaning does not change the user role after the payment or simply cannot be connected properly or is too darn complicated to be of any use for the intended workflow.)

Mostly it´s all of that. 

Speaking about a great user profile plugin for WordPress I would totally recommend Ultimate Member. It has hands down THE BEST and most beautiful user profile for WordPress! And it´s even free(mium). But it does not have a native Stripe integration. Instead UM relies on the bloated and unnecessary WooCommerce and even an additional and expensive paid plugin for the subscription management. 

I don´t do complicated and unnecessary, sorry...

So I was looking for an external Stripe self-service dashboard, that has the benefit of not relying on WP and would be easy to migrate to any other CMS or custom development. There are also a few alternatives, but I finally settled for Billflow, because it has the most advanced options and most beautiful dashboard integration for Stripe Checkout. Unluckily, it does not work with Ultimate Members! F@#k...

Can I still recommend any Stripe Checkout dashboard tools at all? Yes: 

So if you are not relying on WordPress and you are looking for a Stripe Checkout integration for your new SaaS tool, I can totally recommend using Billflow over Billsby (even though highly recommended and great support!), Memberspace, Chargebee, or Memberful.

So what now?

Looking at the Stripe Partner directory, I discovered WP Full Stripe, which is a WP native plugin and has a Members plugin extension to restrict content. As this is a native addon, it will surely work better than combining two different tools.

If you want you can follow all my updates on my blog: https://vispr.net/blog
PNG optimization from the command line
Tags: webdev, images, png, bash
Published: 2021-05-04 14:14:16

---
description: Optimize your pngs from the command line using pngquant and bash.
---

<h2 id="installation">
  <a href="#installation">
    Installation
  </a>
</h2>

First step...install [pngquant](https://pngquant.org/)

If you're on MacOS, simply do:

```bash
brew install pngquant
```

If you're not on MacOS, please refer to the pngquant homepage for installation instructions.

https://pngquant.org/


<h2 id="commands">
  <a href="#commands">
    Running pngquant
  </a>
</h2>

The next step is to run pngquant on all your files you wish to optimize.

For example, if I have my `.png` files in my `app/assets/images`
directory, I would do the following:

```bash
cd app/assets/images

# Grab all png's by recursing through current directory.
# Quality and speed can be adjusted to personal needs.
# this is what I use.
pngquant ./**/*.png --quality 65-80 --speed 1
```

This will generate a bunch of files with the `-fs8.png` suffix like so:

```bash
.
├── file-1.png
├── file-1-fs8.png
├── file-2.png
├── file-2-fs8.png
├── file-3.png
├── file-3-fs8.png
├── file-4.png
└── file-4-fs8.png
```

Im sure theres a way to have `pngquant` overwrite your files, but this
lets me do an easy comparison of before / after sizes. Then I'll rename
the newly optimized files to overwrite their original file.

<h2 id="bash-command">
  <a href="#bash-command">
    Bash Command
  </a>
</h2>

This is the command I use to rewrite all my newly optimized images to
overwrite their parent. Use with caution :)

```bash
for FILE in ./**/*-fs8.png; do original=${FILE%%-fs8.png}; mv "$FILE" "$original.png"; done
```

<h2 id="pulling-it-all-together">
  <a href="#pulling-it-all-together">
    Pulling it all together
  </a>
</h2>

Quick easy command to do it all at once.

```bash
pngquant ./**/*.png --quality 65-80 --speed 1
for FILE in ./**/*-fs8.png; do original=${FILE%%-fs8.png}; mv "$FILE" "$original.png"; done
```

By using this method, I managed to get my ~2-4mb PNGs in a site I'm working on down to ~100-400kb.

Good luck and may your png files be forever optimized!
Creating and Deploying React, Ember, and Vue Apps in Codesphere
Tags: react, vue, ember, tutorial
Published: 2021-05-04 14:09:15

>At Codesphere, we aim to streamline the development process so that you can spend less time configuring and more time writing code. In this tutorial, we'll go over how easy it is to create and deploy different kinds of web applications, namely React, EmberJS, and Vue apps.

###Setup

Before we can set up the environment for the web framework we want to use, we need to create the app in Codesphere. Luckily, doing so is incredibly easy!

Simply navigate the "My Apps" page, press the "New App" button, and select Empty. You then choose your name and pricing plan, and Codesphere will create an empty app!

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9zd8q2sdy81zixgp5du0.gif)

###React

To create a react app, simply run the following command in your terminal:

`npx create-react-app my-app`

Replacing “my-app” with the name you want to use for your React project.

To deploy your app, simply run
`cd my-app && npm start`

You can then press the “open app” button to see your deployed app.

###EmberJS

Since EmberJS is a very high-level framework, it requires substantial computing power to install and deploy. Therefore, your Ember app will likely require one of Codesphere's paid subscription plans to run. You find out more about pricing here:
[https://codesphere.com/pricing](https://bit.ly/2RoXnfG)

Before you can create your Ember app, you first need to install the Ember CLI, which can be done with the following command:
`sudo npm install -g ember-cli`

Once the CLI is installed, you can create a new app with:
`ember new my-app`

To deploy your app, you can then run:
`cd my-app && ember server - port 3000`

You can then press the "open app" button to see your deployed app.

###Vue
Vue similarly requires you to install a CLI before you can create a project. This can be done with the following command:
`sudo npm install -g @vue/cli`

You can then create the Vue app with:
`vue create my-app`

The Vue CLI will then allow you to configure your new app.
Once your app is created, you need to create a config file in your root directory. This can be done with:
`cd my-app && touch vue.config.js`

Next, paste the following code in the `vue.config.js` file, in order to allow the Vue app to run correctly within Codesphere:

```
module.exports = defineConfig({
    devServer: {
        port: 3000,
        allowedHosts: 'all'
	}
})
```

Finally, you can deploy your Vue app with:
`npm run serve`

Thanks for reading! If you have any questions, please comment or reach out to us at support@codesphere.com.

Happy Coding!
Key Not found . please Help me

Published: 2021-05-04 14:07:52

I have captured the handshake successfully and I have created a wordlist which contains actual password . But it is showing like this. 2/0 tested what it means? I used command 
aircrack-ng <handshake.cap file name> -w <wordlist.txt>
 
It is showing as key not found .but wordlist contains the password.Please help me
Customer Retention for On-demand Apps: 9 Ways to Retain Now
Tags: customerretention, webdev, appdev, mobileapp
Published: 2021-05-04 13:58:45

---
title: Customer Retention for On-demand Apps: 9 Ways to Retain Now
published: true
description: Customer Retention for On-Demand App: Techtic list down customer retention tactics for On-Demand app, comparison between customer acquisition and retention.
tags: customerretention, webdev, appdev, mobileapp
cover_image: https://www.techtic.com/wp-content/uploads/2021/04/Ways-of-Customer-Retention-for-On-Demand-Apps.jpg
---
Customer retention has become the need of the hour for on-demand apps.

The On-demand app economy is predicted to reach a market value of around $335 Billion by 2025. With the increasing on-demand apps in the market, it has become difficult for the apps to retain customers. And such competition keeps amplifying the costs of customer conversions.

Do you put in enough effort to re-interact with your prospects and customers to get them back? If you have not tried to market to existing customers after their previous sales, this is the best time to do it. You can create significant strategies to boost customer retention.

<li>9 Ways to Retain More Customers for On-Demand App Business
<ul>
 	<li>1. Hear your Customers Precisely</li>
 	<li>2. Focus on Features that Customers Expect</li>
 	<li>3. Enhance Customer Service</li>
 	<li>4. Initiate a Customer Loyalty Program</li>
 	<li>5. Engage and Personalize Interactions</li>
 	<li>6. Reward your Valued Customers</li>
 	<li>7. Over Deliver on your Promises</li>
 	<li>8. Use Abandoned Cart Campaigns</li>
 	<li>9. Use Surveys and Social Media</li>
</ul>
</li>

If you want to know about all 9 Ways to Retain More Customers for On-Demand App Business then visit at <a href="https://www.techtic.com/blog/customer-retention-on-demand-apps/">https://www.techtic.com/blog/customer-retention-on-demand-apps/</a>
MayLeetCoding Challenge 2021 — Day 4: Non-decreasing Array
Tags: computerscience, codenewbie, algorithms, programming
Published: 2021-05-04 13:37:21


Today is May the 4th. Happy Star Wars Day everyone.

Let’s solve some Leetcode problems today. Today we will solve the 4th problem of the May LeetCoding Challenge 2021.

![](https://cdn-images-1.medium.com/max/2560/1*yQ4kMPjosBcBVqGSSkI7Zw.png)

## Problem Statement

## Given an array nums with n integers, your task is to check if it could become non-decreasing by modifying **at most one element**.

We define an array is non-decreasing if nums[i] <= nums[i + 1] holds for every i (**0-based**) such that (0 <= i <= n - 2).

**Example 1:**

    **Input:** nums = [4,2,3]
    **Output:** true
    **Explanation:** You could modify the first 4 to 1 to get a non-decreasing array.

**Example 2:**

    **Input:** nums = [4,2,1]
    **Output:** false
    **Explanation:** You can't get a non-decreasing array by modify at most one element.

## Solution

We are going to solve this problem greedily. We can modify at array at max 1 time so that it becomes a non-decreasing array.

To achieve that, we have to take care of few things.

* When modifying the number at index i-1 , we need to consider elements at i-2 and i -th index.

* Need to make sure that the array satisfies the conditions even after modifications are made.

**Correction can be made in either of two ways**:

 1. Make the previous number smaller or equal to the current number

 2. Make the current number equal to the previous number

We can do the first as long as the number at position i-2is equal or lower than the current element(index i),if i-2is valid. If we can’t then go for the second condition. We give priority to the first case.

Check the code below.
{% gist https://gist.github.com/sksaikia/97a2634b3342df946144ff5aa5d236a1.js %}
Time complexity:O(n)

Space complexity:O(1)

Check the whole repository for more leetcode solutions.
[**sksaikia/LeetCode**](https://github.com/sksaikia/LeetCode)
✔||🤢 Commit or Vomit  | nested ternary operator
Tags: javascript, programming, discuss, webdev
Published: 2021-05-04 13:52:52

#The ternary operator
It's a delight to use them but should we use them as much as possible? what do you think about the next example? ✔||🤢

```typescript
H = (C == 0 ? null :
    V == r ? (g - b) / C :
    V == g ? (b - r) / C + 2 :
             (r - g) / C + 4
    );
```

#### nested ternary operators ✔||🤢?

❤: Commit (I'd commit something like this)
🏷: Vomit (we all know unicorns don't vomit)
🦄: Like your post please continue this series!

Let's vote! 😊


> Photo by <a href="https://unsplash.com/@scienceinhd?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Science in HD</a> on <a href="https://unsplash.com/s/photos/operator?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
React Form and Array example
Tags: react, form, array
Published: 2021-05-04 13:47:06

https://grokonez.com/frontend/react/react-form-submit-array-example

React Form and Array example

In this tutorial, we're gonna build a simple React Application that shows an Array of items submitted from a Form.

Related Posts:
- <a href="https://grokonez.com/frontend/react-helloworld-example">React Hello World example</a>
- <a href="https://grokonez.com/frontend/react-bind-data-simple-data-binding-example">React Simple Data Binding example</a>

<!--more-->
<h2>I. Technologies</h2>
- React 16
- NodeJs 6.11.2
- NPM 3.10.10
- Yarn 1.5.1
- Babel 6.24.1
<h2>II. Practice</h2>
<h3>1. Goal</h3>
We will build a React Application that can receive data from a form submission, then display them as a list:

<img src="https://grokonez.com/wp-content/uploads/2018/03/react-form-array-example-result.png" alt="react-form-array-example-result" width="266" height="279" class="alignnone size-full wp-image-11339" />
<h3>2. Project Structure</h3>
<img src="https://grokonez.com/wp-content/uploads/2018/03/react-example-project-structure.png" alt="react-example-project-structure" width="189" height="215" class="alignnone size-full wp-image-11329" />
<h3>3. Step by Step</h3>
<h4>3.0 Set up Environment</h4>
We need NodeJs, Yarn and Babel to compile and run this example.
Please visit <a href="https://grokonez.com/frontend/react/react-helloworld-example#I_Set_up_Environment">Set up Environment</a> for step by step.
<h4>3.1 Set up Project folder</h4>
Create folder for <strong>BindData</strong> project, then make subfolders and subfiles like this:
<img src="https://grokonez.com/wp-content/uploads/2018/03/react-example-create-folder.png" alt="react-example-create-folder" width="171" height="150" class="alignnone size-full wp-image-11319" />
<h4>3.2 Dependency</h4>
Open <strong>package.json</strong>, write these lines for project information and dependency:

More at:

https://grokonez.com/frontend/react/react-form-submit-array-example

React Form and Array example
MayLeetCoding Challenge 2021 — Day 3: Minimum Operations to Make Array Equal
Tags: computerscience, algorithms, codenewbie, programming
Published: 2021-05-04 13:35:00


Today, we will solve the 3rd problem of the May LeetCoding Challenge 2021.

## Problem Statement

Given an array nums. We define a running sum of an array as runningSum[i] = sum(nums[0]…nums[i]).

Return the running sum of nums.

**Example 1:**

    **Input:** nums = [1,2,3,4]
    **Output:** [1,3,6,10]
    **Explanation:** Running sum is obtained as follows: [1, 1+2, 1+2+3, 1+2+3+4].

**Example 2:**

    **Input:** nums = [1,1,1,1,1]
    **Output:** [1,2,3,4,5]
    **Explanation:** Running sum is obtained as follows: [1, 1+1, 1+1+1, 1+1+1+1, 1+1+1+1+1].

**Example 3:**

    **Input:** nums = [3,1,2,10,1]
    **Output:** [3,4,6,16,17]

## Solution

This is a pretty easy problem. Here we have to find the running sum of an array. That means, for index i we have to find the sum of all elements from 0 to i-1 . It can be done by using sum variable to store the summation of each element index by index.

The code is given below.

{% gist https://gist.github.com/sksaikia/1f33b41af22b177caf8fc96d670b6212.js %}

Time complexity: O(n)

Space complexity: O(n)

where n is the size of the array

For the whole repository click the link below.
{%github sksaikia/LeetCode %}
Dynamic Programming Vs Greedy
Published: 2021-05-04 13:18:11


##Dynamic Programming:
It just solves problems by combining the sub problems to solutions only of the sub problems were independent.
It can be used for solving both mathematical optimization method and computer programming method.
For example, it can be used for finding the shortest path in graph.
•	Many decision sequence may be generated.
•	Highly reliable
•	Bottom-up approach
•	There is no special set of feasible solution
•	Less Efficiency
•	Overlapping subproblems choose feasible solution

 ![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/963z3l10dsq4uusydmji.png)

 
The algorithm used is:

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3y2odgk2vabfgkhm4qie.png)
  
##Greedy Method:

Greedy method solves problems step by step which leads to global optimization solution.
•	Generates a single decision sequence
•	Less reliable
•	Top to bottom approach
•	Contain a special set of feasible set of solutions.
•	More efficiency
•	Overlapping subproblems cannot be handled.
 
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/38dg7hj0rp6aj74zoo49.png)
Algorithm for greedy is:
Greedy(D,n)
//In Greedy approach D is domain
//from which solution is to be obtained of size n
//Initially assume
solution<-0
for i<-1 to n do{
s<-select(D)
if(Feasible solution,s))then
Solution<-Union(Solution,s)
}
return solution
Jquery Ajax POST-GET Nested Objects to SpringBoot server
Tags: jquery, springboot, ajax
Published: 2021-05-04 13:12:20

https://grokonez.com/frontend/jquery-ajax-post-get-nested-objects-springboot-server

Jquery Ajax POST-GET Nested Objects to SpringBoot server

In this tutorial, <a href="https://grokonez.com">JavaSampleApproach</a> will guide you to implement a web application <strong>Jquery Ajax POST-GET Nested Objects to SpringBoot serverM</strong>.

Related posts:
- <a href="https://grokonez.com/java-integration/integrate-jquery-ajax-post-get-spring-boot-web-service#8_Run_038_Check_results">How to integrate JQuery Ajax POST/GET & Spring MVC | Spring Boot</a>
- <a href="https://grokonez.com/spring-framework/spring-boot/ajax-jquery-post-list-javascript-objects-springboot-server-bootstrap">Ajax Jquery post List JavaScript Objects to SpringBoot server | BootStrap</a>
- <a href="https://grokonez.com/spring-framework/spring-boot/jquery-uses-bootstrap-table-display-data-springboot-restapi">JQuery uses Bootstrap Table to display data from SpringBoot RestAPI</a>
- <a href="https://grokonez.com/spring-framework/spring-boot/jquery-ajax-http-delete-remove-data-springboot-restapi">JQuery Ajax Http Delete remove data from SpringBoot RestAPI</a>

<!--more-->
<h2>I. Technologies</h2>
– Java 1.8
– Maven 3.6.1
– Spring Tool Suite – Version 3.8.1.RELEASE
– JQuery
– Bootstrap
– Spring Boot – 1.5.7.RELEASE
<h2>II. Practice</h2>
In the tutorial, we build a SpringBoot project as below:

<img src="https://grokonez.com/wp-content/uploads/2017/10/Jquery-Ajax-POST-GET-Nested-Objects-to-SpringBoot-project-structure.png" alt="Jquery Ajax POST-GET Nested Objects to SpringBoot - project structure" width="341" height="380" class="alignnone size-full wp-image-8590" />

<strong>Step to do</strong>:
– Create Spring Boot project
– Create data models
– Create Response message
– Create Web Controller to provide web views
– Create RestController for POST & GET requests
– Create an index.html view
– Create Ajax POST & GET requests
– Run & Check results
<h3>1. Create Spring Boot project</h3>
Open <strong>Spring Tool Suite</strong>, on main menu, choose <strong>File</strong>-><strong>New</strong>-><strong>Spring Starter Project</strong>, add project info, then press <strong>Next</strong> for needed dependencies:
- For Template Engines, choose <strong>Thymeleaf</strong>.
- For Web MVC, choose <strong>Web</strong>-><strong>Web</strong>.

<img src="https://grokonez.com/wp-content/uploads/2017/10/Jquery-Ajax-POST-GET-Nested-Objects-to-SpringBoot-add-dependencies.png" alt="Jquery Ajax POST-GET Nested Objects to SpringBoot - add dependencies" width="685" height="164" class="alignnone size-full wp-image-8591" />

Open <strong>pom.xml</strong> file and check needed dependencies:

More at:

https://grokonez.com/frontend/jquery-ajax-post-get-nested-objects-springboot-server

Jquery Ajax POST-GET Nested Objects to SpringBoot server
TIL that you should load Matomo asynchronously
Tags: todayilearned, debugging, matomo
Published: 2023-05-19 20:39:57

---
title: TIL that you should load Matomo asynchronously
published: true
date: 2021-05-04 13:12:00 UTC
tags: TIL,debugging,matomo
canonical_url: https://www.zufallsheld.de/2021/05/04/til-that-you-should-load-matomo-asynchronously/
---

If your Matomo server is unreachable it may be that your website cannot load!  
You can defer loading the Matomo tracking. For ways to do that, check that blog post: https://matomo.org/blog/2017/04/different-ways-embedding-piwik-tracking-code-faster-website-performance/
How do you customize IDE for yourself?
Tags: php, javascript, discuss
Published: 2021-05-04 12:59:07

Have you changed the settings of your IDE? If changed, what exactly?

Personally, I've changed a lot, including window layout, syntax highlighting, error inspection, and other things. Especially for a long time I set up CodeStye for most languages according to the [rules for writing code](https://dev.to/maximepihin/psr-experience-php-code-convention-am6).

I forgot to say that I use PHPStorm for web development.
A check for Cryptocurrency Prices 💸 on VS Code
Tags: vscode, productivity, opensource, cryptocurrency
Published: 2021-05-04 12:48:48

---
title: A check for Cryptocurrency Prices 💸 on VS Code
published: true
description: A check for cryptocurrency prices as you code.
tags: vscode, productivity, opensource, cryptocurrency
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bux7yopwmv3ejzuafcrp.png
---

Welcome to Cointy, a vs code extension for checks cryptocurrency prices as you code.

<p align="center">
  <img alt="demo-vscode-cointy" src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jbz7xylo1heo59gh1lge.gif" />
</p>

## Features ✨

- Top 100 Crypto Coins by Market Capitalization.
- Using [CoinGecko](https://www.coingecko.com/) and [CoinMarketCap](https://coinmarketcap.com/) to retrieve the current cryptocurrency prices.

## Customization 🎨

You can customize using CoinMarketCap API for the Cointy extension settings.

```json
// Specify your CoinMarketCap API key
"cointy.coinmarketcap.apiKey": "YOUR_API_KEY"
```

VS Code Extension: [Cointy](https://marketplace.visualstudio.com/items?itemName=aofdev.cointy)
Source Code: https://github.com/aofdev/vscode-cointy