teleren/devto huggingface dataset:
Thinking forward for regulations
Tags: learning, review, thoughts
Published: 2019-08-09 22:51:11

---
title: Thinking forward for regulations
published: true
tags: #learning, #review, #thoughts
cover_image: https://www.pexels.com/photo/icra-iflas-piled-book-159832/
canonical_url: https://distort-roving.blogspot.com/2019/08/thinking-forward-for-regulations.html
---

Listening is a skill that can bring some unexpected benefits. Being willing to listen, without an opinion (or, in some cases, no awareness of what they are talking about) can yield bits of useful information on an issue you are facing.  
  
This was the case a few days ago - a pair of us were discussing both a student that was having an issue on a topic, and the regulation of the future, in regards to Machine Learning and AI. (Yes, my conversations do wander - we started out with woodworking). The student was a one who had made a program - since it worked, they were happy with it, as we all are when first learning a topic. Having someone with skill come in and redo nearly everything is a blow to the ego.  
  
Approached correctly, this can teach so much. Praise for getting it working is a important step, then carefully showing how other options may have been a better, more-performant choice is where the learning comes in. If this isn't done at a slow-enough pace: depending on the student, it may take days to ensure they are grasping the concepts, rather than just feeling like they did nothing correct.  
  
Learning is important, and making sure that what is there is the best possible - then improving on that with other inputs is the way to quality.  
  
However, with the pace of technology running at an ever-increasing rate, there really may not be time to make the regulations for technologies that will be common to iterate on what is probable. The regulation that is needed has to be mostly correct with the potential that the underlying technologies may become more advanced by the time these are fully made.  
  
And testing is a huge part of that - you may well have seen the potential issues with the training of machines to do a portion of the job that humans used to do - and if you look at some of the new innovations, the potential of a problematic set of training data causing damage, or overlooking a situation that isn't covered in that training is growing: how are we going to test the lack of bias that is hoped for with these technologies?  
  
I'm sure someone out there has a plan for this - I don't have an answer at the moment to make sure that - worldwide - there are sufficient training data for all the projects, and that they are unbiased. Enshrining the current prejudges and taboos will not serve us well into the future: we need to have a effort made to ensure that the data sets are as fair as possible. We may not be able to update the training in the future: let's plan for that.
[Video] Teaching the Sighted to Touch & Feel a Bit More
Tags: video, javascript, a11y, cascadiajs2018
Published: 2019-08-08 16:50:19

