teleren/devto huggingface dataset:
Final checks before launch
Tags: showdev, help, webdev
Published: 2020-08-18 14:09:45

Hi 💁‍♂️

We are still working on the MVP but we plan to officially launch our website next week. Any comment, suggestion, remark about the service and the website would help us greatly.

Address : https://www.thedatapond.net

Based on your feedback over the past few days, we've tried to improve our landing page. He added three case studies to help people better understand what the website is for.

We are still wondering what's the better headline :
* GEOLOCALIZED OPEN DATA EXTRACTION
or
* EXTRACT GEOLOCALIZED OPEN DATA

The subtitle is : "from a geographic area to a list of names, addresses, websites, phone numbers, email addresses...". Does it help ?

And we are thinking about adding this somewhere : "Are you looking for clients in a particular geographic area and in a particular industry? Try TDP to build a contact list and start offering your services.".
Is it necessary ? relevant ? too much ?

If you find a typo or grammar errors, please let us know.

We look forward to reading your comments.

Thanks 🙏
---

The three case studies : 
 
**CASE STUDY #1**
*Babelli, translation company*
Babelli specializes in the translation of menus and websites. This small company wants to offer its services to bars in two new small towns. They plan to cold call potential clients, check their website, ans send them documentation. 
data extracted :
* 761 addresses
* 402 websites
* 578 phone numbers
* 339 email addresses 

**CASE STUDY #2**
*Henry, accountant specializing in restaurants*
Henry would like to expand his client list. He will therefore seek new contacts, district by district, starting with the Chelsea district, in order to offer his services to restaurant managers. 
data extracted :
* 140 addresses
* 80 websites
* 56 phone numbers
* 16 email addresses 

**CASE STUDY #3**
*Valentine, creator / designer*
Valentine has created a new plastic-free flower packaging. She wishes to contact the florists of her city to present her creation and convince them to switch to eco-friendly packaging. 
data extracted :
* 208 addresses
* 92 websites
* 98 phone numbers
* 74 email addresses 

Data from services like Google Maps or Foursquare cannot be used for marketing or communication. For example, Google Maps Terms of Services (3.2.3) say 'No Scraping. Customer will not export, extract, or otherwise scrape Google Maps Content for use outside the Services.
Data from The Data Pond are under the Open Data Commons Open Database License (ODbL).'You are free to copy, distribute, transmit and adapt our data, as long as you credit OpenStreetMap and its contributors. If you alter or build upon our data, you may distribute the result only under the same license.'
Manual Testing Interview Questions and Answers
Tags: testing
Published: 2020-08-18 13:57:37

Top Manual Testing Interview Questions 

Q1. Why will you use automation testing?

Ans: Efficiency of testing greatly improves with automation testing, efforts and costs are greatly reduced and accurate results are provided.

Q2. How will you define automated testing?

Ans: Automated testing is the use of software to control the execution of tests, the comparison of actual outcomes to predicted outcomes and the setting up of test preconditions.

Q3. List down the limitations of automated testing.
Ans:

Planning and preparing all test cases for the software under test is difficult.
It is mainly effective in testing GUI based applications. Automated testing is not effective for non GUI applications.
To be very honest it is mostly dependent on GUI layout so when the interface changes the automated test script must also be modified.

Q4. Give scenarios where you will prefer automated testing.

Ans:
When it improves the speed, coverage, and risk mitigation of the project.
When automated testing implementation is simple.
If changes are unlikely and requirements are stable.

Q5. Which components are the best candidates for automated testing?

Ans:
Components are Mission-critical.
Components are Self-contained.
Simple scripting components.

If you want to read more visit here: https://bit.ly/2Wy6U3y
I am building an app that makes your terminal collaborative and team-friendly. Would you use it?
Tags: terminal
Published: 2020-08-18 13:52:44



Hi folks!

Like any developer, I use my terminal a lot during the day. Recently, I switched from VSCode to Vim so the usage went even up. But when working with my team I often felt like the experience is somewhat broken. Often I found myself copying and sending short command snippets on Slack and then searching for them a few days later, taking a screenshot of my terminal output and sending it to my coworkers, or asking my teammates what version of a CLI tool they are using. This got me inspired to work on this project - a terminal that is more team-centric and collaborative.

