teleren/devto huggingface dataset:
Makers: What vlog content would you like to see?
Tags: coding, learning, vlog, teach
Published: 2020-08-17 13:50:17

---
title: Makers: What vlog content would you like to see?
published: true
description: Vote on my poll to direct me to the content you want to see more of!
tags: coding, learning, vlog, teach
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/3iidm7e34yl389vhun3z.png
---
Dear fellow coders and makers : I've posted a poll on twitter to find out what 🎬 vlog content is most appreciated/sought after. 

Is it startup or developer stuff in general. 
Vlogs about Xamarin mobile app dev? 

Let me know by voting so I can get get more input:

[My twitter poll](https://twitter.com/EeKayOnline/status/1294749068900667396)

Sharing is ♥️ and will help me to get clearer insights! 🙌🏻
Kubebuilder Installer
Tags: actionshackathon, kubernetes
Published: 2020-08-17 13:48:23

[Instructions]: # (To submit to the GitHub Actions x DEV Hackathon, please fill out all sections.)


### Kubebuilder Installer
This is the sugar action that helps me to replace the script inside my operator action development.
It will download the corresponding version of kubebuilder and keep it under `/usr/local/kubebuilder`.


### Submission Category: 
Maintainer Must-Haves, Wacky Wildcards (Mainly used for the CI in Kubernetes operator development)

[Note]: # (Maintainer Must-Haves, DIY Deployments, Interesting IoT, Phone Friendly, or Wacky Wildcards)


### Yaml File or Link to Code
{% github https://github.com/RyanSiu1995/kubebuilder-action %}


### Additional Resources / Info
The first version of this action is just to use the `child_process` inside JS. In the next release, it will change back to the standard libraries in JS.
Dropped a "Golang Course For Absolute Beginners"
Tags: showdev, go, programming
Published: 2020-08-17 13:42:38

---
title: Dropped a "Golang Course For Absolute Beginners"
published: true
description: Golang For Absolute Beginners
tags: showdev, golang, programming
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/l9q1o1x7p3d1mfdeb77p.jpg
---

🚀 Dropped a "Golang Course For Absolute Beginners" today.

✍ I decided to cover all core concepts of Go Programming language within this course.

➡️ Topics which we will cover:
1) Introduction of Golang 
2) Installation of Golang
3) Golang Setup in VScode
4) Hello World Program
5) Variables
6) Primitives
7) Constants
8) Arrays and Slices
9) Maps and Structs
10) Control Flow
11) Looping
12) Defer, Panic and Recover
13) Pointers
14) Functions
15) Methods
16) Functions V/S Methods
17) Interfaces
18) Go-Routines
19) Channels
20) Packages
21) Simple Server with Gin

😍 After completing this course I will upload my next course "Server-Side Programming with Go".

✍ For now, don't forget to save the playlist, and don't forget to subscribe to my youtube channel.

Channel: https://lnkd.in/dpYJuSy 
Playlist: https://lnkd.in/dPTaF_b

🕴 Tools Which I'm Using:
1) Audacity
2) OpenShot Video Editor
3) Movavi Screen Recorder


# Intro: Video

{% youtube 4LXJ9bLPYLk %}
Swap Two Values without Using Temp Variable in C++
Tags: cpp, c, programming, valueswap
Published: 2020-08-17 13:37:50

///******* In the name of Allah *******///

#include <iostream>
using namespace std;
 
int main() 
{
    int	a = 7, b = 6;
    a += b;
    b = a - b;
    a -= b;
    cout<<a<<" "<<b<<endl;
 
    return 0;
}
/// anybody can apply this idea for any language
Top Pentaho BI Interview Questions and Answers 
Published: 2020-08-17 13:37:04


If you're looking for Pentaho BI Interview Questions for Experienced or Freshers, you are in right place. There are a lot of opportunities from many reputed companies in the world. According to research, Pentaho BI has a market share of about 3.7%. So, You still have the opportunity to move ahead in your career in Pentaho BI Development. Mindmajix offers Advanced Pentaho BI Interview Questions 2019 that helps you in cracking your interview & acquire dream career as Pentaho BI Developer.

Q1). What is Pentaho?

Ans: It addresses the blockades that block the organization’s ability to get value from all our data. Pentaho is discovered to ensure that each member of our team from developers to business users can easily convert data into value.

Q2). Mention the major features of Pentaho?
Ans:

