teleren/devto huggingface dataset:
Shovel.sh: Search for Scoop manifests from your browser
Tags: showdev, sideprojects, scoop, typescript
Published: 2020-05-27 14:17:20

tl;dr: [Shovel](https://shovel.sh) is a simple web app that allows you to quickly search for [Scoop](https://scoop.sh) manifests right from your browser.

# Scoop?

If you develop on Windows and have not heard of Scoop before, you're in for a treat. It is a package manager [developed by Luke Sampson and contributors](https://github.com/lukesampson/scoop) with community maintained buckets (repositories). These contain pure json manifests that tell Scoop how to download, install and update apps. Since Scoop installs to a subfolder of your user directory by default, everything is in one place and admin privileges are not needed. Perfect for dev tools!

# Shovel?

Incredible sense for naming, I know. Having used [Homebrew](https://brew.sh/) before, I found that I used the [Formulae](https://formulae.brew.sh/) page more often to search for apps than `brew search`. As such, I tried to do the same for Scoop, but had to revert to `scoop search` quite often. No search in form of a web app (that I knew of) was available, and search engine coverage of the manifests on GitHub seemed to be spotty.

Cue [Shovel](https://shovel.sh), an after-work project to make searching for Scoop manifests just a bit more streamlined.

# So?

Try out how [Shovel](https://shovel.sh) fits into your workflow! Please report issues or even submit pull requests to the 
* [web app repo](https://github.com/mertd/shovel) containing the React SPA (JavaScript)
* [data repo](https://github.com/mertd/shovel-data) containing the Go script that pulls all manifest data together to make it searchable client-side.

The project has mainly been a playground for me so far, i.e. containing my first steps in Go. If it can improve your workflow too, even better!
Got 5 Minutes to Spare? Why Not Set up a Custom Commit Message Template?
Tags: git, learning, thisweekilearned, customization
Published: 2020-05-27 14:03:06

A commit message template is one of those things that takes a small amount of effort to setup, but can pay dividends in your workflow. I've been using commit message templates for a while, but revisited the process recently, and thought it would be worth sharing. 

By default, if you don't use the `-m` option while committing, you will be taken to the editor, and presented with this text:

{% gist https://gist.github.com/noelworden/5f82c3c2b216496a90a9b58099c8e2ae %}

This generic message can be updated to suit your specific needs. You _could_ change the existing text file, its found at: `~/.git/COMMIT_EDITMSG`. But it's better practice to create a new text file, and set that as the file git uses as the commit message template. These are the steps to do that:

- Create a new text file
    - I set mine as a dot file and in the home directory:

    `touch ~/.customcommitmessage.txt`

- Add whatever text helps you make the best commit messages
    - You can pre-fill often used elements, like the prefix of a ticket number
    - Add all the notes and reminders you'd like to see, just begin those lines with a `#`
    - This is snippet from my personal commit template:

    {% gist https://gist.github.com/noelworden/4e994617d2b3e7e8e96eceb7e263c421 %}

- Once the text file has all the desired text, it needs to be set in the git config:

    `git config --global commit.template ~/.testgitmessage.txt`

Now that it's setup, you'll see it every time you `git commit` (without the `-m` option)

While dealing with the git config, if you haven't done so already, you can select what editor you'd like to use for commit messages. If you'd like the editor to be VIM or Emacs just include that in the quotes:

`git config --global core.editor "vim"`

If you'd like it to be something like VSCode or Sublime, you need to add `--wait` so that git knows to wait for the data coming back from the editor:

`git config --global core.editor "code --wait"`

And that's it, with relatively minimal effort you can have a custom commit message template and make that commit message on whichever editor you'd like.

------

This post is part of an ongoing *This Week I Learned* [series](https://dev.to/noelworden/beginning-of-a-blog-series-5aj3). I welcome any critique, feedback, or suggestions in the comments.
Jak aplikacja m-commerce wpływa na sprzedaż?
Published: 2020-05-27 13:50:13

Zastanawiasz się, jak zwiększyć sprzedaż nie tylko w internecie, ale także w punktach stacjonarnych? Dowiedz się, jak m-commerce wpływa na sprzedaż, i skorzystaj z korzyści, które niesie ze sobą rynek zakupów mobilnych. W jakim celu tworzy się oprogramowanie retail, co możesz dzięki niemu zyskać i czy m-commerce to teraźniejszość, czy przyszłość sprzedaży we współczesnym świecie?

Spis treści:
M-commerce - co to jest?
Garść statystyk o aplikacjach i rynku m-commerce
Korzyści z zastosowania aplikacji m-commerce - nie tylko w sprzedaży online
Jak wypromować aplikację mobilną?
Aplikacja m-commerce - ile to kosztuje?

Więcej informacji tutaj: https://exaco.pl/jak-aplikacja-m-commerce-wplywa-na-sprzedaz/
Covid-19 India Tracker Shiny WebDashboard in R
Tags: datascience, computerscience, showdev
Published: 2020-05-27 13:49:33

###With over 1.50Lakhs confirmed cases of COVID-19 in India, I along with my brother(Senior Data Scientist) has implemented the COVID-19 India Tracker Shiny app using R.

###[Covid-19 India Tracker](https://anishsingh.shinyapps.io/COVID-19IndiaTracker/)

###With no prior experience in R, I learn how easily this language allows you to import, clean, manipulate, and visualize data-all integral skills for any aspiring data professional or researcher. I would recommend all my linked connections with similar interests looking to boost their R skills and wanting to learn to make an Interactive Dashboard for Web Apps should try out this awesome course by DataCamp.

###It is one of the best courses which I have completed to succeed with this project.

##<q><i><b>Also, I have noticed that DataCamp is giving 75% off access to all the courses for free for one week starting from 26th May running until June 2, 8 PM ET. So this would literally be the best time to grab some monthly subscriptions(which I have) which basically has unlimited access to all the courses and other things on DataCamp and make fruitful use of your time sitting at home during this Pandemic.</b></i></q>

<b><q><i>#Datacamp #R #shiny #ShinyApss #dashboardWebApp #Covid #learneveryday #DataVisualizations </i></q></b>

#[Building Dashboard with Shiny in R](https://www.datacamp.com/courses/building-dashboards-with-shinydashboard?tap_a=5644-dce66f&tap_s=841152-474aa4)
What’s your alternative solution? Challenge #52
Tags: challenge, javascript, codenewbie, learntocode
Published: 2020-05-27 13:46:43

# About this series

This is series of daily JavaScript coding challenges... for both beginners and advanced users.

Each day I’m gone present you a very simple coding challenge, together with the solution. The solution is intentionally written in a didactic way using classic JavaScript syntax in order to be accessible to coders of all levels.

Solutions are designed with increase level of complexity.

## Today’s coding challenge

```
Find the maximum number in a jagged array of numbers or array of numbers

```

(scroll down for solution)

## Code newbies

If you are a code newbie, try to work on the solution on your own. After you finish it, or if you need help, please consult the provided solution.

## Advanced developers

Please provide alternative solutions in the comments below. 

You can solve it using functional concepts or solve it using a different algorithm... or just solve it using the latest ES innovations.

By providing a new solution you can show code newbies different ways to solve the same problem.

## Solution

```javascript
// Solution for challenge46b

var ar = [2, 4, 10, [12, 4, [100, 99], 4], [3, 2, 99], 0];

var max = findMax(ar);
println("Max  = ", max);

// Use a stack to find the maximum numeric value in an array of arrays
function findMax(arElements)
{
    var max = -Infinity;

    // This is the stack on which will put the first array and then 
    // all the other sub-arrays that we find as we traverse an array     
    var arrays = [];

    arrays.push(arElements);

    // Loop as long as are arrays added to the stack for processing
    while(arrays.length > 0)
    {
        // Extract an array from the stack
        ar = arrays.pop();
        
        // ... and loop through its elements
        for(var i = 0; i < ar.length; i++)
        {
            var el = ar[i];

            // If an element is of type array, we'll add it to stack
            // to be processed later
            if ( Array.isArray(el) )
            {
                arrays.push(el);
                continue;
            }
            
            if ( el > max )
            {
                max = el;
            }
        }
    }

    return max;
}

```


To quickly verify this solution, copy the code above in this coding [editor](https://codeguppy.com/code.html) and press "Run".

> Note: The solution was originally designed for [codeguppy.com](https://codeguppy.com) environment, and therefore is making use of `println`. This is the almost equivalent of `console.log` in other environments. Please feel free to use your preferred coding playground / environment when implementing your solution.
Real time mask tracing
Tags: tensorflow, covid19, python
Published: 2020-05-27 13:46:05

Hi! How are you? 

Hope you are wearing your mask during current pandemic. 

To help you with that task here is an app that uses webcam to detect real-time if you are wearing it. Check it under: https://github.com/partyka1/mask-off ! It requires basic python knowledge and a webcam. 

Cheers stay safe!
Local WordPress plugin development with docker-compose
Tags: wordpress, docker
Published: 2020-05-27 13:40:58

As my WordPress plugin development process was quite flawed (Write code locally => upload via FTP => test on server => repeat :’D) I had to search for a better solution for being able to local develop plugins and test them.

I used this awful process before as I did not want to install all required software for running WordPress (Apache, MySQL, PHP) on my local machine as I like it being clean and only having services running I really need at that certain moment.

The better sysadmins of you would claim that I still could easily start/stop the services for only having them running when I am developing…but boy that still sounds like a way to big hassle for me.

And as you always do this nowadays: Docker for the rescue 😉
After researching and working my way to build a docker-compose file I now can say: This time this approach worked like a charm.

It now only is docker-compose up and WordPress is running. I can live edit the files of my plugins, and they are loaded and used instantly.

## docker-compose.yml

I assume you know about docker and docker-compose, if not give this article a read.

```yaml
version: '3.3'
services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: rootpw
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress
   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8080:80"
     restart: always
     volumes:
         - ../mastodon_wordpress_autopost/autopost-to-mastodon/trunk:/var/www/html/wp-content/plugins/autopost-to-mastodon:ro
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
       WORDPRESS_DB_NAME: wordpress
volumes:
    db_data: {}
```

After executing `docker-compose up` in the directory of the `docker-compose.yml` all the services are started up and you are greeted with a WordPress installer on `localhost:8080` (as I mapped the WordPress port to 8080).

Click trough the WordPress installer and you got a working instance running.

Via the volumes section you can map outside directories into the installation.
E.g. The following config maps my local developer directory `../mastodon_wordpress_autopost/autopost-to-mastodon/trunk` (which I have open in my editor) into the plugins directory of WordPress.

```yaml
 volumes:
         - ../mastodon_wordpress_autopost/autopost-to-mastodon/trunk:/var/www/html/wp-content/plugins/autopost-to-mastodon:ro
```

You can map as many directories as you want. Keep in mind that the path is relative to the location of the `docker-compose.yml`

After activating the plugin in the WordPress GUI the plugin is up and running and I can live edit at in my editor. As it is mapped and not copied into the docker container all changes are reflected live.
Introducing Universal AR SDKs for Three.js, Unity, A-Frame & more
Tags: ar, webar, news, webdev
Published: 2020-05-27 13:36:55

Hi everyone, 

I wanted to share an exciting announcement from Zappar. We are delighted to announce the release of our brand new suite of libraries and SDKs we call Universal AR. We’re releasing our core computer vision technologies, including face tracking, image tracking and instant world tracking for you to use with the platform or creative tool of your choice.

https://www.zappar.com/blog/introducing-universal-ar-sdks-threejs-unity-frame-more/
How To Create API Documentation In Minutes?
Tags: webdev, api, discuss
Published: 2020-05-27 13:13:30

Healthy communication is vital to every human interaction. When you are successfully able to articulate your thoughts and feelings to another person, you build a deeper, more meaningful relationship with them. While communication in the real word can be via words, expressions, or technology, communication in the virtual world is done via APIs.

An API ( Application Programming Interface) is an enabler that allows different [platforms and software to communicate effectively](https://blog.elink.io/best-live-chat-software/). It is through an API that different software can interact with each other and share each other’s assistance and resources.

This is why it is so important to write API documentation.

[As you create your API](https://blog.bit.ai/how-to-create-api-documentation/), you want to provide descriptive API documentation to help your developers integrate connections easily. Sadly, many documentations make the execution process extremely difficult, defeating their very purpose!

The best way to solve this problem is to use an API documentation template. With such a template, you can have the perfect product that will become a base for good developer experience and better user adoption.

Before we introduce you to a well-formatted API documentation template, let us first understand what exactly is API documentation, why it is important, and what are the key components of an API document. Let’s go!

##What Should You Include in Your API Documentation?

API documentation typically has a ton of information. Some of the key elements include:

*Title*: Provide a title for your API Documentation

*Introduction*: Briefly explain/state/mention the sections that you would be going over.

*Tutorials*: Provide a detailed step-by-step guide of the API.

*Examples*: It’s always a good idea to provide examples. It will give your readers more information and give them possibilities to imagine within the context.

*Code Snippets*: Whenever necessary share code snippets with your reader to help them connect the dots.

*Additional Resources*: If you have any additional GIFs, videos, etc. share them with your reader.

###[API Documentation Template](https://bit.ai/templates/api-documentation-template)

To make the process of creating your API Documentation easier, we have created a ready-made API documentation template for you! Check it out in the link above-
🔥 Quick Tip: How to use the Composite design pattern
Tags: javascript, tutorial, beginners, showdev
Published: 2020-05-27 13:12:17

On this simple trick, I'll show you how to use the Composite design pattern.

```js
const canLowerCase = state => ({
  lower: () => state.text.toLowerCase()
});

const canUpperCase = state => ({
  upper: () => state.text.toUpperCase()
});

const mergeBehaviors = (state, ...behaviors) => 
  Object.assign({}, canLowerCase(state), canUpperCase(state), ...behaviors);

const makeText = text => {
  const state = {
    text,
  };
  
  const canPrintText = (state) => ({
    print: () => `CURRENT TEXT: "${state.text}"`
  });
  
  return mergeBehaviors(state, canPrintText(state));
}

const newText = makeText('Lorem Ipsum');

console.log(newText.lower()); // => 'lorem ipsum'
console.log(newText.upper()); // => 'LOREM IPSUM'
console.log(newText.print()); // => 'CURRENT TEXT: "Lorem Ipsum"'
```

Did you like it? Comment, share! ✨
Welcome Thread - v75
Tags: welcome
Published: 2020-05-27 13:09:55

---
title: Welcome Thread - v75
published: true
description: Welcome to DEV! A thread of hellos and intros.
tags: welcome
---

![colorful hey](https://media.giphy.com/media/l1J9uTjO4mqy36gqQ/giphy.gif)

### Welcome to DEV!

1. Leave a comment below to introduce yourself! You can talk about what brought you here, what you're learning, or just a fun fact about yourself.

2. Reply to someone's comment, either with a question or just a hello. 👋 

**Great to have you in the community!**
Daily Challenge #249 - Incremental Changes
Tags: challenge
Published: 2020-05-27 13:02:50

---
title: Daily Challenge #249 - Incremental Changes
published: true
series: Daily Challenge
description: Implement an algorithm to change these numbers.
tags: challenge
---
Implement an algorithm which increases `number` and returns the result. Start from `number` and increment by `step` as many times as `iterations` demands.
Input: `number`, `iterations`, `step`.

Example:
alg(2, 5, 10) => 2 + 10 + 10 + 10 + 10 + 10 = 52
alg(17, 3, 6) => 17 + 6 + 6 + 6 = 35

Tests:
alg(100, 5, 50)
alg(14, 20, 4)

Good luck!
***
_Want to propose a challenge idea for a future post?  Email **yo+challenge@dev.to** with your suggestions!_
Dev.to search bar sucks
Tags: meta
Published: 2020-05-27 12:31:38

I wish I don't have to comment about this, but in Dev.to search bar, there is no option to sort by date, and it is hard to find what I am looking for, like old posts.

![](https://res.cloudinary.com/patarapolw/image/upload/v1590582604/screencapture-dev-to-search-2020-05-27-18_16_11_dzdr8r.png)
Help: How to display my website according to country
Tags: help, html, beginners, javascript
Published: 2020-05-27 12:29:50

Hello everyone. 

Hope you are all well :) 

I have a small simple website (Html, JS) that shows a Lucky Wheel.. when you spin it, each spin will display a nice Popup with a text.

Now, the text is in English. 
I want to add to the same Popup message text but with the Hebrew language. (translate of the English one).
I want the following:
* If someone will come from Israel - The message will be in Hebrew
* If someone will come from the rest of the world - The message will be in English (translation will be extended with the time)

How can I implement that flow !? 
Do I need to copy the page? 
Coping the class?
Any other advice.. 

Your help would be much appreciated! 

Thank you in advanced
:)
Styling siblings on hover in CSS
Tags: tutorial, css, beginners, codepen
Published: 2020-05-27 12:28:09

Normally, you would need JavaScript to stylize all the siblings of an element you're interacting with. But wait! There's a cool method based 100% on CSS.

The idea, in short, is to target the :hover of the parent, then target all the children except the one you're hovering over.

```css
.parent:hover .child:not(:hover) {
  /* this style affects all the children except the one you're hovering over */
}
```

Here's an example:
{% codepen https://codepen.io/codyhouse/pen/KKdrmXj %}

Originally published at [CodyHouse.co](https://codyhouse.co/nuggets/styling-siblings-on-hover)
How to Develop an On-Demand Appointment App for Patients and Doctors?
Tags: android, ios, healthydebate
Published: 2020-05-27 12:17:01

With near-complete digitalization of the economy in all spheres, even the doctor-patient relationship is going in for a rapid transformation. One will always recollect the visits to the doctor’s place for appointments or visiting the outpatient department in polyclinics and nursing homes standing in a queue to seek an appointment for themselves.

Many will recollect not so good memories of those visits to meet the doctors as one had to experience very critical and highly anxious moments. Now those harrowing days will be gone. With the on-demand healthcare app which is a rage these days, better days are ahead. Patient parties can now book appointments for their patients in a much lesser stress-free ambience and state of mind.

The Rapid Advancements in the Medical Field
With the rapid advancement of medical science and the IT industry, the science of medical app development has grown by leaps and bounds. One such pathbreaking development is the doctor’s appointment app. In recent years the growth of healthcare apps sector has been phenomenal. According to recent studies, statistics it has been reported that by the end of next year this market will grow by an annual growth rate of 16%.

Even doctors, medical practitioners and healthcare workers are keen and going two steps ahead to take the best advantage of medical app development. The percentage of smartphone users not only in urban and semi-urban areas but also in the rural belt has increased manifold and a recent study confirmed that almost 80% of physicians and healthcare professionals are using on-demand healthcare app on a regular basis.

The ongoing global pandemic has changed the entire profile of health history and more so of the usage of software in the health care sector. Many governments have come out with their apps like Aarogya Setu in India, Salud Responde in Spain and Kwarantanna Domowa of Poland. Of course one can always access the COVID 19N Tracker symptom under the aegis of the World Health Organisation { WHO}.

Even WHO has a chatbox exclusively on Corona Virus. The question here now is how will any other person who is not suspected to be infected by COVID show a physician? Here comes the stellar role of the doctor’s appointment app which will play a pioneering role in the days to come. 

Read in detail here: https://www.rlogical.com/blog/on-demand-appointment-app-for-patients-and-doctors/