teleren/devto huggingface dataset:
[SERIES] Did you know? Games is the most popular app category for developers and non-developers alike?
Tags: gamedev, game, ar, arvr
Published: 2020-07-22 15:21:20

---
title: [SERIES] Did you know? Games is the most popular app category for developers and non-developers alike?
published: true
description: We're back with the latest in our series of insights covering the AR & VR ecosystem. This time we're focusing on games.
tags: #gamedev #game #ar #arvr
//cover_image: https://direct_url_to_image.jpg
---

AR & VR practitioners are primarily focused on creating entertainment and services products, but the primary focus is different for developers and non-developers. 77% of AR/VR developers are building products in the services category (such as business logistics products) whereas only 67% of non-developers are doing so. 

The most popular category for AR and VR practitioners is games & toys, with 52% of developers and 44% of non-developers working on products in this category. The picture is somewhat different for other entertainment products (such as moves and animation), with 65% of non-developers working on apps in this category and only 47% of developers operating here. This indicates that developers are using their coding experience to experiment and create games in AR and VR, whilst non-developers are inspired by other use cases.

Industrial applications (such as manufacturing and construction) for AR/VR are much less popular for both groups, but a larger proportion of developers are creating products in this category than non-developers. As AR and VR mature and stabilise, commercial applications will become more viable and we will see further innovations in industrial areas from developers and non-developers alike, but the pull of building entertainment apps will still be strong.

##Games and toys is the most popular single app category for developers and non-developers alike   



![Games and toys](https://dev-to-uploads.s3.amazonaws.com/i/mjprvuu04nrxry13rsab.png)

This is the last post in our AR & VR practitioner series. You can view our earlier post [here.](https://dev.to/deveconomics/series-did-you-know-22-of-ar-vr-non-developers-are-learning-to-code-2dg6) Have you found this series useful? What else would you like to know about the AR & VR practitioner ecosystem? 

Our State of the [AR/VR survey](https://arvrsurvey.com/?utm_medium=devto&utm_source=dev_to&utm_campaign=games) is live. Spend less than 10 minutes and shape the future of Augmented and Virtual Reality. We have some awesome prizes up for grabs - an Oculus Quest, iPhone 11, VR Ninjas mat, and licenses to be used with Vuforia, Sketchfab and OctaneRender Studio.
How to Build Your Own Custom Alexa Skill using Python: Hands-on!
Tags: alexa, tutorial, python, codenewbie
Published: 2020-07-22 14:53:45

{% youtube WV0kUK6F0Y4 %}
In this video, let's understand how to build your own custom Alexa skill using Python on AWS lambda.

Code: https://github.com/codingx01/alexa

part-1: How to Build an Alexa Skill(Random Facts) using Python https://youtu.be/wIhpPQv0QDg

Follow on:
Github: https://github.com/codingx01
Twitter: https://twitter.com/TechParida
Linkedin: https://www.linkedin.com/company/codingx/
Facebook: https://www.facebook.com/codingx
Instagram: https://www.instagram.com/coding.x/

Leave any questions in the comments section and don't forget to subscribe to be notified of new content! :)
EC2 Instance: From Launching to Connecting Via SSH
Tags: aws, ec2, ssh
Published: 2020-07-22 14:52:38

Today I want to cover the process from launching an EC2 instance to connecting via SSH.

First, we will have to create the instance.
I selected the Linux Image at the top.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/nalmbukp8a1m273fmmm0.png)

Continue clicking to the last page, right before launching. Before launching, you will be asked to make a key pair.
Choose `Create a new key pair`, as shown below, and download the pem file.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/bv7zej480emi1hg2link.png)

Inside the directory where the pem file exists, type the following command. Only the owner will be able to read the file now.

```
$ chmod 400 example-key-pair.pem
```

Now we are ready to go with the SSH connection. Type `y` to the question proposed.

```
$ ssh -i "example-key-pair.pem" ec2-user@YOUR_PUBLIC_DNS_NAME

The authenticity of host 'ec2-xxxxxxxxxxxx.compute-1.amazonaws.com (www.zz.xxx.yy)' can't be established.
ECDSA key fingerprint is SHA256:wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'ec2-xxxxxxxxxxxx.compute-1.amazonaws.com,www.zz.xxx.yy' (ECDSA) to the list of known hosts.

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
13 package(s) needed for security, out of 32 available
Run "sudo yum update" to apply all updates.
-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory

[ec2-user@ip-xxxxxxxxxxxx ~]$ 
```
Final Project Platzi Master
Tags: healthydebate, productivity
Published: 2020-07-22 14:42:23

Llegó el día de escoger el proyecto final de platzi master y cuando toca elegir de qué forma quieres morir, muchos no se deciden.  
Y morir se definiría en hacer un proyecto con requerimientos top de la industria tech en dos semanas. Dos semanas de estar 24/24 creando.  
No tenía idea de con quien formar equipo, el primer mensaje de slack que vi con un posible equipo fue la opción, los conocía y me caían bien, así que empezó la aventura.


![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/6ew3baia5a26hf9744pr.png)

En la primera fase eramos 2 colombianos y dos mexicanos, 2 backend y 2 frontend. Pares perfectos jajaja
pero la verdad necesitábamos otro backend ya que un mexicano era full-stack. tremendo elemento. En Platzi Master estaban super escasos los backend así que seguimos así.
Cuando íbamos en la fase inicial de levantar el proyecto, El mexicano fullstack José (muy pro), levante la parte inicial del backend pero el man hizo el crud y toda la base en pocos dias, super bien.  

Algo que siempre me ha gustado de mi son las ganas de preguntar y pedir consejos a los master de C1 que ya habían hecho el proyecto, master que le preguntaba qué opinaba de las cosas que estaba o pensaba hacer, gracias a todos ellos. Y no lo olviden pregunten y hagan amigos para la vida, no solo para un proyecto.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/cqim01k8moor8s373x9j.jpeg)