Direct Analytics on MongoDB: It authorizes business analysts and IT to access, analyze, and visualize MongoDB data.
Science Pack: Pentaho’s Data Science Pack operationalizes analytical modelling and machine learning while allowing data scientists and developers to unburden the labor of data preparation to Pentaho Data Integration.
Full YARN Support for Hadoop: Pentaho’s YARN mixing enables organizations to exploit the full computing power of Hadoop while leveraging existing skillsets and technology investments.

Q3). Define the Pentaho BI Project?

Ans: The Pentaho BI Project is a current effort by the Open Source communal to provide groups with best-in-class solutions for their initiative Business Intelligence (BI) needs.

Q4). What major applications comprises of Pentaho BI Project?

Ans: The Pentaho BI Project encompasses the following major application areas:

Business Intelligence Platform
Data Mining
Reporting
Dashboards
Business Intelligence Platform

Q5). Which platform benefits from the Pentaho BI Project?
Ans: 

Java developers who generally use project components to rapidly assemble custom BI solutions
ISVs who can improve the value and ability of their solutions by embedding BI functionality
End-Users who can quickly deploy packaged BI solutions which are either modest or greater to traditional commercial offerings at a dramatically lower cost

If you want to read more click here: https://bit.ly/3h3Q3y1
where would you live if you could be remote full-time?
Tags: discuss, watercooler, remote
Published: 2020-08-17 13:32:39

---
title: where would you live if you could be remote full-time?
published: true
description: covid has changed the rules of remote work, where would you relocate to for telecommuting?
tags: discuss, watercooler, remote
//cover_image: https://direct_url_to_image.jpg
---

If you could go full time remote, where would you move? and why?
Fundamentos do Azure File Storage
Tags: azure
Published: 2020-08-17 13:24:58

Contas de armazenamento é o nome do serviço que agrupa 4 diferentes formatos de armazenamento no Azure:
1. Blobs
2. Arquivos
3. Filas
4. Tabelas

Tipos de Conta:
- StorageV2 -> mais utilizado atualmente, possui recursos mais avançados de armazenamento, como a otimização de espaço de armazenamento
- StorageV1 -> Tipo legado, não dá acesso aos recursos mais atuais de armazenamento
- Armazenamento de Blobs -> permite gravação de block blobs (estáticos) e append blobs (arquivos continuados - logs)

Links úteis:
https://github.com/Azure
https://github.com/Azure-samples
Liberar espaço deletando os node_modules/
Tags: npm, node, modules, linux
Published: 2020-08-17 13:20:27

Pra quem não sabe a pastinha node_modules, armazena todos os "modulos" e bibliotecas que usamos em nosso projeto, porém na maioria das vezes nós temos mais de 1 projeto que usam uma mesma dependência, na minha maquina em questão, tenho por volta de 40 repositórios que usam o `npm`.

Por conta disso, tenho muito espaço sendo utilizado em disco e pra dar uma boa aliviada, uma alternativa super interessante é simplesmente apagar as pastas `node_modules` de cada projeto.

Para não precisar acessar cada diretório, basta abrir o seu terminal e ir para a pasta do seu workspace e rodar o seguinte comando:

```bash
~ $ find . -name node_modules -type d -print0|xargs -0 rm -rf --
```

