teleren/devto huggingface dataset:
Definition of Junior and Senior Developer
Tags: discuss, watercooler, healthydebate, beginners
Published: 2020-05-10 09:48:15

Having started a new job as Tech Lead, I have to interview many candidates for Software Engineer, both Junior and Seniors.

It is great to interview candidates but of course, everyone has a different understanding of Junior and Senior developers.

## Questions
- **What is your definition of Junior and Senior developer?**
- **What are your expectations and requirements for these two kind of positions?**

Let me know your answer below!
⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀
### ABOUT THE AUTHOR
Domenico is a tech lead and software developer with a passion for design, psychology, and leadership. 
If you need help with software development, you need consultancy for your technical challenges or you need a leader for your software team or just want to collaborate online, feel free to contact me!

![Follow me](https://images.unsplash.com/photo-1576259222107-6c9767685742?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1951&q=80)


### FOLLOW ME

Do you know that I have a YouTube channel? [Subscribe!](http://bit.ly/YT_DOMENICOSOLAZZO)

Where can you find me?

**Youtube:** [Domenico Solazzo's Channel](http://bit.ly/YT_DOMENICOSOLAZZO)
**Instagram**: [domenicosolazzo](https://www.instagram.com/domenicosolazzo/)
**Linkedin**: [solazzo](https://www.linkedin.com/in/solazzo/)
**Medium**: [domenicosolazzo](https://medium.com/@domenicosolazzo)
**Facebook**: [domenicosolazzo](https://www.facebook.com/domenicosolazzo.labs/)
**Twitter**: [domenicosolazzo](https://twitter.com/domenicosolazzo)
**Snapchat**: [domenicosolazzo](https://twitter.com/domenicosolazzo)
**Github**: [domenicosolazzo](https://github.com/domenicosolazzo)
**Website**: [https://www.domenicosolazzo.com](https://www.domenicosolazzo.com)
**Dev.To**: [https://dev.to/domenicosolazzo](https://dev.to/domenicosolazzo)
**Hashnode**: [https://hashnode.com/@domenicosolazzo](https://hashnode.com/@domenicosolazzo)
Case study on Duolingo UI & UX
Published: 2020-05-10 09:34:47

DuoLingo was my all-time favorite application in terms of its user interface and experience. In fact, I’m jealous of the way its user experience is built. Very simple and elegant design and I gave my friend Arjun, a set of 5 tasks to complete on this application.
The first task that I gave him was to Download the app from the play store and sign up.
Downloading the application was an easy task since when the keyword Duolingo is queried onto the search bar of play store, it was redirecting him directly to the application and from there it was easy to download.
The very first screen of the application was like this. Since I’ve asked him to signup, he found difficulty in finding the signup option on the app screen. He clicked on getting started and it asked for language of preference.
Duolingo has a funnel between downloading an app and getting a user signed up on board.
The next task that I gave him was to choose a preferred language that he wanted to learn. He chooses Spanish just because Spain was his favorite football team. It seems to be a very easy task for him and I guess this app is designed in such a way that anyone can use it very easily.
The language selection activity for this application looks like the following image.
https://www.rater.in/jobs/
Firestore cross-reference returns a promise object, can't access document value [help]
Tags: help
Published: 2020-05-10 08:00:40

I posted this on StackOverflow originally, but would welcome any suggestions:

## Scenario
My app is built with React and Firebase. There is a feature in the app that allows users to create playlists and fill them with tracks from a catalog. A Playlist has a sub-collection called "Tracks" that stores the track ID's and some other info. When viewing a playlist, I want to loop through the tracks and cross-reference them (like a join in SQL) to the Tracks collection to populate the view.

```
// Looks something like this before the return...

// Attempting to write an async/await function
async function getTrackDocument(trackId) {
  const track = await firestore
    .collection("tracks")
    .doc(trackId)
    .get();
  return track;
}

useEffect(() => {
  const playlistRef = firestore.doc(`playlists/${playlistId}`);
  const playlistTracksRef = firestore.collection(
    `playlists/${playlistId}/tracks`
  );

  playlistRef.get().then(doc => {
    if (doc.exists) {
      const unsubscribe = playlistTracksRef.onSnapshot(snapshot => {
        // Snapshot of playlist tracks
        const playlistTracks = snapshot.docs.map(doc => {
          return {
            id: doc.id,
            ...doc.data(),
            // Getting the track document
            trackRef: getTrackDocument(doc.id).then(doc => {
              return doc.data();
            })
          };
        });

        setTracks(playlistTracks);
      });

      return () => unsubscribe();
    }
  });
});
```
## Problem
The part where I am trying to cross-reference a Playlist Track ID to the Tracks collection:
```
trackRef: getTrackDocument(doc.id).then(doc => {
   return doc.data();
})
```
I was hoping that would give me the track information I needed. That part returns a promise object in the console:
```
trackRef: Promise
__proto__: Promise
[[PromiseStatus]]: "resolved"
[[PromiseValue]]: Object
__proto__: Object
```
And `[[PromiseValue]]` has all the values, but I can't get seem to get to where I can use the values. I can log `doc.data()` to the console and it shows me the values I need eventually. Is there a way to return those values in-line the way the code is written? I've tried different ways of writing async/await functions, and I also tried to return a Promise.resolve(data), always the same results.

The closest I've come to the behavior I was hoping for was by creating a function where I could grab the Track and just push it to tracks array in state, like:
```
// @param arrayOfTrackIDs -- just track IDs from the playlist
function getTracksThenPopulateArray(arrayOfTrackIDs) {
   arrayOfTrackIDs.forEach(trackID => {
      firestoreTracks.doc(trackID).get().then(doc => setTracks(tracks => [...tracks, track])); 
   }
}
```
This wasn't ideal however because I couldn't incorporate .onSnapshot() to update the view if tracks were removed or added.
Node.js SQLite each and Async Iterator
Tags: help, node, javascript
Published: 2020-05-10 07:15:53

I mean this [Node.js SQLite each](https://github.com/mapbox/node-sqlite3/wiki/API#databaseeachsql-param--callback-complete).

Wonder if it is possible to use [async iterator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of) and call,

```js
for await (const r of SQL_STATEMENT) {

}
```

Or perhaps some other conveniences, like subscribe or observable?
Jumpstart Your Career With These Books
Tags: career, javascript, ruby, elixir
Published: 2020-05-10 07:13:43

These books transformed my professional career. I'm sharing the initial list and would like to keep adding resources as I discover them.

I really wish I had discovered these books earlier in my career.

https://github.com/Math3v/reading-resources

Which books were transformative to your career? Let me know in the comments section.
Bite-Size Python: List comprehensions
Tags: python
Published: 2020-05-10 07:03:54

---
title: Bite-Size Python: List comprehensions
published: true
description: Simple usage of list comprehensions in Python
tags: python
---

### This mini-tutorial is demonstrate how I use list comprehensions in Python.

#### Let's start!

- List creation
```python
# normally
>>> a_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# then
>>> a_list = [i for i in range(11)] # but actually you just use list(range(11)) :P 
```
- Conditional filtering using `if`
```python
>>> a_list_even = [i*i for i in range(11) if i % 2 == 0]
>>> a_list_even_doubled
[0, 4, 16, 36, 64, 100]
```
- You can work with other data type rather than list too
```python
>>> a_dict = {
    "mango": 20,
    "grape": 30,
    "durian": 100,
    "latte": 40,
    "cappuccino": 30
}
>>> fruits = ["mango", "grape", "durian"]
>>> fruit_prices = [(k, v) for k, v in a_dict.items() if k in fruits]
>>> fruit_prices
[('mango', 20), ('grape', 30), ('durian', 100)] 
```

That's all.
Thank you for reading =)
Fullscreen Background Video HTML5 And CSS cross-browser
Tags: html, css3, videos
Published: 2020-06-15 14:58:01

---
title: Fullscreen Background Video HTML5 And CSS cross-browser
published: true
date: 2020-05-10 06:49:52 UTC
tags: html5, css3, videos
canonical_url: https://www.ma-no.org/en/diseno-web/fullscreen-background-video-html5-and-css-cross-browser
---

Full-screen Background Video is a way to present your website playing a video in the background without disturbing its content. It makes your website very modern and different. So, in this tutorial we will show you how to add fullscreen background video using only  HTML5 and CSS and make it compatible for all browsers.Before achieving this, there some factors you should consider:The video will likely be set to autoplay, but it should be muted by default; ideally, it should not include sound at all. (You can easily create an unmute button for the video with JavaScript).The video should display a placeholder image, falling… !



Read on [📖!](https://www.ma-no.org/en/diseno-web/fullscreen-background-video-html5-and-css-cross-browser)
TIL how to make MacOS behave on network shares
Tags: todayilearned, macos
Published: 2020-05-10 14:09:57

---
title: TIL how to make MacOS behave on network shares
published: true
date: 2020-05-10 05:50:00 UTC
tags: til,macos
canonical_url: https://www.mcartoixa.me/blog/software-craftsmanship/2020/05/10/til-how-to-make-macos-behave-network-shares.html
---

How do you know there is a MacOS user amongst your colleagues? That has to be when you start to realize that half your folders in your network shares are gifted with a pesky `.DS_Store` file. Those files can even [spread to your repositories](https://github.com/search?q=.ds_store&type=Issues) by the way… All it takes is [1 single person to create a lot of nuisance](https://www.newsweek.com/south-korea-hailed-pandemic-response-backtracks-reopening-after-covid-19-cases-jump-1502864) for everyone else.

But hey, MacOS does what it does, and this is just something we have to live with. Right? This is what I thought for so many years.

But this is actually wrong. MacOS users: there is a way to for you to behave on network shares, and there has been for a long time! What you need is this simple command line (and a logout):
```
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE
```

It can even [speed up your browsing on network shares](https://support.apple.com/en-us/HT208209)! Don’t thank me.
Journey into Web Monetization - day 1
Tags: gftwhackathon, webmonetization
Published: 2020-05-10 05:16:32

I was excited to learn about this new web monetization api and what impact it can have on the future of the web.

My basic understanding of it:
- Creators can set up payment pointers (basically a url to a wallet) and receive streaming payments for access to their content. 
- This payment pointer is added to a meta tag in an html document. 
- Payment pointers can also be set up in a more dynamic way on the servers.

Pretty quickly after skimming through the documentation, I came up with four potential ideas:

### 1. Monetize mixtapes
I'm a big fan of mixtapes from artists and labels and find it a great way of discovering new music.

The idea would be to build a stream server which switches the payout depending on timestamps mapped to a table of payment pointers to artists.

This would enable the artist to receive payment exactly for the time their music is being played.

### 2. Newsletters or articles
Many writers today rely on services such as Medium or Substack to reach their audience. I had this idea of building tools to enable writers to earn money in a more indenpendent way hosting their own content. 

Coil describes three strategies of monetizing:
- free sample and pay for the rest
- some free and some paid
- everything free and pay for bonus content

### 3. SaaS for developers to monetize their apps
I got this idea of creating an sdk that developers could easily add as middleware for their api routes. Instead of the usual subscription-based model, the users would only pay when they use the apps. This could include a granular control of which api's are accessible for free. Another possibility would be to monetize external API's for other apps to use.

### 4. Photos on IPFS
An embeddable widget would enable photographers or other visual artists to embed their content in their own as well as publishers' websites. They would then receive payment when users view their content (or high-res versions)

As I kept thinking on these ideas I noticed obvious problems with all of them:
Payment streams turn off when webpage goes in the background making music content difficult. Besides, getting users to give up Spotify or other established music services might be challenging.

For newsletters and written content, what would the proof of concept be?
What would happen if readers go offline to read, turning off the payment stream. 

I guess it depends on how you look at the monetizing. Is payment mandatory or optional?
Postwoman won Tyk Side Project Fund 🎉🎉
Tags: showdev, webdev, javascript, githunt
Published: 2020-05-10 04:56:25

---

### **We're excited to announce that [Postwoman](https://postwoman.io) won [Tyk](https://tyk.io) [Side Project fund](https://tyk.io/fund) to kickstart your favorite API request builder 🌱**

This is an achievement of our [whole community!](https://github.com/liyasthomas/postwoman) ❤️

{% cta https://github.com/hoppscotch/hoppscotch %} GitHub → {% endcta %} {% cta https://hoppscotch.io/ %} Web app → {% endcta %}

Thank you for each pull request, implementation, love and any other commit that you made to improve Postwoman! We are lucky to build this open-source PWA for API testing with such an amazing and engaged bunch of people around 🙌

> {% link liyasthomas/celebrating-10-000-stars-on-github-together-4ilg %}

Remember, we are not stopping here. Each day we change Postwoman to make it the best API testing solution on the market.

> Join [Tyk](https://tyk.io) - the leading API and service management platform that’s always evolving, so you can make big things happen in your business.

> Apply for [Tyk Side Project Fund](https://tyk.io/fund) – a micro-grant programme for people who have great ideas but don’t have the resources to make them a reality.

{% link liyasthomas/i-m-writing-a-book-de-coding-the-passion-project-2c07 %}

If you want a heads up on my next projects, or just want to chat about the web, life and happiness make sure to follow me [@liyasthomas](https://twitter.com/liyasthomas) on Twitter 💙. If any of my projects helped you please consider [making a donation](https://paypal.me/liyascthomas).
How Would You Approach API Exploratory Testing | 30 Days of API Testing |  Day 2
Tags: testing, tutorial, beginners, webdev
Published: 2020-05-10 04:23:42

Mastering API Testing(Full Course) -  https://www.learnapitesting.com

We are going to learn about How would you approach API Exploratory Testing?

Download mindmap - https://bit.ly/30daysapitesting-day2

In this series of 30 Days of API Testing, We are going to learn What is Exploratory Testing and How to do it with APIs, This is Day 2 of 30 Days of API Testing challenge.

[![30 Days of API Testing](https://i.imgur.com/sx4byFR.png)](https://youtu.be/6MbUZ_2PlXo "30 Days of API Testing")


Learn more - http://scrolltest.com/api-testing-tutorial

## In this 30 Days of API Testing,
You are going to learn about the concepts of API, API testing, web services, and HTTP Methods basics which are helpful in API testing interview questions. 

You will learn about everything API Testing Using Postman, SOAPUI, PAW and many more API Testing Tools in these 30 Days.

These challenges are a great way to learn on your own, as a team effort or join in with the wonderful Ministry of Testing community online.

Below is a list of 30 challenges and a bonus challenge, one for each day of the month. Download the PDF below. Save it somewhere. Print it out. Stick it on your wall. Let’s do this!

Source. : https://www.ministryoftesting.com/dojo/lessons/30-days-of-api-testing

#API #APITesting #Postman  #APITestingTutorials.

Join Facebook Group :  http://bit.ly/learntesting2019
Website:   https://scrolltest.com
Website:   https://thetestingacademy.com
Twitter: https://twitter.com/itstechmode

Download PPT : https://bit.ly/2PhosOh

API stands for Application Programming Interface.
API is a defined set of rules, which contains clearly defined methods of communication. API helps different software components to interact with each other.

API testing involves testing the collection of APIs and checking if they meet expectations for functionality, reliability, performance, and security and returns the correct response.
API testing is used to determine whether the output is well-structured and useful to another application or not, checks the response on basis of input (request) parameter, and checks how much time the API is taking to retrieve and authorize the data too. 🚀 Tools and services I recommend:
Some of the courses that I recommend to become better Automation Tester 🙌🙌

✅Selenium Training and Certification -
https://scrolltest.com/go/edureka

✅Learn Jenkins for QA -
https://bit.ly/learnjenkins-p1

✅Programming Java -
https://bit.ly/learnjava2020-p1

✅Test Automation - 
https://bit.ly/learnautomation2020

✅API Testing - 
https://www.learnapitesting.com

✅Cypress Tutorial with LIVE Projects -
http://cypresstutorial.com

--
Be sure to subscribe for more videos like this!

[![ TheTestingAcademy](https://dev-to-uploads.s3.amazonaws.com/i/r7vcy6wbvyjbk1y1uu0o.png
)](https://www.youtube.com/TheTestingAcademy?sub_confirmation=1 "TheTestingAcademy")
Top 3 Books on API Testing | 30 Days of API Testing |  Day 3
Tags: testing, beginners, webdev, tutorial
Published: 2020-05-10 04:20:40

🚀Mastering API Testing(Full Course) -  https://www.learnapitesting.com

In this video of 30 Days of API Testing Challenge, We are going to start reading an API Testing related book and will share our learning on the 30th day.

Here are Top 3 Books on API Testing.

✅Automating and Testing a REST API
https://scrolltest.com/go/apibook

✅ REST API Automation testing from scratch-(REST Assured java)
https://www.oreilly.com/library/view/rest-api-automation/9781789133813/

✅The Way of - the Web Tester
https://pragprog.com/book/jrtest/the-way-of-the-web-tester

[![30 Days of API Testing](https://i.imgur.com/vxJUgil.png)](https://youtu.be/Bu2W-ici6fI "30 Days of API Testing")


🔴Download mindmap - https://bit.ly/30daysapitesting-day3


### 📘In this series of 30 Days of API Testing.📘

You are going to learn the about the concepts of API, API testing, web services and HTTP Methods basics which are helpful in API testing interview questions. 

You will learn about everything API Testing Using Postman, SOAPUI, PAW and many more API Testing Tools in these 30 Days.

These challenges are a great way to learn on your own, as a team effort or join in with the wonderful Ministry of Testing community online.

Below is a list of 30 challenges and a bonus challenge, one for each day of the month. Download the PDF below. Save it somewhere. Print it out. Stick it on your wall. Let’s do this!

Source. : https://www.ministryoftesting.com/dojo/lessons/30-days-of-api-testing


Join Facebook Group:  http://bit.ly/learntesting2019
Website:   https://scrolltest.com
Website:   https://thetestingacademy.com
Twitter: https://twitter.com/itstechmode

--
Be sure to subscribe for more videos like this!

[![ TheTestingAcademy](https://dev-to-uploads.s3.amazonaws.com/i/r7vcy6wbvyjbk1y1uu0o.png
)](https://www.youtube.com/TheTestingAcademy?sub_confirmation=1 "TheTestingAcademy")
Learning Golang 105
Tags: go, beginners
Published: 2020-05-10 04:17:03

### Custom Type and Receiver
define a type
```
type deck []string
```
receiver
```
fun (d deck) print() {
   for i, card := range d {
     fmt.Printf(i, card)
   }
}
```
call print func
```
d := deck{"card1", "card2"}
d.print()
```

You can see that adding a receiver to a custom type, it extends the type's functionality.

### Type assertions
A type assertion takes an interface value and extracts from it a value of the specified explicit type.
For example
```
res, ok := deck.([]string)
if ok {
    fmt.Printf("slice value is: %q\n", res)
} else {
    fmt.Printf("value is not a slice\n")
}
```

### Structs
define a struct
```
type person struct {
  firstName string
  lastName  string
}
```
declare a struct
```
// alex := person{"Alex", "Anderson"} //rely on order.
alex := person{firstName: "Alex", lastName: "Anderson"}
alex.firstName = "Alex"

```

### Pointers
Go passes by value. It creates a copy when you pass a value. 
`&` give the address of a value
`*` give the value of an address or define a pointer.

Turn `address` into `value` with `*address`.
Turn `value` into `address` with `&value`.

|Value Types | Reference Types|
|---|---|
|int| slices|
|float| maps|
|string| channels|
|bool| points|
|structs| functions|

when passing a `reference type`, go still make a copy, but `reference type` is a reference. So, it is like passing by reference.
Affordable Website Development Services in India - Cafune Solutions
Tags: WebsiteDevelopmentServices
Published: 2020-05-10 03:41:02

Cafune Solutions is a primary website designing company in India. We assist web design and development services on several platforms. Our main goal to fulfill our client necessity with reaching the maximum level of satisfaction. Panacea trusts in creating a strong base of trust with their client. For more information about services or plan, you can visit our website https://cafunesol.in/website-development-services/
KVision v3.8.0 is released
Tags: kvision, kotlin, realworld
Published: 2020-05-10 02:08:00

---
title: KVision v3.8.0 is released
published: true
description: KVision is an open source web framework created for Kotlin/JS.
tags: kvision,kotlin,realworld
---

[KVision](https://github.com/rjaros/kvision) is an open source web framework created for Kotlin/JS. It allows developers to build modern web applications with the Kotlin language.

I have released KVision 3.8.0. The highlights of this release include:

- added new `className` parameter to all DSL builder functions for better React-like HTML markup

- simplified state binding functions

- added root panel container types from Bootstrap 4.4

- upgraded dependencies: Coroutines 1.3.6, Spring Boot 2.2.7, Jooby 2.8.2, Bootstrap Select 1.13.17

- bugfixes and improvements for different components

For more details about this release see the [changelog](https://github.com/rjaros/kvision/releases/tag/3.8.0).

I've also started implementing [RealWorld Example App](https://github.com/gothinkster/realworld) with KVision. The work in progress codebase is available [here](https://github.com/rjaros/kvision-realworld-example-app). This implementation will show how to build more complex apps with my framework (utilizing routing, redux store, rest calls with coroutines, serialization and authorization). The plan is to create 100% compatible frontend application first. And when it's ready, I plan to implement fullstack version as well.

Don't forget to ⭐️ my [project](https://github.com/rjaros/kvision) if you like it!

Any feedback is appreciated!