Teniendo el backend adelantado y que de momento todo iba bien, trajimos a otro mexicano frontend para adelantar el frontend. De momento todo iba fluyendo. Pero cuando todo va de cierto modo bien te relajas. Relajarse es buscar una muerte lenta por falta de preción.  

También no falta el síndrome del impostor con esto esta muy difícil, no voy a poder, pero eramos un equipo y nos apretamos a mitad de semana, entregamos ese fin de semana. Así que tocó agilizar al 100 todos los procesos. Empezar a pulir y pensar en entregar. El día final veíamos la luz con problemas más o menos grandes de autorización y autenticación, con muchas cosas por pulir en el frontend pero dando el 200%.  

Es muy bueno tener alguien que te diga vas bien, pero siga moviéndose rápido, esa era nuestra OP [Estefany Aguilar](https://twitter.com/teffcode) la programadora paisa más top que conozco. También es imperativo tener organizados nuestros tiempos. A veces sobrevaloramos lo que tardamos en hacer ciertas actividades, eso sólo se mejora con la experiencia y la práctica.  

A escasos momentos de llegar a la hora 0
Solucionamos cosas, añadimos features y cumplimos, 11:59:40 se hizo el último commit. We are the champions  

**Presentamos y nos felicitaron, pasamos a presentar a toda la comunidad de Platzi Master**  

Gracias a todo el team y a [José](https://twitter.com/Jose_Crz) por enseñarme y ayudarme tanto. Esto apenas comienza, vienen cosas más grandes en este mundo tan difícil pero bonito de la programación. A conseguir trabajo y dar ese 200%
React Wednesday - Scale your dev org with open source principles
Tags: react, reactnative, javascript
Published: 2020-07-22 14:37:47

React Wednesday - Today at 1PM ET – 

Learn to scale your engineering organization with principles, tools, and processes from public, open-source projects. We’ll discuss dev team interactions, Monorepos, automation, processes, and how to grow the right internal culture. 

Hosts: Dan Skaggs, Tanner Linsley, Raymond Camden, TJ VanToll, and Dan Wilson 

https://www.telerik.com/react-wednesdays
PyLadies Dublin July Virtual Event: AI: Intro to Explainability by Naomi Freeman
Tags: pyladies, ai, data, python
Published: 2020-07-22 14:36:53

Our [3rd virtual event](https://www.meetup.com/PyLadiesDublin/events/271327497/) and we were excited to have Naomi Freeman talking about "**AI: Intro to Explainability**" This was streamed live on Youtube (this is our first time).

Thanks to [Naomi Freeman](https://www.naomifreeman.com/) for calling all the way from Norway, to all who joined us, and also to [Mick](https://twitter.com/micktwomey) for assisting on relaying questions, and other emergencies that happened right before the event went live. It was a fun Tuesday afternoon (not). 😣 

{% twitter 1285619814359347200 %}

But it all went well in the end, lots of lessons learnt. 💪

{% twitter 1285644371480772608 %}

{% twitter 1285649811589550085 %}

Now onward with more about the talk details... 

### Talk Description:
Neural networks are all the rage - input data, output magic results! In between is a black box of magic. In many use cases - from finance to healthcare - this black box is actually a challenge preventing AI adoption. Enter Explainability! Using one extra layer, we can also have our AI explain how it arrived at the decision.
We'll take a look at how to implement this layer of explainability using a Python-based toolbox and a Google Tensorflow AI model.

### About Naomi Freeman:
Naomi is a software engineer and entrepreneur. Formerly CTO/co-founder of an AI company. Two-time nominated Woman of Influence for Royal Bank of Canada's Women Entrepreneur award. Currently a 2020/21 Women Who Code Fellow (Data Science & Blockchain).
http://www.naomifreeman.com

## 📓 Post-talk links & references

- Tensorflow: https://bit.ly/3jqU3tX
- Sample 1 Jupiter notebook: 
  * Try https://bit.ly/3eLbVvX  and if that link doesn't 
  * work, try this one:  https://hub.gke.mybinder.org/user/summerspirit-plx-ec1rvtt9/notebooks/Untitled1.ipynb

# 📢 Call for speakers
Interested in speaking at our upcoming meetups, please submit talk details to: https://pyladiesdublin.typeform.com/t...

# 🤔 Questions?  
* PyLadies Dublin, email: dublin@pyladies.com
* Ping Naomi about her talk via [contact page](https://www.naomifreeman.com/work-with-me) 

# 🗓 Next PyLadies Dublin]
* When: Tue Aug 18 (18:30 - 21:00)
* Details: https://www.meetup.com/PyLadiesDublin/events/271722192
Daily Challenge #272 - Printer Errors
Tags: challenge
Published: 2020-07-22 14:35:10

---
title: Daily Challenge #272 - Printer Errors
published: true
series: Daily Challenge
description: Write a function to test out printer error codes.
tags: challenge
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/cxp4ffick3ipu94n8zhm.png
---
In a factory, a printer prints labels for boxes. For one kind of box, the printer has to use colors which, for the sake of simplicity, are named with letters from a to m.

The colors used by the printer are recorded in a control string. For example a "good" control string would be `aaabbbbhaijjjm` meaning that the printer used three times color a, four times color b, one time color h then one time color a...

Sometimes there are problems: lack of colors, technical malfunction and a "bad" control string is produced e.g. `aaaxbbbbyyhwawiwjjjwwm` with letters not from a to m.

Write a function printer_error which given a string will output the error rate of the printer as a string representing a rational whose numerator is the number of errors and the denominator the length of the control string. Don't reduce this fraction to a simpler expression.

The string has a length greater or equal to one and contains only letters from a to z.

**Examples:**
`s = "aaabbbbhaijjjm"`
`error_printer(s) => "0/14"`

`s  = "aaaxbbbbyyhwawiwjjjwwm"`
`error_printer(s) => "8/22"`

**Tests:**
s = "aaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbmmmmmmmmmmmmmmmmmmmxyz"
s = "aaabbbbbbccccccddddddeee"
s = "verylargepiggoesoink"

Good luck!

***
_This [challenge](https://www.codewars.com/kata/56541980fa08ab47a0000040) comes from g964 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 idea for a future post?  Email **yo+challenge@dev.to** with your suggestions!_
LaraSecure - IP Blocker
Published: 2020-07-22 14:30:17

# IP Blocker
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/Mahmoud-Italy/LaraSecure-IPBlocker/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/Mahmoud-Italy/LaraSecure-IPBlocker/?branch=master)
[![Code Intelligence Status](https://scrutinizer-ci.com/g/Mahmoud-Italy/LaraSecure-IPBlocker/badges/code-intelligence.svg?b=master)](https://scrutinizer-ci.com/code-intelligence)

A Laravel Package to increase the security of your websites by preventing access for users having blocked IP Addresses.

However, you can add IP Addresses as many as you want into table called ipblockers which you want to disallow access to your site from spam etc.

# Installation
<pre>composer require larasecure/ip-blocker --dev</pre>

# Then publish the config
<pre>php artisan vendor:publish --tag=ipblocker</pre>
<pre>php artisan migrate</pre>


# Usage
Add this middleware in Kernel.php $routeMiddleware to restrict IP Addresses

<pre>'IPBlocking' => \Larasecure\IPBlocker\Middlewares\IPBlocking::class</pre>


Add IPBlocking middleware to route group for which you want to restrict access.
<pre>
  Route::group(['middleware' => 'IPBlocking'], function(){
    // you routes..
  });
</pre>
or you can injected in RouteServiceProvider.php
<pre>
  protected function mapApiRoutes()
    {
        Route::prefix('api')
            ->middleware(['api', 'IPBlocking'])
            ->namespace($this->namespace)
            ->group(base_path('routes/api.php'));
    }
</pre>

or just add middleware to single route
<pre>
  Route::get('/', function () {
    //
  })->middleware('IPBlocking');
</pre>

<b>Users will be redirect to "403 | Forbidden" page if their IP exist on ipblockers table.</b>


# Security
If you discover any security related issues, please email mahmoud.italy@outlook.com instead of using the issue tracker.

# Credits

  <ul>
    <li><a href="https://github.com/Mahmoud-Italy">Mahmoud Italy</a></li>
    <li><a href="https://github.com/Mahmoud-Italy/Larafast-fastApi/graphs/contributors">All Contributors</a></li>
  </ul>

# License
The MIT License (MIT). Please see License File for more information.
Lessons learned from building my java project
Tags: java, codenewbie
Published: 2020-07-22 14:15:38

I wanted to take on a larger project to take to improve my skills. There was so much to take into consideration. The questions I asked in my head:

* What is the purpose?
* What features will be included?
* How will it be installed for desktop?
* How much technical debt will I have in the future?

With so many questions other questions to be answered. I needed to create a plan.

### The Design
I started to sketch the layout of the dashboard menu. I had to research on designs on what I can do based on my skill set. Then I had to download icons for details. I created the dashboard menu with Swing and WindowBuilder.

### The Methods
For each application I planed by creating UML diagram to see what methods I need. This is where most of the work goes into. From menu navigation to add and removal methods for the address book and to-do list features. 

### Hundreds and thousands lines of code 
It was a big jump to start writing small programs and applications to writing 500+ lines of code in a month. Doing pull requesting and pushing new changes. 

### Creating and Connecting a database 
Using a database is something I don't do often, so this was a new learning experience dealing with databases. 

### Continuous testing 
For each feature, I had to test out to make sure it was working properly. There is still rough patches that I'm working through to make sure there is no errors. It takes time and thought process, but it improved my debugging skills. 

### Learning from mistakes 
Making mistakes is common throughout this whole thing. This leads into finding new solutions. 

Building a software from scratch using java has helped me learned new concepts. It a way to prepare building a large code base.
WebdriverIO - Cross Browser Testing
Tags: testing, javascript, tutorial, beginners
Published: 2020-07-22 14:11:53

Cross-browser testing is essential to ensure your website is functional on all popular browsers and this can be easily achieved using WebdriverIO. Let's take a look at how we can run our tests on Chrome and Firefox. 

If you have set up your tests using WebdriverIO test runner then `wdio-chromedriver-service` will already be set up for you which will allow you to run tests on Chrome. If you have not set this up before, then you can watch the [installation video](https://www.youtube.com/watch?v=qx2mCbKi6N4) to learn how to do this. 

In addition, to run tests on Firefox you will need to install and configure `geckodriver` with your tests. 

* You can get the latest version downloaded from the link [here](https://github.com/mozilla/geckodriver/releases).
* Once downloaded, extract the file and store it in your tests root directory.
* Update capabilities in the `wdio.conf.js` file -

```javascript
  capabilities: [
    {
      browserName: 'chrome',
    },
    {
      browserName: 'firefox',
    },
  ],
```
* Start `geckodriver`, you can do that by running the executable file that you downloaded `./geckodriver.exe`
* Now, run your tests `npx wdio wdio.conf.js`

That's all you need to run tests in both chrome and firefox. 🙌

**Note:** If you get `binary location` error when running your tests - 
```
Expected browser binary location, but unable to find binary in the default location
```
Then, you will also have to provide the path of where the firefox is installed in your machine when you run `geckodriver` by passing the `--binary` flag. Ex: `./geckodriver.exe --binary 'C:/Program Files/Mozilla Firefox/firefox.exe'`
***
#### Check out this video to see a detailed explanation on how to run your tests in multiple browsers:

{% youtube qqB7pvpVsz0 %}

***

#### To learn more about WebdriverIO, check out my free tutorial series here - 
https://www.youtube.com/watch?v=e8goAKb6CC0&list=PL6AdzyjjD5HBbt9amjf3wIVMaobb28ZYN.

***

I hope this post helped you out, let me know in the comments below! 

Happy testing! 😄 

...

Follow [@automationbro](https://twitter.com/automationbro) on Twitter
Subscribe to my [YouTube](https://www.youtube.com/channel/UCjugV5pnY6WjvTGYm7U1ucg?sub_confirmation=1) channel
Job Search week 22
Tags: makers
Published: 2020-07-22 14:05:55

This week finished off the backend and started on the front end with React. I also started using React bootstrap.

Day 1

I started this week by making the delete project function, making sure it was returning json. After completing that I moved onto handling errors. I also did some refactoring removing some unnecessary tests.

Day 2

Tuesday I got started on the integration test of the delete function and handling the 404 errors. That finishes the back end, for now, I'll likely be back later on to add more API's.

Day 3

I added React on Wednesday getting it started and set up so I could start working on the front end. I also updated the server readme to include the tests for the backend.

Day 4

So after getting react set up I started on my first test and then moved on to adding bootstrap after getting it set up I was able to a Navbar through bootstrap.

Day 5

So I added the bootstrap Navbar and altered it to suit what I need which was easy enough. I then moved onto the projects display getting that setup using bootstrap cards.

Summary

I managed to get the backend done which I'm happy about and to move onto the front-end. Starting on react is good I get to start to see my portfolio. So overall I think this was a good week.
How can I make react built minified CSS file as CDN links
Tags: react, css
Published: 2020-07-22 14:05:17

When I run build command I will get a build folder that contains minified JS, CSS files. When I deploy code in production my CSS will load from build folders. 

**Problem:** I don't want my build.css to load it from the same domain in production, instead wanted to create CDN links then call it. This process helps in fetching API calls fast instead of depending on a single Domain which will behave as concurrent API Calls.
Error: [nodemon] app crashed - waiting for file changes before starting...
Tags: node, javascript, react
Published: 2020-07-22 13:59:00

Hey...! I am facing above error while trying to run 
`npm run dev-client` in 2nd instance of terminal, while in 1st instance of terminal, there is already running both front-end and back-end servers by using `npm run dev` command.

Complete error message is given below...
```
$ npm run dev-peer

> crypto@1.0.0 dev-peer C:\Users\Education Use\crypto
> cross-env GENERATE_PEER_PORT='true' ENV='development' nodemon index.js   

[nodemon] 2.0.4
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node index.js`
listening at localhost: 3847
replace transaction pool map on a sync with {}
undefined:1
<!doctype html>
^

SyntaxError: Unexpected token < in JSON at position 0
    at JSON.parse (<anonymous>)
    at Request._callback (C:\Users\Education Use\crypto\index.js:95:36)    
    at Request.self.callback (C:\Users\Education Use\crypto\node_modules\request\request.js:185:22)
    at Request.emit (events.js:315:20)
    at Request.<anonymous> (C:\Users\Education Use\crypto\node_modules\request\request.js:1154:10)
    at Request.emit (events.js:315:20)
    at IncomingMessage.<anonymous> (C:\Users\Education Use\crypto\node_modules\request\request.js:1076:12)
    at Object.onceWrapper (events.js:421:28)
    at IncomingMessage.emit (events.js:327:22)
    at endReadableNT (_stream_readable.js:1221:12)
[nodemon] app crashed - waiting for file changes before starting...
```

here is package.json file...
```
{
  "name": "crypto",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "jest --watchAll",
    "start": "npm run build-client && node index.js",
    "dev": "concurrently \"npm run dev-client\" \"nodemon index.js\"",
    "dev-peer": "cross-env GENERATE_PEER_PORT='true' ENV='development' nodemon index.js",
    "start-redis": "redis-server --daemonize yes",
    "build-client": "npm run clean && parcel build client/src/index.html --out-dir client/dist",
    "dev-client": "npm run clean && parcel client/src/index.html --out-dir client/dist",
    "clean": "rm -rf .cache client/dist"
  },
  "jest": {
    "testEnvironment": "node"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@babel/core": "^7.2.2",
    "@babel/plugin-proposal-class-properties": "^7.2.3",
    "cross-env": "^7.0.2",
    "jest": "^26.0.1",
    "nodemon": "^2.0.4"
  },
  "dependencies": {
    "body-parser": "^1.19.0",
    "concurrently": "^5.2.0",
    "elliptic": "^6.5.3",
    "express": "^4.17.1",
    "hex-to-binary": "^1.0.1",
    "history": "^4.7.2",
    "parcel-bundler": "^1.12.4",
    "pubnub": "^4.28.1",
    "react": "^16.13.1",
    "react-bootstrap": "^1.2.2",
    "react-dom": "^16.13.1",
    "react-router-dom": "^4.3.1",
    "redis": "^3.0.2",
    "request": "^2.88.2",
    "uuid": "^3.3.2"
  },
  "description": ""
}
```

What should i do to solve this issue???