![Terminal](https://dev-to-uploads.s3.amazonaws.com/i/ba4lz5l2cgr64cgliz8g.png)

Esse comando basicamente é dividido em duas partes, a primeira é responsável por procurar todos os diretórios com o nome `node_modules` e retornar seu caminho completo para o segundo comando que tem a atribuição de deletar, a partir de um caminho e,

All Done Galera!

Espero ter ajudado <3
One Trick to speed up your unit tests with Laravel
Tags: laravel, php, testing
Published: 2020-08-17 13:00:28

**TLDR;** Don't use the base TestCase which ships with laravel out of the box. If your tests don't require Laravel specific functionality, Using PHPUnit's base TestCase is more than 4 times faster.

### Benchmark

For this test, I'm using the latest version of Laravel (7.25.0) on a Macbook Pro with 16GB RAM and a 2.3 GHz Quad-Core Intel Core i5 processor.

#### Setup

1. Install Laravel from the official guide [here](https://laravel.com/docs/7.x/installation#installation)
2. Create a class called `Math` in `app/Math.php`
    ```php
    <?php

    declare(strict_types=1);

    namespace App;

    class Math
    {
        function sum(int $first, int $second): int {
            return $first + $second;
        }
    }
    ```
3. Add the test file `MathTest.php` in `tests/Unit`
    ```php
    <?php

    declare(strict_types=1);

    namespace Tests\Unit;

    use App\Math;
    use Tests\TestCase;

    class MathTest extends TestCase
    {
        /**
         * @dataProvider provideDataForSum
         *
         * @param int $first
         * @param int $second
         * @param int $expectedResult
         */
        function testSum(int $first, int $second, int $expectedResult) {
            $math = new Math();
            $actualResult = $math->sum($first, $second);

            $this->assertEquals($expectedResult, $actualResult);
        }

        public function provideDataForSum(): array {
            return [
                'sum two zeros (0 + 0 = 0)' => [
                    0,
                    0,
                    0
                ],
                'sum negative and positive number (-1 + 3 = 2)' => [
                    -1,
                    3,
                    2
                ],
                'sum two positive numbers (1 + 6 = 7)' => [
                    1,
                    6,
                    7
                ],
                'sum two negative numbers (-4 + -8 = -12)' => [
                    -4,
                    -8,
                    -12
                ]
            ];
        }
    }
    ```
4. Run the tests using
    ```bash
    ./vendor/bin/phpunit tests/Unit/MathTest.php
    ```
5. **Results:** Time: 138 ms, Memory: 16.00 MB
6. Change line 8 in `MathTest.php` with `use PHPUnit\Framework\TestCase;`
7. Run the tests again using
    ```bash
    ./vendor/bin/phpunit tests/Unit/MathTest.php
    ```
8. **Results:** Time: 33 ms, Memory: 6.00 MB


#### Conclusion

The test with laravel's base test case is `418%` slower than the tests with PHPUnit's base test case. Also, This is just 1 test, Imagine how much time you will save on a project with more than 1000 test.

**NOTE:** From laravel 6.0, The `ExampleTest.php` file in `tests/Unit` now uses `PHPUnit\Framework\TestCase;` but If you are coming from an old version of laravel you may be using the laravel base test `Tests\TestCase;` instead.
Optional Chaining
Tags: javascript, webdev, development, optionalchaining
Published: 2020-08-17 12:53:20

---
title: Optional Chaining
published: true
description: In looking at some particularly ugly client code while pairing with a co-worker, I recommended we use optional chaining. He asked about support and I actually didn't know, so I wrote this article.
tags: JavaScript, WebDev, Development, OptionalChaining
series: JavaScript Tips
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/7wt1vdlfl45mlvu37fp5.png
---

I was looking at some particularly ugly client code recently. I was pairing with a co-worker and recommended we use optional chaining. He asked about support and I actually didn't know, so I wrote this article.

The optional chaining operator allows a check of deep chains in an object without having to verify each step.

## Syntax

```javascript
object?.prop1?.prop2?.prop3
```

## Actual Code

### Without Optional Chaining

Yeah, modified a bit.

```javascript
if (!!data.additionalParams
    && !!data.additionalParams.type
    && data.additionalParams.type === "AlertType") {
      console.log('### Alert Notification', data);
      const item = data.additionalParams;
      // DO MORE HERE
}
```

### An Improvement

This feels awkward to me, as well as difficult to read. Another attempt ...

```javascript
if (!!data.additionalParams && !!data.additionalParams.type && data.additionalParams.type === "AlertType") {
  console.log('### Alert Notification', data);
  const item = data.additionalParams;
  // DO MORE HERE
}
```

### An Abstraction

Hmmm, much better ... but who wants to scroll to read the `if-condition`. Let's extract the condition to a function ...

```javascript
function hasAdditionalParams(data) {
  return (!!data.additionalParams && !!data.additionalParams.type);
}

if ((hasAssitionalParams(data) && data.additionalParams.type === "AlertType") {
  console.log('### Alert Notification', data);
  const item = data.additionalParams;
  // DO MORE HERE
}
```

OK, shorter ... but still need to scroll horizontally (a bit).

### With Optional Chaining

Now, how about optional chaining

```javascript
if (data?.additionalParams?.type === "AlertType") {
  console.log('### Alert Notification', data);
  const item = data.additionalParams;
  // DO MORE HERE
}
```

## Testing

Will the optional chaining version above work as I expect. I tested this with a simple test in the **console** ...

```javascript
const data1 = { additionalParams: { type: 'bob' } };
const data2 = { additionalParams: { type: 'AlertType' } };
const data3 = {};

console.log(data1?.additionalParams?.type === 'AlertType');
// false
console.log(data2?.additionalParams?.type === 'AlertType')
// true
console.log(data3?.additionalParams?.type === 'AlertType')
// false
```

## Conclusion

This is a very cool pattern that's been introduced into JavaScript. Can I use it reliably?

[From caniuse.com](https://caniuse.com/#feat=mdn-javascript_operators_optional_chaining) ... it looks like a very stable addition!
First Exoscale DBaaS
Tags: mysql, exoscale, redis, postgres
Published: 2020-08-17 12:36:28

Happy to announce that ScaleChamp now support Exoscale Public Cloud, particularly Managed Redis and Managed PostgreSQL. Check them out at [ScaleChamp Website](https://www.scalechamp.com/). It's the one of the fastest integrations, Redis instance spin up in less than a 30 seconds, incredible!

![Exoscale Support](https://dev-to-uploads.s3.amazonaws.com/i/8hk7idc49tg5kv5ssws8.png)
How to reduce having incomplete projects as software developer
Tags: projects, career, developer, tips
Published: 2020-08-17 12:29:34

---
title: How to reduce having incomplete projects as software developer
published: true
description: How to always complete your side project
tags: projects, career, developer, tips
//cover_image: https://direct_url_to_image.jpg
---

To reduce the number of incomplete projects you have as a software developer, make sure you only build the most important 20% of your current side project.

No more no less.

How do you make sure you always complete your side projects?

Subscribe to my news-letter to always get my tutorials in your inbox: [You Too Can Code](https://aw194b5a.aweb.page/p/5c07dec9-f1bd-4a8f-a788-87e4f0a6a6a1)
Is accidental complexity inevitable?
Tags: healthydebate
Published: 2020-08-17 12:27:32

I'll start with two questions:

- Is complexity inevitable in software development?
- How much of this complexity is our failure to curb "accidental complexity" which we are the ones to introduce to begin with?

Let us use a couple of popular tools as examples: Rust and React.

For what I've gathered Rust has has been developed out of need. The need to manage systems programming, manual memory management and the development of software that sits very close to the operating system. Its complexity is intrinsic to the problems it had to solve initially.

React has been developed out of need as well. The need to manage a massive frontend code base at Facebook. Its complexity is intrinsic to the problems it had to solve initially.

As any software developer knows, tools intended for a purpose are easily going to be used for anything else but that initial purpose. It's normal, we're humans. It's not like Rust or React creators have a direct line with all the developers out there.

This goes back to the second of my initial questions: is a tool developed and managed by a company, worth several hundreds of billions of dollars, to handle a massive frontend code base going to be accidental complexity when applied to the 99.99% of projects which are infinitely smaller? 

If you're not familiar with the difference between essential/intrinsic complexity and accidental complexity I suggest you this post:

{% link https://dev.to/stereobooster/complexity-5d62 %}

Is the push towards React's adoption only a positive or could it have effectively hurt some companies business over the years?

Is using Rust for your average web application a good idea? Is using Rust for anything other than systems programming a good idea? Is using React for anything other than a complex frontend a good idea? 

We all know how the wrong tool chosen at the wrong time can affect a company's prospects. So, when people choose a tool before having written any lines of code, are they betting they will be able to manage the complexity it brings or are they really making an informed choice?

Evidence tells us you can build successful products with or without either Rust or React, so that's a given but the problem, as always, isn't in the tool per se.

I think Nat Allison here has a point:

{% twitter 1294429688782176257 %}

Are we software developers simply bad at making choices for a thousand different reasons?
Flutter, renderizando widget após chamada assíncrona
Tags: dart
Published: 2020-08-17 12:20:36

A melhor maneira de fazer isso é usar um FutureBuilder.

Da documentação do FutureBuilder:
```dart
new FutureBuilder<String>(
  future: _calculation, // a Future<String> or null
  builder: (BuildContext context, AsyncSnapshot<String> snapshot) {
    switch (snapshot.connectionState) {
      case ConnectionState.none: return new Text('Press button to start');
      case ConnectionState.waiting: return new Text('Awaiting result...');
      default:
        if (snapshot.hasError)
          return new Text('Error: ${snapshot.error}');
        else
          return new Text('Result: ${snapshot.data}');
    }
  },
)
```
A outra coisa é que você está construindo seu widget fora do método State.build e salvando o próprio widget, que é um antipadrão. Você deve estar construindo os widgets toda vez no método de construção.

Você pode fazer com que isso funcione sem o FutureBuilder, mas você deve salvar o resultado da chamada http (processada apropriadamente) e depois usar os dados dentro de sua função de compilação.

Veja isso, mas observe que o uso de um FutureBuilder é a melhor maneira de fazer isso e estou apenas fornecendo isso para você aprender.
```dart
import 'dart:async';
import 'dart:convert';

import 'package:flutter/material.dart';

void main() {
  runApp(new MyApp());
}

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: 'Flutter demo',
      theme: new ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: new MyHomePage(title: 'async demo'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => new _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  List data;

  @override
  initState() {
    super.initState();

    new Future<String>.delayed(new Duration(seconds: 5), () => '["123", "456", "789"]').then((String value) {
      setState(() {
        data = json.decode(value);
      });
    });
  }

  @override
  Widget build(BuildContext context) {
    if (data == null) {
      return new Scaffold(
        appBar: new AppBar(
          title: new Text("Loading..."),
        ),
      );
    } else {
      return new Scaffold(
        appBar: new AppBar(
          title: new Text(widget.title),
        ),
        body: new Center(
          child: new ListView(
            children: data
                .map((data) => new ListTile(
                      title: new Text("one element"),
                      subtitle: new Text(data),
                    ))
                .toList(),
          ),
        ),
      );
    }
  }
}
```
Unsure of what tests to write? Here's what that might mean.
Tags: testing, management, career
Published: 2020-08-17 12:16:37

When we're unsure of what to test, the project might be at _risk of failure_.

Tests turn our client's ideas into _unequivocal_ specifications. They make the bridge between what's on a customer's head and what we need to build. If we can't write tests, we're _lost_ on what we need to program.

**That's a fast track to disaster.**

We might think it's the client's fault. After all, we're unable to write tests because requirements are vague and volatile.

But pointing fingers never solved any problems.

## So what can we do?

**A really effective strategy is to reduce the scope of the current release.**

Smaller deliverables mitigate two common reasons for failure to clarify what software should do:

1. Trying to discuss _too many features_ at once.
2. _Insecurity_ on what the application has to offer to succeed.

A narrower scope means we have less to focus on at once. So there's more time and energy to dig deeper and define concrete requirements to guide our acceptance tests.

With less to develop, we can ship faster. Thus, get _feedback_ from the market sooner. That will shed light on what the app should do to satisfy users.

As programmers, it's easy to disregard deliverables as a project manager's responsibility.

However, it's we that _find_ gaps in the specifications. If we stay silent, no one will know misunderstandings exist until the project is delivered.

**That may be too late.**

Even when we believe management will turn a deaf ear, let's speak up. We might end up _saving_ the project.

---
Enjoyed this article? Then [follow me on twitter](https://twitter.com/JooForja). I tweet about what I believe it's essential to be a great software developer.
Scrape Google Maps: Extract business leads, phone numbers, addresses.
Tags: googlemaps, googlemapsscraping
Published: 2020-11-02 18:58:53

---
title: Scrape Google Maps: Extract business leads, phone numbers, addresses.
published: true
date: 2020-08-17 12:16:10 UTC
tags: googlemaps,googlemapsscraping
canonical_url: https://dataflowkit.com/blog/scrape-google-maps-extract-business-leads-phone-numbers-addresses/
---

 ![Scrape Google Maps: Extract business leads, phone numbers, addresses.](https://dataflowkit.com/blog/content/images/2020/08/scrape-google-maps--5--1.png)

A lot of places on the Internet contain many lead generation sources that you can use to market your product or service. Google Maps is probably one of the best to get information about local businesses because of almost all companies presented in Google Maps.

It would take you a lot of time to manually copy and paste data from Google Maps. We offer a better way to scrape Google maps data to CSV, Excel, or JSON data.

If you're not a coder, it is enough to enter a search query and customize several parameters before launching Google Maps Scraper and getting desired data.

Or you can generate a "ready-to-run" code for your preferred language to send requests to Google scraper API.

> **Extract 100% Relevant B2B Leads Data Using Google Maps Extractor to Increase Your Sales Revenue**.

Google maps scraping service from Dataflow Kit automates data extraction of the following fields:

1. Business Name
2. Address
3. Phone Number
4. Website
5. Rating
6. Reviews

Please check out [Google maps scraper](https://dataflowkit.com/scrape-google-maps).