The app is called Sidekick, here is the landing page - https://getsidekick.app. Sidekick isn't a new terminal emulator. Instead, it's an app that runs alongside your existing terminal emulator. This way you don't have to switch to a new terminal app from your favorite one. Sidekick is something like a command center for your dev team.
Some of the features are:

- Hassle-free terminal session sharing with your team. It's done through WebRTC and it's collaborative for both sides.

- Share & pin commands with your team so you don't have to send it to each other on Slack and then search for it 5 days later.

- See what projects are your teammates working on in the realtime.

- See what tools have your teammates installed and their versions.

- Be able to search in your team's shell history.

I would love to know your feedback on this and learn more about the problems you have when using terminals in your team.

Happy to answer any questions! Thanks!
Experiences with the Shape Up process
Tags: discuss, projectmanagement, buildingsoftware
Published: 2020-08-18 13:48:28

---
title: Experiences with the Shape Up process
published: true
description: 
tags: #discuss #projectmanagement #buildingsoftware
//cover_image: https://direct_url_to_image.jpg
---

I run a small software team where we have been experimenting with the [Shape Up process](https://basecamp.com/shapeup/webbook) developed by the people at [Basecamp](https://basecamp.com/). We've only ran a handful of projects with them, and it's been a interesting ride so far. All of our projects have been huge successes from the business perspective, but I'd be lying if we didn't run into some roadbumps along the way.

If you have not heard about Shape Up before, I highly recommend at least reading through some of the introductory pages of the process (or the whole book - its [freely available online](https://basecamp.com/shapeup/webbook)). The basic idea of the process is that you spend a lot of time "shaping up" brand new projects by spending time researching, thinking of the basic elements of a new feature, the impact on the business or customer, and de-risking any particularly gnarly technical questions up front and in an asynchronous manner from teams actually performing project work. Finally, the team that will execute the project receives a fully-baked idea that gives them plenty of creative wiggle room to make meaningful decisions on _how_ the idea will become a reality. The project team does this by having full control over scope, and being given the time to explore different ways to achieve the project as long as the project is executed within a fixed timeline (by default 6 weeks).

I'm interested to hear if anyone else is experimenting with this process, and what their experiences have been so far. For my team, it's allowed us to bite of projects that would have been extremely difficult to execute via a scrum. I suspect that the main reason behind this is the acceptance that engineers will not _truly_ understand the scope of a problem until they start to get their hands dirty. By allowing engineers to have this discovery time baked into the process, as well as giving the project team the power to respond to discovered additional work by having control over the overall scope of the project has been a game changer for us.

So - is anyone else using the Shape Up method? Does it sound interesting? What are your thoughts?
Coding is fun until you encounter shits
Tags: article, coding
Published: 2020-08-18 13:37:18

Well, a line of code requires hours of study;
Even then, a line of quality code(use the right variable, data structure) require days of study and experience from works.

Stop telling others that coding is easy and fun.

https://aeon.co/ideas/coding-is-not-fun-it-s-technically-and-ethically-complex
Day 34 of #100DaysOfCode: Review CSS-Three ways to center the HTML element
Tags: css, webdev, frontend, html
Published: 2020-08-18 13:33:58

### Introduction
The *Review CSS* series is the note for some common CSS usages. Three are three ways for centering the HTML element.

### Method 1. Use relative/absolute, top/left, and margin 
1. Use *absolute* and *top/left* to center the child component
2. Move back the child component with *margin*    

#### Demo
{% codepen https://codepen.io/JenHsuan/pen/jOqrdWa %}

#### Code
```html
<div class="outer">
  <div class="inner">
    <p>center</p>
  </div>
</div>
```
```css
.outer {
  background-color:green;
  position: relative;   
  height: 400px;
}
.inner {
  background-color: blue;
  position: absolute;   
  height: 100px;
  width: 200px;
  margin: -50px 0 0 -100px;  
  top: 50%;
  left: 50%;
}
```

### Method 2. Use relative/absolute, top/left, and translate
1. Use *absolute* and *top/left* to center the child component
2. Move back the child component with *translate*  
  
#### Demo
{% codepen https://codepen.io/JenHsuan/pen/ExKyrNM %}

#### Code
```css
.outer {
  background-color:green;
  position: relative;   
  height: 400px;
}
.inner {
  background-color: blue;
  position: absolute;   
  height: 100px;
  transform:translate(-50%,-50%); 
  top: 50%;
  left: 50%;
}
```

### Method 3. [flexbox] use align-items and justify-content

#### Demo
{% codepen https://codepen.io/JenHsuan/pen/qBZEwVa %}

#### Code
```css
.vertical-container {
  height: 300px;
  display: -webkit-flex;
  display:         flex;
  -webkit-align-items: center;
          align-items: center;
  -webkit-justify-content: center;
          justify-content: center;
  background-color:green;
}

.center{
  background-color: blue;
}
```

That's it!

## Articles
There are some of my articles. Feel free to check if you like! 
* My blog-posts for software developing: https://medium.com/a-layman
* My web resume: https://jenhsuan.github.io/ALayman/cover.html
* Facebook page: https://www.facebook.com/imalayman
* My latest side project - Daily Learning: https://daily-learning.herokuapp.com/
Angular Form Controls and [ngValue] binding with Option elements
Published: 2020-08-18 13:28:41


**New Discovery**
Use ngModel instead!
{% link https://dev.to/jwp/angular-validation-using-ngmodel-55gf %}

```typescript
 <select
   formControlName="state"  
 >
 <option
   *ngFor="let state of states"
   [selected]="state.name === address.state"
   [ngValue]="state.name"
 >
 {{ state.name }}
 </option>
```
Here we show a Select control allowing the user to pick a State. The Options are created via the *ngFor statement using the array of states.

Notice the [ngValue] directive? It serves to stop the Select control from pseudo-selecting the first option in the list.  If we are using formControl validation, that first psuedo-selected Option is also marked invalid! Oh yes, one other thing, the [selected] test doesn't work either.  

This tells us that even when we specify the value to show 'state.name' it's not enough.  

JWP2020
Customizing Strapi API - A Mini-Series 
Tags: strapi, javascript
Published: 2020-08-18 13:20:59

[Strapi](https://strapi.io) is an Open Source headless CMS based on NodeJS. It provides the backend admin tools to quickly create an API – both REST and GraphQL. 

This is a mini series which outlines:

1. [Setting up Strapi and creating an API](https://arunmozhi.in/2020/08/08/strapi-creating-an-api-without-a-single-line-of-code/)
2. [Adding ownership control to the API endpoints](https://arunmozhi.in/2020/08/11/strapi-adding-isowner-policy-to-the-api/)
3. [Optimising REST API responses to prevent auto-populating relations](https://arunmozhi.in/2020/08/18/strapi-optimizing-rest-api-responses-by-preventing-auto-population-of-relations/)

I wrote the above posts based on what I learned from trying to use Strapi as the backend for a user-focused application. I think Strapi provides a fantastic base to start building a web application and hope the things I learned is useful for someone else too.

P.S: I am sorry that I couldn't post the full article here. I hope some day Dev.to's liquid tags will support Wordpress posts.
On my 'GCP-for-Bioinformatics' free course
Tags: googlecloud
Published: 2020-08-18 13:10:30

My [talk at this year's GCP:Next](https://cloud.withgoogle.com/next/sf/sessions?session=DA111#industry-insights) published.  It's on my free course (on GitHub) - 'GCP-for-Bioinformatics'

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/zphvu1s79zsj3cr190yo.png)

The course includes markdown pages (notes), sample code and screencasts.  It covers a broad range of GCP topics and uses bioinformatics data and examples.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/3v7x3p5tvolxxr2bow64.png)

I welcome contributions and feedback via GitHub PRs too.
Convert Swagger 2.0 to OpenAPI 3.0
Tags: openapi, javascript, swagger
Published: 2020-08-18 13:09:34

Staying with Swagger 2.0 is like staying with ... still working on a good comparison. Anyway, you should migrate to OpenAPI, and my goal here is not to convince you why. I assume you already made this smart decision, and I just want to make it easier for you.

I did not perform any more in-depth investigation of available tools. There are [tools](https://github.com/Mermade/oas-kit) provided by Mermade Software. To be more specific, by [Mike Ralphson](https://twitter.com/PermittedSoc) that is a member of [Technical Steering Committee](https://github.com/OAI/OpenAPI-Specification/blob/master/MAINTAINERS.md). For me, this is a good reason not to research different tools.

- [Convert in a Browser](#convert-in-a-browser)
- [Convert in a Terminal](#convert-in-a-terminal)
    - [NPM](#npm)
    - [NPX](#npx)
    - [Docker](#docker)
- [Convert Multiple Files](#convert-multiple-files)

## Convert in a Browser

Conversion in a browser is addressed by [Kin Lane](https://twitter.com/kinlane) aka API Evangelist in [this thread and the video](https://twitter.com/apievangelist/status/1295502093625643008) so watch it and go to https://mermade.org.uk/openapi-converter

## Convert in a Terminal

Use [swagger2openapi](https://github.com/Mermade/oas-kit/blob/master/packages/swagger2openapi/README.md) and have fun:

### NPM

1. Install the tool `npm install -g swagger2openapi`
1. Run conversion `swagger2openapi --yaml --outfile openapi.yaml https://petstore.swagger.io/v2/swagger.json`

And that is it. Check your new `openapi.yaml` file.

### NPX

[NPX](https://www.npmjs.com/package/npx) is useful in CI/CD where you do not want to install `swagger2openapi` globally.

`npx -p swagger2openapi swagger2openapi --yaml --outfile openapi.yaml https://petstore.swagger.io/v2/swagger.json`

### Docker

NPM and NPX is not your thingy? use the Docker image provided by Mike.

```bash
#this part "-v ${PWD}:/usr/src/app" mounts the directory where you started "docker run" inside the container where CLI is triggered, this way generated "openapi.yaml" gets into your local drive
docker run --rm -v ${PWD}:/usr/src/app mermade/swagger2openapi swagger2openapi --yaml --outfile openapi.yaml https://petstore.swagger.io/v2/swagger.json
```

## Convert Multiple Files

You most probably have many services, and you need to convert many Swagger files, and you do not want to do it one by one but all at once with a script. You can use Bash and write some script that runs the CLI, but writing Bash scripts is like ... yeah, one day I'll find a good comparison.

Just use `swagger2openapi` as a library. Go to [this](https://github.com/derberg/convert-swagger-to-openapi-playground#convert-multiple-files) repository and try out the sample project that converts multiple files located in directories and subdirectories.

{% github derberg/convert-swagger-to-openapi-playground#convert-multiple-files %}
React and D3: COVID-19 Visualizations (Epilogue: When API Rate-Limiting Kills the Project)
Tags: react, d3, codenewbie
Published: 2020-08-18 12:43:37

*In my last post, I described how I managed the various reporting formats of COVID-19 data across countries in order to implement a dashboard that displayed COVID cases by province for every country in the world.*

This post is a quick follow-up, describing the challenges I have encountered since that point, and why I have decided to move on without completing this project.

Looking back, I started this project in mid-May, back when there were relatively few APIs dedicated to sharing COVID data, and relatively few dashboards. At that point, I felt that my design filled a need (country comparison) that was not easily fulfilled by other dashboards. Since then, the amount of data has exploded (especially in the United States), as well as the number of dashboards allowing users to directly interact with the data.

Although I have loved working on this project as a learning endeavor and have many more features I would like to implement, it is time to put this project to rest in its current state. Unfortunately, [the API I have been using for the country-comparison dashboard](https://covid19api.com/) has become a paid subscription service, and the free version has instituted rate-limiting. As a result, my program works intermittently, and often throws errors when it is unable to fetch current data. I could pay $10 per month to get it up and running again with a paid subscription, but since there are so many COVID dashboards out there already, I decided its time to move on to my next project.

If you've stumbled upon my previous posts, the URL for the site is still up, but be prepared for inconsistency in fetching data, and incomplete United States state-by-state data due to the rate-limiting issue.

*Although my API situation is a disappointment, it's time to move on! I'm currently looking for new ideas to create my next data dashboard project. What should I build next? Please leave ideas in the comments below!*
Preact SPA into a Wordpress theme
Tags: preact, wordpress, theme, node
Published: 2020-08-18 12:25:50

Updated: Aug 19th, Found a solution that, however manual it's pretty clean and doesn't require adding new dependencies.

# Why?

Recently I was asked to run a small web to hub the contents of a poetry event. Wordpress or Strapi were my first options but I don't feel confident with PHP to fully customize wordpress and I had no practice with Strapi at all.

I have ran some test projects with Preact and it's CLI (https://github.com/preactjs/preact-cli/) makes it pretty easy to start a SPA.

# What?

Given we have done an SPA capable of fetch Wordpress posts from it's API, and categories and all that; we still will have to manage with deployment and issues like CORS.

The obvious solution is to use your SPA as a Wordpress Theme.

# How to do it myself?

Imagine that our theme formal name is `preact-spa`. We will store the output into the folder `wp-theme`.

Then, step by step:

1. Create a `preact-wp.config.js` with this content:
    ```
    import previous from './preact.config.js';
    
    export default function (config, env, helpers) {
        config.output.publicPath = '/wp-content/themes/preact-spa/';
        previous(config, env, helpers);
    }
    ```
1. Now we have to build it:
    ```
    yarn build -c preact-wp.config.js --dest wp-theme
    ```
    you can also run `npm run build ...` if not using `yarn`.
1. Copy or rename `wp-theme/index.html` as `wp-theme/index.php`.
1. If you are using css urls you may notice that the path to these files is not set to be under wp-content/... a barbarian but practical solution is to install `string-replace-loader` as a development dependency and expand our `preact-wp.config.js`
    ```
    import previous from './preact.config.js';
    
    export default function (config, env, helpers) {
        const publicPath = '/wp-content/themes/nsp/';
        config.output.publicPath = publicPath;
        config.module.rules.push({
            test: /\.css/,
            loader: 'string-replace-loader',
            options: {
              search: /url\('\/assets\/(.*)?'\)/ig, 
              replace: (_match, resource) => `url('${publicPath}assets/${resource}')`,
              flags: 'g',
            }
          });
        previous(config, env, helpers);
    }
    ```
1. create a new `wp-theme/style.css` file: 
    ```
    /*
    Theme Name: Preact SPA
    Author: Your Name
    Author URI: https://github.com/your-github
    Description: Create React WP Theme in no time
    Version: 0.0.1
    License: GPL
    License URI: http://www.gnu.org/licenses/gpl-2.0.html
    Tags: generated
    Text Domain: your-domain
    
    This theme, like WordPress, is licensed under the GPL.
    */
    ```
1. [optional] Consider some cleanup before shipping:
    ```
    rm wp-theme/*map wp-theme/sw-debug.js
    ```
1. Zip it to your Wordpress site and switch to this theme.


#Issues?

Sure, Creating a theme from running `yarn dev` so it updates it self as the code changes. However I don't consider it really necessary.

#Yes... But?

Questions? Comments? Please comment below I would be happy to help.
As a developer, what problems do you face during job search? 🤔
Tags: watercooler, career, discuss
Published: 2020-08-18 12:21:42

Here at DEV, we're a diverse community 👨‍💻👩‍💻
Some of us own tech companies. Some of us are devs who work with tech companies. And some of us are devs still looking to be hired.

Most developers have faced some sort of problems while finding a job. Sharing these with the employers/recruiters on DEV can help make the process better. 

And most importantly, y'all devs can vent out 💆‍♀️💆‍♂️

So, do you have something to add to the conversation?

*PS: Hilarious responses are just as welcome as serious ones!*
Adding profanity check to Github comments using Github Action.
Tags: actionshackathon, javascript, github
Published: 2020-08-18 12:21:32

I started with building a `comments-emoji` action which would translate your issue and PR comments to emojis. The idea behind it was to get started with Github Action.

Now, new ideas keep poping and as a result here is another addition to Github Action `comments-emoji`, this time its something helpful for Open Source Maintainers.

### My Workflow

With addition of this new feature, now user can enable profanity check using `comments-emoji` action.

To benefit this feature, user has to add input `enablePolice` flag with value "true" in there workflow.

As a result the `comments-emoji` action will replace all bad words with emoji 🤐.

```yml
...
      - name: Comment Emoji - action exe
        uses: dreamer01/comments-emoji@master
        with:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          enablePolice: true

```

### Submission Category: 

Maintainer Must-Haves, This will help maintainer to maintain positive and safe environment.


### Code

Complete YML file

`comments.yml`
```yml
name: Emoji Comments

on:
  issue_comment:
    types: [created]
  pull_request_review_comment:
    types: [created]

jobs:
  comment-emoji:
    runs-on: ubuntu-latest
    name: Emoji Comments
    steps:
      - uses: actions/checkout@v2
      - name: Comment Emoji - action exe
        uses: dreamer01/comments-emoji@master
        with:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          enablePolice: true
```


Code for Github Action can be found here.

{% github dreamer01/comments-emoji no-readme %}