teleren/devto huggingface dataset:
Hi Dev.to, I made a small desktop browser game
Tags: firstpost, react, javascript, showdev
Published: 2020-05-24 20:54:11

Hi Devs,

My name is Raul, I am a developer out of Miami, FL. I have been a part of the community for a bit reading and learning from all your great posts. Finally got the courage to write my first post.

I recently just created a game using React for Desktop browsers. It is a dungeon crawler called Darker Dungeon. 

The goal is to get to the treasure chest before time runs out. As you progress the map gets darker and darker until you can only see the tiles right next to you. There is always at least one path to the treasure chest.

You can try the game out here(doesn't work on mobile or tablet):
[darker-dungeon.netlify.app](darker-dungeon.netlify.app)

Source Code:
[github.com/raulmartinez1855/dark-dungeon](github.com/raulmartinez1855/dark-dungeon)

Video Demo:
[![Darker Dungeon video demo](http://img.youtube.com/vi/ZU_L1KoY3HQ/0.jpg)](http://www.youtube.com/watch?v=ZU_L1KoY3HQ "Darker Dungeon")

Let me know what you think!
Create a live multistreaming app 
Tags: help, webdev, node, django
Published: 2020-05-24 20:50:31

what i want do in this app is similar to [streamyard](https://streamyard.com/), [restream.io](https://restream.io/), [manycam.com](https://manycam.com/)

I want to use one of this technologies django-channels | tornado or nodejs
I need help, some open source apps, some suggestions, posts,  youtube videos, or tutorials

## Thank you
Sunday Dose of Humility (May 24th, 2020)
Tags: webdev, frontenddevelopment, threejs
Published: 2020-05-24 20:09:45

---
title: Sunday Dose of Humility (May 24th, 2020)
published: true
description: Celebration of awesome websites and web apps.
tags: Web development, Frontend development, ThreeJS
---

It’s another Sunday and therefore time for another Sunday Dose of Humility.

Last week, Kayode Sholanke’s portfolio was our pill. If you missed it, click <a href="https://dev.to/danielngozika/sunday-dose-of-humility-may-17th-2020-3l4a">here</a> to read.

##This week’s pill.

For this week’s Sunday Dose of Humility, I give you…

<i>Drumroll</i>

ISS Simulation by SpaceX.

##Description
This simulation will “familiarize you with the controls of the actual interface used by NASA Astronauts to manually pilot the SpaceX Dragon 2 vehicle to the International Space Station.”

##Technology used
According to BuiltWith and digging in DevTools, ThreeJS and a lot of JQuery was used in building the site.

##Take pill
Here, <a href="https://iss-sim.spacex.com/">ISS Simulation</a>. Experience awesomeness and a dose of Humility.

Oh, and good luck trying to duck this thing. It’s unsurprisingly difficult.
Humble Book Bundle: Learn You Some Python by No Starch Press
Tags: python, beginners, webdev, codenewbie
Published: 2020-05-24 19:55:26

**[Humble Book Bundle: Learn You Some Python by No Starch Press](https://www.humblebundle.com/books/learn-you-some-python-no-starch-press-books?partner=repsup)**

Humble Bundle teamed up with No Starch Press for a crash course on Python!

Learn the essentials quickly with ebooks like Automate the Boring Stuff with Python, 2nd Edition: Practical Programming for Total Beginners, Cracking Codes with Python: An Introduction to Building and Breaking Ciphers, Invent Your Own Computer Games with Python, 4th Edition, Python Crash Course, 2nd Edition: A Hands-On, Project-Based Introduction to Programming, and more.

Pay what you want and help charity!
Codr needs you
Tags: javascript, computerscience, leadership
Published: 2020-05-24 19:55:02

Codr is growing and we are seeking smart and creative minds to expand with. If you have an active YouTube channel, subreddit, discord server, forum, twitch or some other outlet for coders & geeks, get in touch with us! No matter how small or big you currently are, let's have a chat and see how we can work together.

Stay safe all <3 !

https://nevolin.be/codr/#contact
or directly to me: ilja.nevolin@gmail.com
Humble Book Bundle: Definitive Guides to All Things Programming by O'Reilly
Tags: webdev, beginners, python, css
Published: 2020-05-24 19:47:52

**[Humble Book Bundle: Definitive Guides to All Things Programming by O'Reilly](https://www.humblebundle.com/books/definitive-guides-to-all-things-programming-oreilly-books?partner=repsup)**

O'Reilly is back with the definitive guides to all things programming!

Get ebooks like Spark: The Definitive Guide, Hadoop: The Definitive Guide, JavaScript: The Definitive Guide, and CSS: The Definitive Guide.

Pay what you want and help charity!
The Aftermath of a Database Catastrophe 
Tags: database, ci, testing, tests
Published: 2020-05-24 19:39:06

---
title: The Aftermath of a Database Catastrophe 
published: true
description: A short story about how we lost production database data, how we recovered it and why CI tests are important
tags: database, CI, testing, tests
---

# Preface
It was just another day at work. We are a team of a dozen developers and content creators. As usual, we were working on new features. It's been a few months into my role. Me and my team lead (let's call him Rami) became pretty comfortable with each other's coding quality, I was a good developer. Until this happened ... 

# What Happened  
I created a new Pull Request for a new version of our software, as usual. I wrote the changelog and the important changes. 

Rami checked the Pull Request, and approved it after some manual testing.
Then, the Bitbucket Pipeline kicked in, and the database migration ran. Great, so much time saved with Continuous Deployment!

Fast forward a few minutes, we get reports of missing texts in some of our content. As an example, imagine all Dev posts chopped to the first 256 letters only ⚱️. Yikes. 

# Recovery 
We used the most recent database backup to recover the data. The overall cost was around an hour of downtime. 
The backup saved us, and the downtime was minimal. However, such downtime and data recovery process wouldn't be very easy when we reach _real_ production scenarios where an hour of downtime could cause public outrage. 

# Prevention
Having a database backup is good, but recovering production data is not fun. The solution was simple and obvious: prevent it from happening. 

## Preventive Measures  
To prevent this mistake from happening again, we made sure to add to our automated tests an assertion that makes sure that the target maximum text length can be reached after running the migration (on a test database!). 

```php
public function test_create_post() {
    $maxTitleLength = 100;
    $maxContentLength = 1000;
    $title = $faker->text($maxTitleLength);
    $content = $faker->text($maxContentLength);

    $post = Post::create([
        "title" => $title,
        "content" => $content
    ]);

    $this->assertTrue($post->title == $title);
    $this->assertTrue($post->content == $content);
}
```
Thanks to this test case, should any future migration tamper with the varchar length, the test would fail and the problem won't propagate to production 🌈.
 
Finally, we also added this step as part of our PR review checklist:  
- ✅ Verify that proper test cases were written to prevent accidental data loss in migration scripts.
How to create your first Django app on Windows?
Tags: django, python, webdev
Published: 2020-05-24 19:36:38

Hey, this is just a small article to help you create your first Django app. Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. Built by experienced developers, it takes care of much of the hassle of Web development, so you can focus on writing your app without needing to reinvent the wheel. It’s free and open source.
##Let's get started.
Download and install Python if you don't already have it by clicking [ here ](https://www.python.org/downloads/) and verify by going to command prompt and type
```terminal
python --version
```
Then make sure that pip is installed by typing pip --verison in the terminal.
```terminal
pip --version
```
Now install the virtual environment.
```terminal
pip install virtualenvwrapper-win
mkvirtualenv <name>
```
Now we install Django
```terminal
pip install django
django-admin --verison
```
Now we create a project called prj in a folder called projects
```terminal
mkdir projects
cd projects

django-admin startproject prj
cd prj
```
To check the installation type
```terminal
python manage.py runserver
```
If everything works fine, you should see this
```terminal
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
May 25, 2020 - 00:51:11
Django version 3.0.6, using settings 'prj.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
```
Now when you go the link i.e HTTP://127.0.0.1:8000/ on your browser you should see this

![Django Home page](https://i.stack.imgur.com/MzXfs.png)
Now let's create your app
Go to the terminal and type
```terminal
python manage.py startapp appname
```
So now we have created an app called appname.
Let us make this app to print some text like Hello world.
Open your code editor and create a file called urls.py inside appname folder and put int the following code
```python
from django.contrib import admin
from django.urls import path
from . import views
urlpatterns = [
path('',views.home, name="home"),
path('admin/', admin.site.urls),
]
```
Now go the views.py file and put in the following code:
```python
from django.shortcuts import render
from django.http import HttpResponse

def home(request):
    return HttpResponse("Hello World")
```
Now in the urls.py file in the project ( Not in the app that we created)
```python
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
path('', include('appname.urls')),
]
```

Now go to the terminal and run the server by typing
```terminal
python manage.py runserver
```
Now go to HTTP://127.0.0.1:8000/ and you should be able to see Hello World.
Congratulations, you have just created your first Django app.
In my next article I will explain about DTL i.e Django Template Language.
Should you store the passwords in the database?
Tags: database, passwords, node, javascript
Published: 2020-06-11 21:32:57

---
title: Should you store the passwords in the database?
published: true
date: 2020-05-24 19:19:07 UTC
tags: database,passwords,nodejs,javascript
canonical_url: https://blog.murtajaziad.xyz/should-you-store-the-passwords-in-the-database/
---

Basically, NO you shouldn’t store the passwords in the database, you should store the **password hash**.

![](https://cdn-images-1.medium.com/max/1024/1*E3weYUCZi9G25J6zJ8u7-Q.jpeg)<figcaption>Silhouette of Mountain Under Cloudy Sky during Sunset —<a href="https://www.pexels.com/photo/snow-dawn-landscape-sunset-4403924/"> Pexels</a></figcaption>

### Installing bcrypt:

Using Node, install bcrypt :

```
npm install bcrypt
# or
yarn add bcrypt
```

In your code, require bcrypt and define the salt rounds,

```
const bcrypt = require("bcrypt");
const saltRounds = 10;
```

### Creating the password hash:

If you prefer using async/await :

```
let hash = await bcrypt.hash("password", saltRounds);
```

Or, if you prefer using callbacks :

```
bcrypt.hash('password', saltRounds, (error, hash) => {

});
```

Then you can store the resulting hash in the database, note that password refers to the password string.

### Verifying the password hash:

If you need the verify the password hash, you should compare it with the hash stored in the database using bcrypt.compare() :

If you prefer using async/await :

```
let comparisonResult = await bcrypt.compare("password", hash);
```

Or, if you prefer using callbacks :

```
bcrypt.compare('password', hash, (error, comparisonResult) => {

});
```

Follow me on [Twitter](https://twitter.com/MurtajaZiad_), and subscribe to my [YouTube channel](https://www.youtube.com/channel/UCjurfkhxHmwQMlXqRjLEBKg)!
Developing Fullstack Web Application Using Spring Boot, Kotlin and React JS
Tags: kotlin, springboot, react, webapplications
Published: 2020-05-24 19:15:24

---
title: Developing Fullstack Web Application Using Spring Boot, Kotlin and React JS
published: true
description: 
tags: Kotlin, springboot, Reactjs, webapplications
---


{% youtube  rxb0IrNH5zs %}
What task/micro-app would you recommend to learn Sidekiq/Redis/Mongo/etc in action (learn by doing)?
Tags: ruby, rails, discuss
Published: 2020-05-24 19:12:25

---
title: What task/micro-app would you recommend to learn Sidekiq/Redis/Mongo/etc in action (learn by doing)?
published: true
description: 
tags: ruby, rails, discuss
---

I'm trying to collect various test tasks, challenges from your experience, or micro-app ideas about following Rails related technologies:
* Sidekiq
* Redis
* ElasticSearch
* something more

In most cases technology is learnt best when you implement some tricky task with some underwater stones.

If you have some test tasks on these or other parts of our Ruby ecosystem, I will appreciate it very much
What is your favourite programming language and what do you like the most of it?
Tags: watercooler, discuss, developers, programming
Published: 2020-05-24 18:50:54

Everyone has different opinion of programming languages and which one you like the most. 

This choice might change over time but at this given point in time:
- What is your favourite programming language?
- What do you like the most of that programming language?


Cheers,
Domenico
Here goes nothing... my first ever commercial indie game project!
Published: 2020-05-24 18:49:42

It’s about time I made a game intended to make a possible profit... I have chosen a hybrid of several genres, because game genres are silly and limiting. Funnily enough, that’s also a central part of the theme: breaking free. Making a prototype first with the tools I know. Then, I will make something for the app stores! Exciting times ahead.
API Security
Published: 2020-05-24 18:47:15

APIs, or [application program interfaces](https://en.wikipedia.org/wiki/Application_programming_interface), are vital tools for businesses in all industries. The importance of APIs from a technical standpoint, they allow the capabilities of one computer program to be used by another. They are a means by which two different programs are able to communicate.

Lately though, the term API is most often used to describe a particular kind of web interface. These Web APIs are a set of rules for interacting with a webserver (such as a Salesforce server), with the most common use case being data retrieval.

## What is API Security?

[API security](https://blog.api.rakuten.net/api-security/) can be explained as an overarching term that involves the implementation of processes and strategies intended to mitigate the vulnerabilities and security risks of APIs.

Generally, most API developers recognize the importance of adhering to API security principles because they do not want to ship a bad API. However, some of them lack sufficient skills in proper API development, are tempted to look for shortcuts to meet aggressive deadlines, or just fail to apply the API security rules. Consequently, such pitfalls may lead to serious risks: vulnerable APIs.

##The Need for API Security

As cyberattackers continue to take advantage of vulnerable people, processes, and technology, they are also expanding their operations beyond the usual targets. Nothing appears to be outside of their jurisdiction, and no one is 100% safe from their malicious campaigns. Although organizations are making progress in protecting themselves, as soon as one attack vector is thwarted, another quickly becomes exposed.

##API Security Checklist

- Authentication - Authentication ensures that your users are who they say they are. Hackers that exploit authentication vulnerabilities can impersonate other users and access sensitive data.
- Limit Requests
- Force Encryption
- Enforce HTTP Methods
- Perform Content Negotiation
- Validate User-Submitted Content
- Check for trusted sources
- Protect Sensitive Endpoints
- Avoid Using Auto-Incrementing IDs
- Process Data in the Background
- Turn Debug Mode Off
Pure HTML/CSS Playdate
Tags: design, codepen, illustration, gaming
Published: 2020-05-24 18:42:53

I created a Playdate illustration in pure HTML and CSS for fun (no SVG or images used). The most challenging (but rewarding) part of this project was trying to create the rivets/screws in the multiple corners of the device—the middle of the rivet is see-through.

Enjoy!

https://codepen.io/chrisota/pen/eYpyqYG
Customizable database-based reporting
Tags: json, sql, django, python
Published: 2020-05-24 18:30:16

## My Final Project

I often struggled when I was trying to create customizable reporting tool for my projects. I wanted to have ability to have secure data mining tool which is simple and easy to use.

Of course, there are a lot of project like [Metabase](https://www.metabase.com/) or [Kibana](https://www.elastic.co/kibana). These tools are super cool, but sometimes to complicated or hard to customize for special use-case. You can also use [GraphQL](https://graphql.org/), but you still need to specify queries on the back-end.

I decited to create a simple JSON-based query language, which is converted into raw SQL query on the server side. Sounds too crazy? Yeah, because it is kinda crazy (because of security and stuff). 

My idea was to create subset of DQL (data query language) functionality interpreted as JSON objects on the front-end application. To be sure about security, build query is checked on the API if it's valid and user is trying to access only his data.

This projects was subject to my final thesis.

## Link to Code

I created library called [duckql](https://github.com/Sibyx/duckql-python), which converts JSON into raw SQL.

For example, JSON object like this:

```json
{
  "obj": "structures.Query",
  "entity": "users",
  "properties": [
    {
      "obj": "properties.Property",
      "name": "users.name"
    },
    {
      "obj": "properties.Property",
      "name": "users.surname"
    }
  ],
  "conditions": {
    "obj": "structures.Comparision",
    "properties": [
      {
        "obj": "properties.Property",
        "name": "users.age"
      },
      {
        "obj": "properties.Constant",
        "value": "15"
      }
    ],
    "operation": "gte"
  }
}
```

is converted into query like this:

```sql
SELECT users.name, users.surname FROM users WHERE (users.age >= 15);
```

My solution is based on awesome [pydantic](https://github.com/samuelcolvin/pydantic/) library.

Source code is avalaible on GitHub: [duckql-python](https://github.com/Sibyx/duckql-python).
Awesome Web Monetization
Tags: gftwhackathon, webmonetization
Published: 2020-05-24 18:28:36

## What I built

**Web Monetization** is very powerfull and already integrated in browsers. I saw this opportunity as an improvement of the web and how developers, small companies and even platforms can be supported by their community.

So I thought of creating a new repository where we would centralize all **good practices**, **tutorials**, **documentations**, **modules and other content** on it. 

So I present  **Awesome Web Monetization** ! 🎉🎈 

{% github https://github.com/thomasbnt/awesome-web-monetization no-readme %}


____
### Submission Category: **Foundational Technology**

## ▪️ Demo

No demo for that, it's just [a big documentation on GitHub 🕶️](https://github.com/thomasbnt/awesome-web-monetization) 


## ▪️ Link to Code

{% github thomasbnt/awesome-web-monetization %}


## ▪️ How I built it 

I started with [Awesome generator list](https://github.com/dar5hak/generator-awesome-list) for.. yeeep generate a new awesome repository !

[Note]: # (For example, what's the stack? did you run into issues or discover something new along the way? etc!)


## 🔹 Additional Resources/Info 

Remember that this somewhat empty repository is because it's new. Together we can fill it out and get **new people interested in Web Monetization** !


|☕|Check my [Twitter account](https://twitter.com/thomasbnt_). You can see many projects and updates. You can also [support me on Buy Me a Coffee, Stripe or GitHub Sponsors](https://thomasbnt.dev/donate). Thanks for read my post ! 🤩|
|---|---|
Yahoo Finance API Tutorial
Published: 2020-05-24 18:05:08

Yahoo Finance API is a robust API that offers stock quotes, press releases, financial reports, and original content. It also offers online financial management tools. Developers can use Yahoo finance to query financial summaries, stock quotes, movers, and price charts. Even though there is no official Yahoo Finance, an unofficial version of [yahoo finance api](https://blog.api.rakuten.net/api-tutorial-yahoo-finance/) is available. This API offers the following four endpoints.

1. market/get-summary
2. market/get-movers
3. market/get-quotes
4. market/get-charts

Let's see what these endpoints have to offer.

**get-summary** endpoint allows you to get the real-time live market summary information in a specific region at that given time.

**get-movers** endpoint retrieves the day’s gainers, losers, and actives within a given region. For each category, the endpoint returns totals, specific quotes, and other information for that region.

**get-quotes** endpoint returns all relevant information for a specific stock quote or groups of stock quotes specified by symbol. For each quote this endpoint returns.

- language
- region
- quote type
- exchange
- market
- post market information
- regular market information

**get-charts** endpoint returns data for visualizing a chart for a specific symbol and its comparisons. The data includes trading periods, timestamps, comparisons, and more to help draw out charts.

Yahoo Finance API can be used in the following languages.

- NodeJS
- PHP
- Python
- Ruby
- Java
- Objective-C
- .NET
- cURL
#hiring #vue
Tags: vue, job, ad
Published: 2020-04-17 14:48:09

Hi Vue lovers, 

I’m Marina. Me and my team are working on a couple of exciting internet projects (more about that later) for which we’re looking for skilled vue.js developers. 

We already have some traction (one service has over 1m users – now targeting 10m –, another software we provide has over 250k websites using it) and we want YOU to hop on board and join our road to success!

We’re looking for developers who:  
 
 - Are highly efficient
 - Enjoy challenges
 - Have decent English skills and are very responsive (communication is key)
 - Are available long-term (we'll only invest in you if you're willing to stay with us for a while)
 - Charge fairly

Your benefits: 
 
 - Work directly with the founders
 - You'll learn A LOT (about internet businesses, but also beyond that)
 - You can work from home
 - Be flexible in terms of working hours
 - Grow with the projects; if they go really big (and they will) then you'll benefit from it hugely as well (also financially)

If interested, please reach out to marina@follow.it, and state how you meet the criteria above. 

Looking forward to your application!

Kind regards, 

Marina
Git remove files from ignore lists.
Tags: git
Published: 2020-05-24 18:00:54

---
title: Git remove files from ignore lists.
published: true
description: 
tags: git
---

Command to remove files from the ignore list.

```
git rm --cached `git ls-files -i --exclude-from=.gitignore`
```

on MacOS

```
git ls-files -i -c --exclude-from=.gitignore | xargs git rm --cached
```

Reference:
https://stackoverflow.com/questions/13541615/how-to-remove-files-that-are-listed-in-the-gitignore-but-still-on-the-repositor