teleren/devto huggingface dataset:
Hosting Pyodide on Azure Static Web App
Tags: azure, python, pyodide
Published: 2020-05-29 12:15:09

The post is showing how we host [Pyodide](https://github.com/iodide-project/pyodide) on [Azure Static Web Apps](https://azure.microsoft.com/en-us/services/app-service/static/).

## What is Azure Static Web Apps?

[Azure Static Web Apps](https://azure.microsoft.com/en-us/services/app-service/static/) is a new service on Azure announced at [Microsoft Build 2020](https://mybuild.microsoft.com/). 

## What is Pyodide ?

[Pyodide](https://github.com/iodide-project/pyodide) enable us to run Python on Web browser via <b>WebAssembly</b>. It is a related project of [Iodide](https://alpha.iodide.io/).

I wanted to try Azure Static Web App but am not familiar with JavaScript Frameworks at all. Since I have Python experience a little bit, I tried Pyodide.

## Create Your Azure Static Web Apps 

First of all, you need to create your own Static Web Apps for hosting your Pyodide App. There are some Static Web App templates (Angular, React, Vue or Vanilla) on GitHub and you can folk them. 

In case of Pyodide, I think [vanilla-javascript](https://docs.microsoft.com/en-us/azure/static-web-apps/getting-started?tabs=vanilla-javascript
) is good place to start and try.

After you created your Static Web App, you will find your GitHub repo has `.github/workflows` folder. It contains yaml file for [GitHub Actions](https://github.com/actions).

GitHub Actions automate your Build and Deploy workflow. This time you don't need to edit this yaml file because we just want to deploy our static files.

## Set up index.html with Pyodide
After deploying, you can see your Web App. I wrote index.html on my repo below.

{% github kemurayama/my-pyodide-sample no-readme %}

When you call Python in `<script>` tag, `pyodide.runPython` is needed. When you want to use packages, you can use `loadPackage` such as 

```javascript
$('#matplotlib').on('click', function () {
      pyodide.loadPackage(['matplotlib', 'numpy']).then(() => {
        var plot = pyodide.runPython(`<your Python Code !!>
```

and available packages are [listed in Pyodide repository](https://github.com/iodide-project/pyodide/tree/master/packages).


## Push and Deploy

When you finish local development, let's push your code to GitHub.
GitHub Actions automatically deploy your code to Azure Static Web App.

You can use matplotlib or numpy on your browser. Available packages are [here](https://github.com/iodide-project/pyodide/tree/master/packages).

![top](https://github.com/kemurayama/my-pyodide-sample/blob/master/staticweb.png?raw=true)


## Tips 

By developer tool, you can check whether Pyodide is loaded successfully or not. If successfully loaded, `Python initialization complete` show up on console.
If Pyodide fails with this message `Unchecked runtime.lastError: The message port closed before a response was received.`, you can try in Secret Browser.
It doesn't matter what language you start with
Published: 2020-05-29 12:13:08

I have seen quite a lot of people on different Discord servers and on Twitter asking what the best language to start with is. And whilst some may argue a language like Python or JavaScript is objectively better than C or C++, I disagree.

Picking a language seems like a trivial task in retrospect, however for a lot of beginners, it isn't. They are bombarded with people on Twitter telling them to learn one language because it's better, and then there's others saying, "Well actually, this language is better because so and so...". In truth though, there is no best language for someone to learn first. You could learn BASIC first and that would still be a good first language.

It's difficult not to recommend your favourite language to a beginner. Does that make you a bad person? No, you're just being helpful. But when you pester the beginner into learning the language, you are becoming malicious. You haven't given them time to explore the world of programming languages, instead just bombarding them with your favourite.

To close this off, if you're a beginner, just choose a language and stick with it. It doesn't matter what you pick at the start, as long as you are enjoying yourself whilst coding. However, I have to recommend you 100% use Python, it's definitely the best language out there and anyone who says different is committing a hate crime :P
Daily Developer Jokes - Friday, May 29, 2020
Tags: jokes, dailydeveloperjokes
Published: 2020-05-29 12:00:00

---
title: "Daily Developer Jokes - Friday, May 29, 2020"
description: "Check out today's daily developer joke! (a project by Fred Adams at xtrp.io)"
series: "Daily Developer Jokes"
cover_image: "https://private.xtrp.io/projects/DailyDeveloperJokes/thumbnail_generator/?date=Friday%2C%20May%2029%2C%202020"
published: true
tags: #jokes, #dailydeveloperjokes
---

Generated by Daily Developer Jokes, a project by [Fred Adams](https://xtrp.io/) ([@xtrp](https://dev.to/xtrp) on DEV)

___Read about Daily Developer Jokes on [this blog post](https://xtrp.io/blog/2020/01/12/daily-jokes-bot-release/), and check out the [Daily Developer Jokes Website](https://dailydeveloperjokes.github.io/).___
### Today's Joke is...
![Joke Image](https://private.xtrp.io/projects/DailyDeveloperJokes/public_image_server/images/5e1259620ca4d.png)

---
*Have a joke idea for a future post? Email ___[xtrp@xtrp.io](mailto:xtrp@xtrp.io)___ with your suggestions!*

*This joke comes from [Dad-Jokes GitHub Repo by Wes Bos](https://github.com/wesbos/dad-jokes) (thank you!), whose owner has given me permission to use this joke with credit.*

<!-- 
Joke text:
___Q:___ Where does the pirate stash all of their digital treasures?

___A:___ RAR
 -->
How do I start building an API for an application?
Tags: help, beginners, python
Published: 2020-05-29 11:48:42

I am trying to build a currency exchange API using a third-party currency conversion API, which will allow users to sign up, sign in, and able to create, read, update user balance/wallet, and able to convert currency.

Can anyone guide how to start? I am planning to use Django and Django REST Framework and want to test using POSTMAN?
Deno MySQL | Deno SQL Driver Library
Tags: deno, webdev, tutorial, beginners
Published: 2020-05-29 11:48:31

<strong>Deno MySQL</strong> is a library that allows us to connect our deno application to SQL servers similar to MySQL or MariaDB. I've done a quick tutorial to describe how to install and use it.

{% youtube 6FTf0WZxbL0 %}
<center>[Youtube: Deno MySQL Tutorial](https://youtu.be/6FTf0WZxbL0)</center>

Included in this video are:
- Deno SQL connection
- Database creation
- Table creation
- Row inserts with new data
- Row updates with different data
- Row deletes
- Close database connection

Deno MySQL:
https://github.com/manyuanrong/deno_mysql

Deno:
http://deno.land/

## Follow and support me: 
Special thanks if you subscribe to my channel :)
* [🎞️ Youtube](https://www.youtube.com/channel/UCvM5YYWwfLwpcQgbRr68JLQ?sub_confirmation=1)
* [🐦 Twitter](https://twitter.com/adrian_twarog)

## Want to see more:
I will try to post new great content every day. Here are the latest items:
* [Adobe XD to Fully Responsive WordPress Site](https://dev.to/adriantwarog/adobe-xd-to-fully-responsive-wordpress-site-16e0)
* [Adobe XD to HTML Full Process](https://dev.to/adriantwarog/adobe-xd-to-html-full-process-ao6)
* [Full Tutorial on how to use SASS to improve your CSS](https://dev.to/adriantwarog/full-tutorial-on-how-to-use-sass-to-improve-your-css-57on)
* [Creating a Mobile Design and Developing it](https://dev.to/adriantwarog/creating-a-mobile-design-and-developing-it-5c4o)
Deno Mongo Tutorial | Access MongoDB on Deno
Tags: deno, webdev, beginners, tutorial
Published: 2020-05-29 11:39:21

<strong>Deno Mongo</strong> is a library that allows us to connect our deno application to Mongo similar to mongoose or other drivers. I've done a quick tutorial to describe how to install and use it.

{% youtube RPHq_yFz51Q %}
<center>[Youtube: Deno Mongo Tutorial](https://youtu.be/RPHq_yFz51Q)</center>

Included in this video are:
* Adding the MongoDB package
* Connecting to a MongoDB server
* Accessing a collection
* Reading documents

Denon:
https://deno.land/x/mongo

Deno:
http://deno.land/

## Follow and support me: 
Special thanks if you subscribe to my channel :)
* [🎞️ Youtube](https://www.youtube.com/channel/UCvM5YYWwfLwpcQgbRr68JLQ?sub_confirmation=1)
* [🐦 Twitter](https://twitter.com/adrian_twarog)

## Want to see more:
I will try to post new great content every day. Here are the latest items:
* [Adobe XD to Fully Responsive WordPress Site](https://dev.to/adriantwarog/adobe-xd-to-fully-responsive-wordpress-site-16e0)
* [Adobe XD to HTML Full Process](https://dev.to/adriantwarog/adobe-xd-to-html-full-process-ao6)
* [Full Tutorial on how to use SASS to improve your CSS](https://dev.to/adriantwarog/full-tutorial-on-how-to-use-sass-to-improve-your-css-57on)
* [Creating a Mobile Design and Developing it](https://dev.to/adriantwarog/creating-a-mobile-design-and-developing-it-5c4o)
Javascript Explained | Sketch-notes PART1
Tags: javascript, tutorial, webdev
Published: 2020-05-29 11:29:42

Hey There!

I have recently started a new series on **twitter** where I create **#sketchnotes** for different topics in Javascript. The attempt is to explain JS concepts in a **comic-book/cartoon/non-tech** way. 
Here is a compilation so far:

### 1] Compiler & Engine talking about "Scopes & Closures"
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/dstc078x9jaec3ubiaz5.jpeg)

### 2] Coercion in Javascript
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/5qgidaj45tug8jta660o.jpeg)

### 3] Strict v/s Loose comparison
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/jnmbbmhwnaauljcpalvf.jpeg)

### 4] Array to string coercion
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/ji9qxag2pqup1ymafttm.jpeg)

### 5] Truthy v/s Falsy values
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/3va7ztxntcynpecx872m.jpeg)

### 6] JS Objects are reference types
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/6vxhxroz9ev23bpjly0w.jpeg)

If you liked those, do follow me on twitter to get access to the **sketchnotes** the day they are posted. Embedding my tweet here:

{% twitter 1260572109476159489 %}

Cheers!
Mood Tracking in Remote Teams
Tags: agile, remote, team, productivity
Published: 2020-05-29 11:28:21

Welcome to the largest **Work From Home** experiment in history!

Due to the current situation, many teams across the world suddenly have to work remotely, with all its pros and cons.

One of the major issues of decentralized teams is the loss of implicit, non-verbal communication that we as humans rely on when dealing with other people. Communication has to be initialized specifically and happens through restricted channels like phone calls or video conferences.

This way team members, scrum masters and team leaders are not able to "feel" the mood of the team anymore.

### Introducing SmileyReport
[SmileyReport](https://smileyreport.org) allows teams to anonymously track the mood of its members in an easy and frictionless way.

Just [create](https://smileyreport.org) a free SmileyReport for you and your team.

Once per day or week, your team members will receive an email asking for their current mood by clicking one of these smileys. Comments are possible too!

![The SmileyReport voting page](https://dev-to-uploads.s3.amazonaws.com/i/bx7obfzdkp9uu8nlmeau.png)

Each vote is then stored **anonymously** and aggregated into a daily average and its variance. Now every team member is able to see the mood of the team over time!

![The SmileyReport report page, showing a graph with the average mood per day](https://dev-to-uploads.s3.amazonaws.com/i/afjhg2q24ekpexuofie8.png)

SmileyReport is developed at [TNG Technology Consulting](https://www.tngtech.com/) and regularly used in different agile software development teams.

### What's in it for you?
Under normal circumstances, a SmileyReport can be a powerful tool for retrospectives.

Especially if the team mood changes over time - regardless whether it is positive or negative - and can be correlated with process changes.

In the current situation, where many colleagues are working from home for the first time, an anonymous channel such as the SmileyReport can be a valuable tool for team leaders to help colleagues to find their place in this new environment.

Stay healthy, wash your hands, and happy voting!



*Cover image photo by Roberto Nickson on Unsplash*
What is Kiosk Mode & How it Benefits Enterprises?
Published: 2020-05-29 11:21:22

Modern businesses are leveraging various technology and applications to drive productivity and sales. For customer-facing industries, one of the best ways to garner more interest and help in providing instant access to purchase decisions is by deploying kiosks. Configuring digital devices into kiosk mode to benefit enterprises is the key task to drive the anticipated growth in sales and traction.

In this blog, we shall be covering some crucial queries related to kiosk such as [what is a kiosk, what are the different types of kiosks, what is kiosk mode, what are the various types of kiosk mode and what are kiosk mode management types](https://blog.scalefusion.com/what-is-kiosk-mode-how-it-benefits-enterprises/) offered by Scalefusion.
Searching topic suggestions for TypeScript screencast
Tags: typescript, discuss, tutorial, webdev
Published: 2020-05-29 11:11:46

I have a Youtube channel called [Scope Leak](https://atila.io/scopeleak). 

There you will find 5 minutes (aprox) screencast explaining concepts and patterns on web development. I have enjoyed very much recording TypeScript short tutorials for folks from beginner to intermediate level of acquaintance with the language.

And now I want to know from **you**.
What would like to see next?

{% twitter 1266284802275065861 %}

As I said on the tweet, any idea will take. If it’s an advanced concept, I will try my best to make it approachable to all levels! If it’s a broad topic, I will take liberty on splitting on multiple videos. I personally find 5-10min videos nicer to watch and that’s what I'm going for on [Scope Leak](https://atila.io/scopeleak), still open to suggestions though.


❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓
**If you are/were getting into TypeScript, what kind of concept/topic would you like to have a quick walkthough on?**
❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓❓


---

My work thus far:

- TypeScript Generics in under 5 minutes
{% youtube fGco9aaNmqI %}
- TypeScript Utility Types: Part #1
{% youtube MtK0pLS0ypo %}
- TypeScript Utility Types: Part #2
{% youtube hKEErJHWZqw %}

> 📺
> You can also binge watch them in the [Simplified TypeScript](https://www.youtube.com/playlist?list=PLnf4fY6gAka0jQsSKP8MukABKSeYaPCLe) playlist if that’s your thing

- Getting started with TypeScript

{% link https://dev.to/atila/starting-with-typescript-5gni %}

---

Needless to say, you will help me publishing more of these if you subscribe on [youtube](https://atila.io/scopeleak), [twitter](https://twitter.com/atilafassina/), and/or [here on dev.to](https://dev.to/atila)

---
Cover Photo by [Daniel Kuruvilla on Unsplash](https://unsplash.com/photos/tSJc5U6f1M4)
Stories - Share a love story, tell him/her anonymous and earn money using Web Monetization API and COIL! (Submission)
Tags: gftwhackathon, showdev
Published: 2020-05-29 11:11:19

[Instructions]: # (To submit to the Grant For The Web x DEV Hackathon, please fill out all sections.)


## What I built
Stories is a web application that allows users to sent anonymous letters to a loved person. The best part of using our platform is the fact that everybody can earn moneys using Web Monetization API. The Platform Provides free content and premium content based on a COIL Subscription (5$ per month). 


### Submission Category: 

[Note]: # (Foundational Technology, Creative Catalyst, or Exciting Experiments)
Exciting Experiments and Creative Catalyst

## Demo
[Go to Stories](https://stories-aca62.web.app/)
 

## Link to Code

[Client](https://github.com/GabrielLeonte/Stories)
[Firebase Functions](https://github.com/GabrielLeonte/Stories-Functions)


## How I built it 

The slack is a composite between Firebase and NuxtJS and Send Grid API
We're using Firebase Hosting (for demo), Firebase Real Time Database to store every public post, and Firebase Functions for Send Grid API to deliver each amazing love letter.

Day 1 started with another kind of idea, first project was a way that photographers can monetize their own photos, but after around 2 weeks while scrolling through Coil web page i just realized that this kind of project already exists and its Imgur Emerald.


Day 20: After i found out that Imgur Emerald already exists, I've decided to build this love story project, because we're living a pandemic time, and the love expression has gone low because of the social distancing, so its the perfect time to write a love letter to the one we love. Why anonymous ? Well, you still have the opportunity to tell who you are, but let's get our loved ones more active and challenge them to find out who is behind that magic letter.

Submission Day: Here we are with a working application that is ready to deliver awesome letters to our loved ones. This platform still has a lot of potential, i would like to make in production, but first of all, i need some teammates to do it, add email scheduling function, filtering functions, improve the UI and UX, and many more awesome things.


## Additional Resources/Info 
- [Illustrations from Undraw.co](https://undraw.co/illustrations)
- [Bulma Framework](https://bulma.io/)

## Screen Shots
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/a2rkbp4gcmh931urvkba.png)
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/p7sups9jhbf8ojaib5qd.png)
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/ler45f0zth9rgyr7fxdy.png)

[Reminder]: # (We hope you consider expanding your submission into a full-on application for the Grant for the Web CFP, due on June 12.)
Should I save the code submitted by the users before running and testing it?
Tags: php, sql, laravel, help
Published: 2020-05-29 11:06:43

Hi guys, I am working at a project and I want to let the users submit some code for testing(I know about the security riscks). Now I want to know if I should save the code in a database before running and testing it. If so, how can I make my server to check every second if new code was submitted or not(I am using laravel)?And can I open a new process for every code that need to be tested?
FP serves the most delicious abstractions
Tags: functional, javascript, learning
Published: 2020-05-29 10:59:55

---
title: FP serves the most delicious abstractions
published: true
description: 
tags: #functional #javascript #learning
---

For instance, if we try to combine two composed applicatives of type `Task<Option<number[]>, E>` - an async computation that may fail or yields any number of numbers - it gets pretty soon pretty ugly:

```javascript
// tAp/tMap     = Task functor/applicative
// optAp/optMap = Option functor/applicative
// arrAp/arrMap = Array functor/applicative
// tttx         = Task(Some([1,2,3]));
// ttty         = Task(Some([10,20,30]));

tAp(
  tMap(x_ => y_ =>
    optAp(
      optMap(x => y =>
        arrAp(
          arrMap(add) (x)) (y)) (x_)) (y_))
            (tttx))
              (ttty); // Task(Some([11,21,31,12,22,32,13,23,33]))
```
We can get rid of the anonymous functions by using point-free style, but the computation still remains hideous and confusing:

```javascript
const comp = f => g => x => f(g(x));

tAp(
  tMap(
    comp(optAp)
      (optMap(
        comp(arrAp) (arrMap(add)))))
          (tttx))
            (ttty); // Task(Some([11,21,31,12,22,32,13,23,33]))
```
The problem seems to be the common applicative pattern `ap(map(f) (x)) (y)`. Let's abstract it:

```javascript
const liftA2 = ({map, ap}) => f => tx => ty =>
  ap(map(f) (tx)) (ty);

const tLiftA2 = liftA2({map: tMap, ap: tAp});
const optLiftA2 = liftA2({map: optMap, ap: optAp});
const arrLiftA2 = liftA2({map: arrMap, ap: arrAp});

comp3(
  tLiftA2)
    (optLiftA2)
      (arrLiftA2)
        (add)
          (tttx)
            (ttty); // Task(Some([11,21,31,12,22,32,13,23,33]))
```
This is much better. `comp3` takes three functions and the resulting composed function takes `add` and two composed values `tttx`/`ttty` and applies `add` to the inner values. Since applicative computation of the `Array` type means to calculate the cartesian product this is what we get. Nice.

See an [running example](https://repl.it/repls/StrictFineMicroprogramming) and how everything falls into place.

If you want to learn more about FP join my course on [Github](https://github.com/kongware/scriptum/blob/master/README.md).
LinkedIn is effective for leads Generation during covid19 pandemic
Published: 2020-05-29 10:58:26

Why LinkedIn is important in 2020

•	LinkedIn has more than 620 profiles in almost 200 countries around the world.
•	LinkedIn has mostly b2b professionals
•	You can generate leads by location

For leads generation you need leads data in bulk but you cannot extract leads data in bulk manually without any LinkedIn Scraper.

Check the following best LinkedIn Scrapers for searching and extracting targeted audience leads data from LinkedIn and sales navigator based on your business keywords and location.

https://www.ahmadsoftware.com/94/linkedin-lead-extractor.html

1)	LinkedIn Lead Extractor

LinkedIn Lead Extractor led companies' growth to the upper level by boosting their business sales leads from LinkedIn. LinkedIn Lead Extractor can automatically search, extract and export targeted leads data from LinkedIn without any duplication. LinkedIn Lead Extractor can search and capture business leads data with all important contact information such as name, valid emails, business name, valid address, phone number, social messenger ids, website, skill, and other important information from LinkedIn. This Scraper software can save and export extracted leads data to .xlsx and .csv files (opens in excel). 

LinkedIn Sale Navigator Extractor

Businesses during covid19 lockdown want to increase their business sales by selling business products to their targeted audience. To boost business sales revenue you should need high quality leads data like emails, phone numbers to contact them. For this LinkedIn Sales Navigator Extractor is the best choice for you because it can search and scrape LinkedIn sales navigator for extracting leads data such as first name, valid emails, phone numbers, social ids (twitter, messenger id), company, website, LinkedIn profile link from LinkedIn and Sale Navigator.

https://www.ahmadsoftware.com/94/linkedin-lead-extractor.html

For more LinkedIn Scrapers Like for recruiting candidates and for boosting b2b leads from LinkedIn Please visit “LinkedIn Scraper Software Providers”