teleren/devto huggingface dataset:
Power BI for Developers - Embed Analytics in Your Application 
Tags: ama, powerfuldevs, azure, powerbi
Published: 2020-07-09 17:15:50

--- 
title: Power BI for Developers - Embed Analytics in Your Application 
published: true
description: In this session, Amit Shuster will help you enhance your application with embedded analytics with total control of visuals and user experience. 
tags: ama, powerfuldevs, azure, powerbi 
--- 
<hr /> 
  
#### #PowerfulDevs Conference 
  
`RSVP HERE BY JULY 15:` 
[https://aka.ms/powerfuldevsconf](https://aka.ms/powerfuldevsconf) 
  
The [Powerful DEVs Conference](https://aka.ms/powerfuldevsconf) is the first virtual conference of its kind. We will showcase how developers can leverage the Power Platform to build applications faster and with far less effort. Connect with industry-recognized ProDev influencers, Microsoft Cloud Advocates, trusted and diverse community leaders, and members of the Power Platform Team. 
  
`BOOKMARK THIS FOR RESOURCES AND DISCUSSION WITH SPEAKERS`  
{% link https://dev.to/azure/powerfuldevs-conference-join-us-on-july-15th-online-fe3 %} 
 
Revisit this page during the event to engage in live (and post-event) discussions on those topics with both speakers and community. The speakers will be here for a live Q&A for at least 30 minutes immediately after their session concludes. After the event, come back to find additional slides, videos, and resources for this session. 
  
<hr/> 
  
## About This Session: 
  
`July 15, 2020: 09:00 PDT - 09:25 PDT` 
  
Learn how to get up and running with Power BI Embedded. Enhance your application with embedded analytics, with total control of visuals and user experience. 
  
Additional Resources: [Power BI Developer Documentation](https://docs.microsoft.com/en-us/power-bi/developer/?WT.mc_id=Build2020_presentation_additionalresources), [Power BI Embedded Playground](https://microsoft.github.io/PowerBI-JavaScript/demo/v2-demo/index.html), & [Power BI Developer Samples](https://github.com/microsoft/powerbi-developer-samples) 
  
## About the Speakers: 
  
Amit Shuster is a Product Manager @ Microsoft on the Power BI Embedded Team. Follow [@shusteramit](https://twitter.com/ShusterAmit) on Twitter.
Async Messaging With Kotlin and RabbitMQ
Tags: rabbitmq, kotlin, asynchronous, programming
Published: 2020-07-10 20:03:08

---
title: Async Messaging With Kotlin and RabbitMQ
published: true
date: 2020-07-09 17:14:33 UTC
tags: rabbitmq,kotlin,asynchronous,programming
canonical_url: https://medium.com/swlh/async-messaging-with-kotlin-and-rabbitmq-d69df1937b25
---

[![](https://cdn-images-1.medium.com/max/1024/1*eCOdh5U-LzQhotpZ7WXLwg.png)](https://medium.com/swlh/async-messaging-with-kotlin-and-rabbitmq-d69df1937b25?source=rss-269f954fad8c------2)

Let’s interact with RabbitMQ by creating a simple message producer and consumer in Kotlin.

[Continue reading on The Startup »](https://medium.com/swlh/async-messaging-with-kotlin-and-rabbitmq-d69df1937b25?source=rss-269f954fad8c------2)
Unleash the Potential of PowerApps with BigData 
Tags: ama, powerfuldevs, azure, powerapps
Published: 2020-07-09 17:06:41

--- 

title: Unleash the Potential of PowerApps with BigData 

published: true 

description: In this session, Lena Hall will show you how to extract value from your data to bring the impact of your low-code solutions to a new level. 

tags: ama, powerfuldevs, azure, powerapps 

cover_image: https://dev-to-uploads.s3.amazonaws.com/i/q26w6c9hvzgma6cjooeh.png

--- 

<hr /> 

  

#### #PowerfulDevs Conference 

  

`RSVP HERE BY JULY 15:` 

[https://aka.ms/powerfuldevsconf](https://aka.ms/powerfuldevsconf) 

  

The [Powerful DEVs Conference](https://aka.ms/powerfuldevsconf) is the first virtual conference of its kind. We will showcase how developers can leverage the Power Platform to build applications faster and with far less effort. Connect with industry-recognized ProDev influencers, Microsoft Cloud Advocates, trusted and diverse community leaders, and members of the Power Platform Team. 

  

`BOOKMARK THIS FOR RESOURCES AND DISCUSSION WITH SPEAKERS`   
{% link https://dev.to/azure/powerfuldevs-conference-join-us-on-july-15th-online-fe3 %} 

  

Revisit this page during the event to engage in live (and post-event) discussions on those topics with both speakers and community. The speakers will be here for a live Q&A for at least 30 minutes immediately after their session concludes. After the event, come back to find additional slides, videos, and resources for this session. 

  

<hr/> 

  

## About This Session: 

  

`July 15, 2020: 15:00 PDT - 15:25 PDT` 

  

Learn how to extract value from your data to bring the impact of your low-code solutions to a whole new level. PowerApps already enable creation of useful business applications with minimal effort. In this session, you will learn about how and why to connect your applications to Azure services responsible for Big Data. You will see an example of an application that keeps track of NYC taxi logs and provides logistical information for greater business insights. You will leave this session with confident understanding of what Big Data connection options PowerApps provide, how to connect your application to Big Data, as well as how to reference and visualize it. 

  

## About the Speakers: 

  

Lena Hall is a Principal Software Engineer @Microsoft and the Team Lead for Big Data Services. Follow [@lenadroid](https:// https://twitter.com/lenadroid) on Twitter. 

## Additional Resources

Dev'ing for Power Apps session

DevTo page:  [https://aka.ms/PowerAppsDevs](https://aka.ms/PowerAppsDevs)
#JulyOT - Consuming and Modeling Object Detection Data with Azure Time Series Insights
Tags: ai, computervision, nvidia, iot
Published: 2020-07-09 17:04:17

---
title: #JulyOT - Consuming and Modeling Object Detection Data with Azure Time Series Insights
published: true
description: Erik and Paul forward object detections to Time Series Insights from  an Azure Stream Analytics on the Edge Job.  We showcase the whole process of setting up a TSI event source to modeling and exporting of the data within Time Series Insights.
tags: artificialintelligence, computervision, nvidia, iot
---

Erik and Paul forward object detections to Time Series Insights from  an Azure Stream Analytics on the Edge Job.  We showcase the whole process of setting up a TSI event source to modeling and exporting of the data within Time Series Insights.

Part 4 of a 5 part series created for #JulyOT - more details @ http://julyot.com

The full steps to reproduce this project can be found on github @ https://github.com/toolboc/Intelligent-Video-Analytics-with-NVIDIA-Jetson-and-Microsoft-Azure

For more information on the services employed, check out:

[Stream Analytics Documentation](https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-edge?WT.mc_id=julyot-devto-cxa)
[Time Series Insights Documentation](https://docs.microsoft.com/en-us/azure/time-series-insights/?WT.mc_id=julyot-devto-cxa)
Power Platform Custom Connectors Zero to Hero
Tags: ama, powerfuldevs, azure, powerplatform
Published: 2020-07-09 17:02:23

--- 
title: Power Platform Custom Connectors Zero to Hero 
 
published: true 
description: In this session, April Dunnam will teach you what custom connectors are and how to create one from scratch to get your business data into Power Apps and Power Automate. 
tags: ama, powerfuldevs, azure, powerplatform
--- 
<hr /> 
  
#### #PowerfulDevs Conference 
  
`RSVP HERE BY JULY 15:` 
[https://aka.ms/powerfuldevsconf](https://aka.ms/powerfuldevsconf?WT.mc.id=events_powerfuldevs-blog-<apdunnam>) ) 
  
The [Powerful DEVs Conference](https://aka.ms/powerfuldevsconf) is the first virtual conference of its kind. We will showcase how developers can leverage the Power Platform to build applications faster and with far less effort. Connect with industry-recognized ProDev influencers, Microsoft Cloud Advocates, trusted and diverse community leaders, and members of the Power Platform Team. 
  
`BOOKMARK THIS FOR RESOURCES AND DISCUSSION WITH SPEAKERS`  
{% link https://dev.to/azure/powerfuldevs-conference-join-us-on-july-15th-online-fe3  %} 
 
Revisit this page during the event to engage in live (and post-event) discussions on those topics with both speakers and community. The speakers will be here for a live Q&A for at least 30 minutes immediately after their session concludes. After the event, come back to find additional slides, videos, and resources for this session. 
  
<hr/> 
  
## About This Session: 
  
`July 15, 2020: 11:00 PDT - 11:25 PDT` 
  
One of the most POWERful ways you can enhance the already rich native functionality of the Power Platform is with Custom Connectors. In this session, you’ll learn what custom connectors are and how to create one from scratch to get your business data into Power Apps and Power Automate. 
  
## About the Speakers: 
  
April Dunnam is a Technical Architect @ Microsoft and a Microsoft Business Apps MVP alumni. Follow [@aprildunnam](https://twitter.com/aprildunnam) on Twitter. 

## Additional Resources

[aka.ms/powercustomconnectors]( https://aka.ms/PowerCustomConnectors?WT.mc.id=events_powerfuldevs-blog-<apdunnam>) 

[Slides]
(https://github.com/aprildunnam/presentations/blob/master/POWERful%20Devs%20Custom%20Connectors%20Zero%20to%20Hero.pptx)

Subscribe to [April's YouTube Channel]( https://youtube.com/c/aprildunnam)
How to integrate Firebase in NestJS
Tags: firebase, nestjs, fcm, pushnotification
Published: 2020-07-09 16:59:34

Firebase is a great platform to implement Cloud Functions, Push Notifications, Real-time DBs, and a lot more. Here's how we can integrate Firebase in NestJS.

## Install `firebase-admin` SDK

```bash
npm i firebase-admin --save
```

## Initialize the service account

Once you generate private keys from Firebase console (refer [here](https://firebase.google.com/docs/admin/setup#initialize-sdk)), add it to your ENV file. You can use the [@nestjs/config](https://docs.nestjs.com/techniques/configuration) plugin to configure different environments. 

```env
FIREBASE_PROJECT_ID=<your_project_id>
FIREBASE_PRIVATE_KEY=<your_private_key>
FIREBASE_CLIENT_EMAIL=<your_client_email>
```

Configure the firebase instance inside function `bootstrap()` in `main.ts` file:

```js
import { NestFactory } from '@nestjs/core';

import { AppModule } from './app.module';
import { ConfigService } from '@nestjs/config';

// Import firebase-admin
import * as admin from 'firebase-admin';
import { ServiceAccount } from "firebase-admin";

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  const configService: ConfigService = app.get(ConfigService);
  // Set the config options
  const adminConfig: ServiceAccount = {
    "projectId": configService.get<string>('FIREBASE_PROJECT_ID'),
    "privateKey": configService.get<string>('FIREBASE_PRIVATE_KEY')
                               .replace(/\\n/g, '\n'),
    "clientEmail": configService.get<string>('FIREBASE_CLIENT_EMAIL'),
  };
  // Initialize the firebase admin app
  admin.initializeApp({
    credential: admin.credential.cert(adminConfig),
    databaseURL: "https://xxxxx.firebaseio.com",
  });

  app.enableCors();

  await app.listen(configService.get<string>('API_PORT') || 4000);
}
bootstrap();
```

**NOTE:** In the above code, do not forget to add the 'replace' method when fetching the private key. This is because newline characters in Private keys are not properly parsed by dotenv, and needs to be replaced accordingly.

Now, you can import the package in the controller or service to use it:

```js
import * as admin from 'firebase-admin';

...
...

await admin.messaging().sendToDevice(fcmtoken, payload);
```

That's it, you're good to go!
How do I move away from Google?
Published: 2020-07-09 16:41:25

Moving away from Google is a laborious process; it's not going to be easy, so know that before jumping in.

Their systems are designed to keep you in their ecosystem, where you donate your personal data to them at no cost.

---

## Instructions

### 📆 Step 1

*Firstly, you're going to want to clear your calendar.*

If you have around 300GB or more on Google's servers, like I did, it might take around a week to download all of it.

### 📥 Step 2

*Request a data collection bundle from Google's [Takeout](https://takeout.google.com).*

You can use their user interface to select which types of data you want, and from what products. I would recommend you select them all, if you're planning to completely leave Google.

### ⏲ Step 3

*Wait.*

Google's Takeout systems might take around 2 hours to a whole day to collect your information. I had 300GB, and it only took them a few hours.

Your mileage may vary, however.

### 🕵️‍♂️ Step 4

*Spoof your User Agent.*

- If you're using Firefox, you'll want to download [this extension](https://addons.mozilla.org/en-US/firefox/addon/uaswitcher/?src=search)
- Otherwise, if you're using Chrome or any derivative, you're good to go already.

The reason for this extension is to trick Google into thinking you're using Chrome, when you're actually using another browser.

Otherwise, Google will most likely throttle your download speeds, as they have done in the past for platforms such as YouTube for visitors using Firefox.

Anyhow, if you are on Firefox, you'll need to download that extension, and enable the "Chrome / Windows" setting.

### 🥡 Step 5

*Download.*

When the bundles have downloaded, you'll most likely get an email notification from Google.

Now, go back to [Takeout](https://takeout.google.com).

You'll want to start downloading them now, before they expire (they expire in a week).

My advice would be to only download 4 bundles at a time. I believe Google throttles any subsequent concurrent downloads.

### 👋 Step 6

If you're feeling like a good Samaritan, you could even delete your Google account.

[You can do that here.](https://myaccount.google.com)

---

I really hope this article has encouraged you to throw Google out of your life.
Where to store some important data fetched from API so that I can use it in multiple routes?
Published: 2020-07-09 16:38:03

I am developing OTP authentication. So here my routes in express - 

```
const express = require("express");
const router = require("express").Router();
const rp = require("request-response");

router.post("/sendOTP", (req, res) => {

const { mobile_number }  = req.body; // receive the mobile number

const otp = randomize("0000"); // generated 4 digit otp

options = {
     method: "GET", 
     url: "xxxxx/xxxxx/xxxxx/${otp}",   // calling my otp service provider to send otp to my user
}

rp(options).then((response)=>{

       // response.details contains the unique otp session id which I have to use in another route where I am verifying otp
}).catch((err) => console.log(err));
});

router.post("/getOTP", (req, res) => {

// user will put otp he received from his mobile

const { otp }  = req.body; // receive the otp

options = {
     method: "GET", 
     url: "xxxxx/xxxxx/xxxxx/${otp}/${otp_session_id}",   // calling my otp service provider with otp and session id of otp
}

rp(options).then((response)=>{
        console.log(response) // otp verified.
       
}).catch((err) => console.log(err));
});

```

this is simple code. Now my problem is - how can I store that otp_session_id so that I can use it in two routes `sendOTP` and `getOTP` ? I used cookieParser, cookieSession, expressSession, nothing worked out. please any simple steps / solutions will be great. 

thanks :)
Simple Guideline for Webdesign
Tags: beginners, css, design, webdev
Published: 2020-07-09 16:34:46

Lately, more and more websites are verbose with animation and graphics that serve little to no value to the actual purpose. Look and feel are very important but adding things in abundance for the sake of look is damaging.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/v9ls3znkjfpgi3aytkw9.jpeg)
Many newcomers in web design often get confused and feel a lack of creativity because of this situation. **Webdesign is an art; randomly throwing stuff on the screen isn't about art.**
So I like to share some of the well-accepted guidelines in various web design area i.e. typography, color, visual hierarchy, navbar, layouts.
##Typography
1. Keep font size between 15 to 25 pixels.
2. Use line spacing between 120% to 150% of the font size.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/52ab8xwgqlpy6yiwlg8r.jpeg)
3. Maintain 45 to 90 characters per line.
4. Try to stick with one font type especially if you are a novice.

##Color
1. Always maintain the color contrast. Try using color schemes.
2. Choose a base color that goes with the project goal. Remember, choosing a base color isn't about picking your favorite color.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/rh9m7w5pzbcbec6lf9ew.jpg)
3. Don't try to incorporate more than 3 colors if you are just starting out web design.

##Visual hierarchy & Layout
1. Organize elements in such a way that users naturally incline to the main element of the site.
2. Use whitespace to separate elements and groups when necessary. Don't crumble things together.
3. Don't put all your links in the navbar. Only important links should make into the primary navbar. For external links make a secondary navbar and put it in the footer.
4. Related items must be group together. Sperate items should be in separate groups.
 ![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/64he5d4qomh2biduymg0.jpg)
Think of your website as a room. Keep it well organized; don't put your shirts with sneakers.

This guide is no mean a detailed one. My purpose here was to show you the right direction.
Just keep things simple. Don't overcomplicate your design, it confuses your users. Have empathy for them. And most importantly never stop learning.😀
Images are from pixels and unsplash.
Animated Product Card using HTML & CSS | Responsive E-commerce UI Design with Hover Effect [Video Format]
Tags: css, beginners, tutorial, design
Published: 2020-07-09 16:34:24

{% youtube gzGLPkR_p4s %}

In this Tutorial, we'll build an Animated Product Card using HTML & CSS | Responsive E-commerce UI Design with Hover Effect. This Project-based Tutorial is suitable for all especially Beginners.

🧠 Concepts covered in this video:
 - Modern Web Design
 - CSS Grid
 - Flexbox
 - Animations 
 - CSS transitions
 - Transforms

[**SUBSCRIBE**](https://www.youtube.com/channel/UCBF2LIwr2Odb3-pRnNBRegA?sub_confirmation=1) our [**Youtube channel**](https://www.youtube.com/channel/UCBF2LIwr2Odb3-pRnNBRegA) if you want to get notified for more real-world **project-based tutorials**

Share this [video](https://youtu.be/gzGLPkR_p4s) with a friend

Let’s connect:
[Instagram](https://www.instagram.com/codeleague7)
[Twitter](https://www.twitter.com/codeleague7)
L'opérateur de nullish coalescing : une autre nouveauté de TypeScript 3.7
Tags: typescript, french, operator
Published: 2020-07-09 16:26:42

La sortie de **TypeScript 3.7** apporte son lot de [nouvelles fonctionnalités](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html).

Moins connu que son grand frère le [**chainage optionnel**](https://www.younup.fr/blog/nouveautes-de-typescript-3-7-l-operateur-de-chainage-optionnel), le **_nullish coalescing_** (_coalescence nulle_ en français, mais c'est une traduction non officielle) fait partie de ces nouveautés.

Il permet de retourner une valeur par défaut si la valeur testée est `null` ou `undefined` :

```typescript
const younup = {
  expert: {
    babyfoot: null,
    description: '',
    roxx: true
  }
};

const undefinedValue = (younup.expert as any).scrabble ?? 'non disponible'; // 'non disponible'

const nullValue = younup.expert.babyfoot ?? 'non disponible'; // 'non disponible'

const description = younup.expert.description ?? 'Ici, on n\'est pas expert en babyfoot'; // ''

const isExpertIt = younup.expert.roxx ?? false; // true
```

## Pour aller plus loin

En complément, on peut également l'utiliser conjointement avec l'opérateur de **chainage optionnel**.

```typescript
const timeBeforeDiner = younup?.meetupDuration ?? 500;
```

Nous avons un double _fallback_ :

* Si `younup` est `undefined` ou `null` alors _timeBeforeDiner_ prendra la valeur `500`.
* Si `younup.meetupDuration` est `undefined` ou `null` alors `timeBeforeDiner` prendra aussi la valeur `500`.

Donc si vous avez bien suivi, si `younup.meetupDuration` est égal à `0` alors `timeBeforeDiner` sera égal à ... `0` !

______

Merci d'avoir lu cet article ! 
Il a été posté initialement sur le [blog](https://www.younup.fr/blog) de @younup_it : 
 https://www.younup.fr/blog/l-operateur-de-nullish-coalescing-une-nouveaute-de-typescript-3-7

______
Cover par [Andrew Seaman](https://unsplash.com/@amseaman) sur [Unsplash](https://unsplash.com/photos/-m88z7ily-w)
Submarine - Flutter Stack Challenge
Tags: flutter, dart, codepen, flutterchallenge
Published: 2020-07-09 16:20:24

Here is another codepen, for Weekly Flutter CodePen challenge in July. For the first week we have to use one of the most foundational building blocks in Flutter - "Stack" 

You can get more details about this challenge at : https://codepen.io/challenges/2020/july/

_I am calling it Submarine, you can dive deep into the ocean using this submarine xD_

Use Live preview for better performance in web that too on PC or Laptop.

Live Preview at : https://iamsahdeep.github.io/Submarine-FlutterStackChallenge/#/

Github Source : https://github.com/iamSahdeep/Submarine-FlutterStackChallenge

### **Codepen Preview**
{% codepen https://codepen.io/iamSahdeep/pen/vYLRdqz %}

### **Some Tricks in Code :)**

Widget Tree :

Scaffold
--Stack
----SingleChildScrollView (Background)
------TopView
------MiddleView
------BottomView
------DeepestView
----MoonView
----SubMarine
----LightHouse
----SingleChildScrollView (invisible)

Here I have to use another SingleChildScrollView, which is invisible and that too in front of all the View in Stack. Reason for this scrollView is, that all other views in the same Stack, like moon, lighthouse, submarine, were blocking the gesture while Scrolling. So we need another ScrollView and sync its offset with Background ScrollView. How to sink it?  its simple, see the code below : 
```
invisibleScrollController.addListener(() {
      if (scrollController.offset != invisibleScrollController.offset) {
        scrollController.jumpTo(invisibleScrollController.offset);
      }
    });
```

Another Trick, for those animations is to use the scroll offset and pass it to every child Widget and make them rebuild on every scroll change. I have not used any state management like bloc or provider, just simply using setState() to change it.

```
scrollController.addListener(() {
      setState(() {
        scrollOffset = scrollController.offset / 100;
      });
    });
```
In code above offset is reduced by dividing it by 100 as offset can go from 0 - 1000 or much more, depends upon the height of the SingleChildScrollView and we usually don't need that high value for small animations.

That offset, than can be use with "Transfrom" widget for scaling and rotation. And offset is also used with "Positioned" widget to make child widget animated w.r.t scroll.

Thanks :)