---
title: [Video] Teaching the Sighted to Touch & Feel a Bit More
published: true
description: Braille is becoming more and more ubiquitous in many common spaces — airports, malls, libraries, etc. A college in Oregon needed an App built to help teach the friends & family of those who are sight impaired how to read Braille. Faddah Wolf will go over what accessibility options there are in common Mobile OS's, how he created a React Native six-key-input keyboard for Braille and how you can contribute to this Open Source project.
tags: video, javascript, a11y, cascadiajs2018
---
*As we lead up to [CascadiaJS 2019](https://2019.cascadiajs.com), I'm going to share the 24 amazing talks from 2018 here on dev.to. Sit back and enjoy the show!*

# Faddah Wolf
![Faddah Wolf](https://2018.cascadiajs.com/speakers/faddah.jpg)

Braille is becoming more and more ubiquitous in many common spaces — airports, malls, libraries, etc. A college in Oregon needed an App built to help teach the friends & family of those who are sight impaired how to read Braille. Faddah Wolf will go over what accessibility options there are in common Mobile OS's, how he created a React Native six-key-input keyboard for Braille and how you can contribute to this Open Source project.

[Watch the talk on YouTube (30:59)](https://www.youtube.com/watch?v=QLwV34UJ8I8)
FaceLyt now open-sourced
Tags: flutter, android, mobile
Published: 2019-08-08 16:03:46

Recently open sourced one of my old projects "FaceLyt". It was a webview based client app for facebook and came with key features like:
1. Theme support
2. Chat head support
3.  Night Mode
4. Data Saver mode
5. Hotlinks
6. Long press images or posts to share
7. All this in ~800kb of app size

The app had 1,00,000+ users while it was there on the play store. It was taken down few years back by Google because apparently according to them the "capital F" in FaceLyt resembled Facebook's logo and Facebook wasn't happy with it.

Nevertheless here's the Github link  & the APK link for those interested in seeing the app/source code. Open to any sort of recommendations. :)

https://github.com/adityadroid/facelyt

https://apkpure.com/facelyt-for-facebook-lite/com.adityaadi1467.facelytx

![](https://thepracticaldev.s3.amazonaws.com/i/4jldzy4d09t0plnsij9x.jpg)
How do you reset CSS properties?
Tags: discuss, css
Published: 2019-08-08 15:27:24

I’m wondering how do you usually reset CSS properties to their default values? Do you use the initial (default) value for the given property or the [`initial`](https://developer.mozilla.org/en-US/docs/Web/CSS/initial_value) keyword?

---

Example:

```css
main {
  padding-bottom: 1rem;
}

main:hover {
  padding-bottom: 0;

  /* vs */

  padding-bottom: initial;
}
```

I’m asking because I mostly use the initial value (`0` in the example above). And because of that I sometimes forget what the initial value is and need to check it. It’s usually not a big deal but I just had an idea for a VS Code extension that shows the value on hover. Will it be helpful to you?

![](https://thepracticaldev.s3.amazonaws.com/i/p2hurliljvcpp19mmumc.jpg)
What do developers wish designers knew?
Tags: design, css, frontend, discuss
Published: 2019-08-08 15:01:44

With an increasing number of designers and developers being more and more collaborative, I still read and hear a good amount about the gap these teams have in the process. 

In hopes of bridging the gap and finding the missing pieces of the puzzle, I ask: **what are the things developers wish designers knew?**

What are the pain points being disregarded (knowingly and unknowingly) by design teams to give way for their visual pursuits?

And how can we improve our dynamics as teams working on the same product?

Your insights will be greatly appreciated and shared.
Daily Challenge #36 - Let's go for a run!
Tags: challenge
Published: 2019-08-08 14:50:48

---
title: Daily Challenge #36 - Let's go for a run!
published: true
description: 
series: Daily Challenge
tags: #challenge 
---

Today's [challenge](https://www.codewars.com/kata/578b8c0e84ac69a4d20004c8) requires you to calculate one's running pace.

> For example: 

> runningPace(distance, time) 
> distance - A float with the number of kilometres
> time - A string containing the time it took to travel the distance; it will always be minutes:seconds

> The function should return the pace, "5:20" means it took 5 minutes and 20 seconds to travel one kilometre.


Happy Coding!
***
_This challenge comes from jtauri on CodeWars. Thank you to [CodeWars](<https://codewars.com/>), who has licensed redistribution of this challenge under the [2-Clause BSD License](<https://opensource.org/licenses/BSD-2-Clause>)!_

_Want to propose a challenge for a future post?  Email **yo+challenge@dev.to** with your suggestions!_
🎙 Introducing the new "Chats with Kent" podcast! 🎉
Tags: discuss, podcast, softwareengineering, career
Published: 2019-08-08 14:49:12

---
title: 🎙 Introducing the new "Chats with Kent" podcast! 🎉
published: true
description: A new podcast to help you improve your life, career, and development skills.
tags: discuss, podcast, software engineering, career
---

I've always loved podcasting. I started [Angular Air](https://angularair.com/), [JavaScript Air](https://javascriptair.com/), [React30](https://react30.com/), and [3 Minutes With Kent](https://kcd.im/3-mins). I'm not really active with any of these anymore, and I've missed having interesting conversations with interesting people.

That's why I've started the [Chats with Kent C. Dodds](https://kentcdodds.com/chats-with-kent-podcast) podcast. It's an awesome place where I talk with interesting people about interesting topics and you leave with key takeaways that you can apply to help you improve your life, career, and development skills.

In a true Netflix-style release, I've published the entire 1st season of 14 episodes today! Go binge to your heart's content!

[**Subscribe to Chats with Kent C. Dodds**](https://kentcdodds.com/chats-with-kent-podcast).

{% twitter 1159468138926182400 %}
How i installed Ubuntu.
Published: 2019-08-08 14:28:48

got the iso file from a friend.
stepwise procedure i used:
Step 1:Got the iso file from a friend,moved it to a USB drive and made it bootable
Step 2:Started the installation procedure of Ubuntu 
Step 3:Selected the installation type.
Step 4:Gave the user credentials and password
Step 5:Restarted the laptop and then Ubuntu was ready to be used.
On getting feedback from your users
Tags: feedback, discuss
Published: 2019-08-08 19:08:34

---
title: On getting feedback from your users
published: true
tags: feedback,discuss
canonical_url: https://www.zufallsheld.de/2019/08/08/on-getting-feedback-from-your-users/
---

Some time ago I talked with a co-worker about his internal project. He was the owner of a product that tried to provide a generalized, hardened and fully codified Jenkins instance. This was done with the help of mostly Puppet and Groovy code. I was in this project for six months to help build the product and learn something there.

After three years, one complete rewrite and countless hours put into the product, it was still not finished. The acceptance rate in the company for the product as well as the project was low.

There were several reasons why the product failed. Among these were unclear scope, feature creep and end-user complexity. But the reason we mainly talked about was missing feedback from the users of the product. The co-worker had no way to check how many users downloaded or used the product, apart from the people who developed it. The only feedback he got was when something did not work. But even this feedback was rather sparse. He claimed that this was the main reason the project failed.

I argued that receiving no direct feedback from most people is normal.

I maintain some rather small (fewer than 1000 stars) open-source repositories on Github. Checking the statistics on one of these projects I see about 9000 clones and 2000 views in the past week. Yet, there are only 70 issues and 132 pull requests (excluding mine) for the **whole lifetime** of the project. And that’s about for years.

So why is it like this?

My projects are certainly not so good as there are no issue or things to improve. However they must be somewhat good, otherwise they wouldn’t be downloaded. Still, I rarely get feedback.

Maybe it is because most users are just this: users of your product.
Build your dApp on Wanchain
Tags: blockchain, typescript, wanchain, dapp
Published: 2019-08-08 13:49:22

---
title: Build your dApp on Wanchain
published: true
description: Learn how to develop a dapp that enables creation, management and transfer of non-fungible tokens on the Wanchain network using the 0xcert Framework.
tags: blockchain, typescript, wanchain, dapp
---

The newly published Wanchain tutorial series will teach you how to build a dapp on the Wanchain network using the 0xcert Framework. Your Wanchain-based dapp will also support the creation and management of non-fungible tokens.

From chapter 1 to 6, you will learn how to:
- Set up a Wanchain test node (gwan)
- Create a Wanchain wallet and obtain test WAN tokens
- Set up Express server with TypeScript for back-end
- Deploy asset ledger
- Create new digital assets
- Transfer digital assets
- Create atomic operations for asset exchange on Wanchain

Here are the links to the whole series:

https://0xcert.org/news/0xcert-framework-for-wanchain-tutorial-1-run-and-prepare-wanchain-test-node-for-backend-integration
https://0xcert.org/news/0xcert-framework-for-wanchain-tutorial-2-set-up-express-server-with-typescript-for-dapp-backend
https://0xcert.org/news/0xcert-framework-for-wanchain-tutorial-3-deploy-asset-ledger
https://0xcert.org/news/0xcert-framework-for-wanchain-tutorial-4-create-new-assets
https://0xcert.org/news/0xcert-framework-for-wanchain-tutorial-5-transfer-assets
https://0xcert.org/news/0xcert-framework-for-wanchain-tutorial-6-atomic-operations
Decentraland Game Jam, $250,000 USD in prizes, September 16-30

Tags: dapps, hackathon, gamejam, typescript
Published: 2019-08-08 13:27:35

{% youtube AIiiScI0YNE %}


A two-week online event, building interactive 3D content for Decentraland – the first blockchain-based virtual world.

Blockchain is transforming the gaming industry, adopted by established companies such as Samsung, Ubisoft, HTC and Kakao Games.

The blockchain allows for unprecedented mechanics in gaming, such as 

earn-to-play, allowing players to monetize their skills;
true ownership of virtual goods, which lets you trade what you own in global open markets;

verified scarcity and provable fairness, meaning you can verify the exact supply and rules that affect your items and the games you play;

and interoperability of virtual items, so that the skins you purchased for one game can be used in a different franchise
Sign up at [gamejam.decentraland.org](https://gamejam.decentraland.org/)

For more details, read the [Game Jam Survival Guide](https://docs.decentraland.org/getting-started/game-jam/)
Adicionando propriedades condicionalmente
Tags: javascript, react, node
Published: 2019-08-08 13:09:22

![Adicionando propriedades condicionalmente](https://thepracticaldev.s3.amazonaws.com/i/kwq3cpuiyqg1iqc0kn7m.jpg)

Usando o spread você consegue também adicionar propriedades usando condicionais. Fica a dica!


[➜ Participe da nossa lista de desenvolvedores](https://emersonbroga.com/e/participe/)
[➜ Aprenda ES6](https://amzn.to/2J4XnLg)
[➜ Veja as dicas no instagram](https://www.instagram.com/emersonbrogadev/)
[➜ Assita nosso canal no Youtube](https://www.youtube.com/c/emersonbroga/)
[➜ Curta nossa página no facebook](https://www.facebook.com/emersonbrogadev/)
[➜ Não perca as atualizações no twitter](https://www.twitter.com/emersonbrogadev/)

=)
VSCode Tips & Tricks Collection in GIF
Tags: vscode, vim
Published: 2019-08-08 13:00:52

---
title: VSCode Tips & Tricks Collection in GIF
published: true
description: VSCode Tips & Trikcs Collection in GIF
tags: vscode, vim, 
---

Hey everyone.

I just released [VSCode.xyz](https://vscode.xyz), it's a collection of Visual Studio Code Tips & Tricks in GIF. 

I'd love to hear some feedback from you guys.

Here's interesting tips & tricks

![](https://thepracticaldev.s3.amazonaws.com/i/2j4uj65mvvgbcz6pkzlc.gif)
![](https://thepracticaldev.s3.amazonaws.com/i/147pff6ieb1sxbkluxzu.gif)
![](https://thepracticaldev.s3.amazonaws.com/i/poux7bux6tu7yfhw3rf2.gif)
![](https://cdn.hashnode.com/res/hashnode/image/upload/v1562811003814/UHXvSZYgk.gif)


## Explore more

You can explore more gifs at [vscode.xyz](https://vscode.xyz)

![](https://thepracticaldev.s3.amazonaws.com/i/yzbtkdmiymyutl93oovd.gif)
How the winner of the cricket world cup was awarded in Javascript
Tags: javascript, beginners, tutorial, webdev
Published: 2019-08-08 12:45:35


In this post we are going to use a practical example from a recent sporting event to learn how to **sort an array by multiple fields in JavaScript**.


In the recent cricket world cup, The winner was decided based on the below.⠀
- Most runs (if a tie go to a super over)⠀
- Most runs in Super Over (if a tie go to a boundary count)⠀
- Most boundaries.⠀


When sorting we can use the syntax `array.sort((a,b) => b - a` to sort from highest to lowest.⠀


So in our code below we check ⠀
- if the runs and super over runs are equal - sort by boundary count⠀
- else if runs are equal sort by most runs in super over⠀
- else sort by most runs⠀


Then because this will sort an array we the take the first results in the array [0] and return the team property, so when we log out the scores from the world cup final we can see that England is declared the winner of the match.⠀

```js
const cricketWorldCupFinal = [{
  team: 'England',
  runs: 241,
  wkts: 10,
  supOvrRuns: 15,
  boundaryCount: 26
},
{
  team: 'New Zealand',
  runs: 241,
  wkts: 8,
  supOvrRuns: 15,
  boundaryCount: 17
}]

const calcMatchWinner = scores => {
  return scores.sort((a, b) => {
    if (a.runs === b.runs && a.supOvrRuns === b.supOvrRuns) {
      return b.boundaryCount - a.boundaryCount
    } else if (a.runs === b.runs) {
      return (b.supOvrRuns - a.supOvrRuns)
    } else {
      return (b.runs - a.runs)
    }
  })[0].team
}

console.log(calcMatchWinner(cricketWorldCupFinal))
// output => England
```

I am currently working on a cricket javascript course where I demonstrate how to Create a Cricket Points Table in JavaScript so please follow me on one of the below channels or here on Dev to stay up to date, with when it is released.⠀


[Instagram](https://instagram.com/afewminutesofcode)
[Facebook](https://facebook.com/afewminutesofcode)
[afewminutesofcode.com](https://afewminutesofcode.com/?utm_source=devto&utm_medium=website&utm_campaign=blogpost)
[Twitter](http://twitter.com/afewminsofcode)
[Pinterest](https://www.pinterest.com.au/afewminutesofcode)


{% instagram B0vilpNnOXV %}
How did they do that in one line? Part 2: Isograms
Tags: beginners, python
Published: 2019-08-08 11:34:18

I just solved another challenge on Codewars, and, like in my previous [post](https://dev.to/erikkristoferanderson/how-did-they-do-all-that-in-one-line-a-codewars-challenge-explanation-3e2c), the most popular solution used far fewer lines than mine did.

The challenge for this [kata](https://www.codewars.com/kata/isograms) is to take a string and indicate whether it's an isogram. An isogram is a word with no repeating letters.

Here's the popular solution:
```
def is_isogram(string):
    return len(string) == len(set(string.lower()))
```

And here's mine

```
def is_isogram(string):
    result = False
    string = string.lower()
    my_list = []
    for character in string:
        if character in my_list:
            return False
        my_list.append(character)
    return True
```

Wow. Big difference.

Let's pick apart that short solution.

```
def is_isogram(string):
    return len(string) == len(set(string.lower()))
```

The right side of the equality test is simple enough. It's just the length of the string. The right side is a little more dense but it's not actually that bad. Its function is to calculate the length of the set of unique elements in `string`.  
Let's see how it does that.  
First, `string.lower` is necessary because there may be upper and lower case instances of the same letter, and the program should recognize these as being the same letter.  
Next, `set(string.lower())` gives us a set data type with all the unique elements in string. That is, if the letter `b` occurs twice in string, it will only occur once in the set.  
Then `len(set(string.lower()))` calculates the length of this set.  
We're now ready to consider the `==` comparison. If the length of the string is equal to to the length of the set, the function will return `True`, indicating that `string` is an isogram. On the other hand, if the length of the set is different from the length of the string, that means at least one letter occurs at least twice in string. The function will then return `False`, because `string` is not an isogram.

As a final note, it's interesting to consider the case where `string` is the empty string. In that case, both the length of the set and the length of the string are zero, so the function will return True.  
Fortunately, the instructions indicate that we should assume an empty string is an isogram.  
That's convenient. It means we don't need extra code to handle the case of an empty string. The function body stays at a pithy one line.  

So there it is. A challenge I solved with 8 lines of function body could be accomplished with just 1.
An overview of Event Loop, Tasks, and Microtasks
Tags: javascript, webdev, eventloop, codepen
Published: 2019-08-08 12:27:35

> 
- The browser uses an event loop to effectively switch between scripting, rendering, painting, networking, eventing, and similar other jobs.
- Although JS is single-threaded, concurrency is possible with help of an Event loop and a bunch of Web APIs.

## What is Task (Macro task)?

The task is code to be executed until completion. For each turn of the event loop, one task is executed. A task can schedule other tasks (asynchronous in nature). Multiple task queues are maintained by the browser.

Task sources are - DOM Manipulation, UI Events, History Traversal, Networking

{% stackblitz macrotasks %}

Taking into account the use of `setTimeout`, it helps us defer code execution. After resetting of timer for each `setTimeout` method, the callback function will be pushed to the tasks queue for processing. Each timer runs separately from the main thread. This way it does not block the main thread.

## What is Microtask?

This is code that needs to be executed after the currently executing task is completed.

Tasks (Macro, Microtasks) can schedule more tasks and they get added to their respective queues. Microtasks are __kind of blocking__ in nature. Unlike macro tasks, the main thread will be blocked until the microtask queue is empty. All of it will be processed in the same turn of the event loop

Microtask sources are - Promise.resolve, Promise.reject, MutationObservers, IntersectionObservers etc.

{% stackblitz microtasks %}

The blocking nature of microtasks can be exhibited in the above code by increasing the iterations in for loop to a large value.

The microtasks queue is processed before the next rendering and painting jobs. If they are long-running then it will lead to visual degradation.

## Summary

The summarised version of the event loop algorithm -

- Process the oldest task from the tasks queue
- If there is a microtasks queue, process all entries until its emptied
- Do rendering, painting, and so forth
- Repeat the above steps if the tasks queue is not empty, otherwise wait

## References
- [Spec](https://html.spec.whatwg.org/multipage/webappapis.html#event-loops) 
- [Phillip Robert's awesome talk] (https://www.youtube.com/watch?v=8aGhZQkoFbQ&t=17s)