teleren/devto huggingface dataset:
New to Node; Exploring a Favorite
Tags: node
Published: 2019-10-30 05:28:24

---
title: New to Node; Exploring a Favorite
published: true
description: Im learning a JS backend framework and wanted to compare two favored frameworks.
tags: #nodejs
---

Going through the career transition process I was originally overwhelmed with the shear volume of languages the field of computer science has developed over the years. I don't have an exact number, but there are easily over 2000 languages. The possibility exists for nearly infinite languages due to the nature of programming allowing for countless layers of abstraction. Each layer has the capacity for some ungodly number of languages. It's mind numbing nearing existential. Anyway, as I slowly built my way into the world of programming I realized that some languages are more common than others. Initially I learned to build with Ruby on Rails and thought about little else. As I built more I became aware of the regard given Ruby on Rails and wanted work my way into other server-side languages. As I apply for jobs and talk to potential employers I keep hearing about a languages I have little experience with yet. I keep hearing about Node.js. As I've been looking into the language I've become aware of why it is favored. 

###Node.js is fast

Apparently Node was developed to create fast network type applications and that's what it does. From what I read, Node's main capacity is a high level of scalability. It works well to hold multiple connections that are simultaneously interacting with a server. This seems to be due to Node storing data in a JSON format. 

###NPM is great!

Nodes built in package manager is highly transparent, accessible, and built. NPM offers quick and easy access to countless libraries of packages that make building easier and more powerful.

###Makes Cross-Platform Easy

Nodes plethora of packages have been built up to make cross-platform development a given. Without much work your programs can be built for Linux, MacOS, and Microsoft applications simultaneously. 

###Simplifies Distributed Workload

The nature of JS programs modularity and Node's capacity for continuous and multifarious communication Node makes working with large projects simpler. Many teams can potentially develop simultaneously with ease.  

These four reasons make Node a more than worthwhile language to learn. As I learn more about it I'll be sure to share. I apologize for the contrived and relatively unoriginal post. 

Till next week, something more entertaining :P
Ingress in Kubernetes with Docker for Windows
Tags: kubernetes, ingress, nginx, docker
Published: 2019-10-30 15:27:32

-- Edited: They've now included information in the official documentation relating to setting up an ingress controller in Docker Desktop for mac and windows: https://kubernetes.github.io/ingress-nginx/deploy/#docker-desktop
This remains as an archive

I am currently in the process of moving my dev systems from my 2017 Macbook Pro over to my new X1 Extreme gen. 2. On the Mac I had previously used minikube for my Kubernetes needs but I wanted to use the Docker for Windows Kubernetes option instead.

Enabling an Ingress controller was a fairly straight forward affair with minikube. Simply use:
`minikube addons enable ingress`
and there you go. `kubectl get pods` should then list your controller and it was automatically available from outside of your cluster.

I spent several hours trying to get an Ingress controller to work under Windows. Ultimately it was just as easy as minikube, however it really wasn't obvious. Therefore, I decided to pen this short article in case anyone else is experiencing the same problem.

In the [documentation](https://kubernetes.github.io/ingress-nginx/deploy/#prerequisite-generic-deployment-command) for the Nginx Ingress controller it states that you must run the mandatory command:
`kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml`

If you perform this step on its own, you will end up with an empty Address when entering: `kubectl describe ing` because there is no service connecting the pod to the outside world.

There is no further information on this page for how to install a service for Windows, however if you follow the Docker for Mac instructions then it will work just fine. The following command made everything start up perfectly for me:
`kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/cloud-generic.yaml`

I am running with Docker for Windows version 2.1.0.3 stable using WSL.

I hope this helps someone :)
Would You Take a Low-Code Developer Job?
Tags: beginners, lowcode, career, discuss
Published: 2019-10-30 15:17:21

---
title: Would You Take a Low-Code Developer Job?
published: true
description: Is low-code development a good idea
tags: #beginner, #low-code, #career, #discuss
---

<p>I've been looking for my first developer job, and one of my options is to take an entry level low-code developer position. The platform to be used is either Appian or Outsystems.</p>

<p>However, I'm concerned about how this could affect my career in the future, as I won't be able to practice a lot of coding in this path</p>

<p>What are your thoughts about low-code? And would you rather stick to actual coding in web/software development?</p>
Tennis Clash hack-how to cheat gems 
Tags: tennisclash
Published: 2019-10-30 15:11:38

Tennis Clash, a game in the category sports games, simulating the sport of Tennis, has been loved by many people around the world.
Today in this article our team will introduce how to hack this tennis clash game new!

Link: https://guide247.net/hackgame/generator/tc/tc.html
About Tennis Clash
Coming to this Tennis Clash game you will be participating in extremely attractive and thrilling matches against professional opponents and your goal is to win and win the championship.
You will choose the characters also with appearance, items and many type of gears. Similar to Golf Clash type, Tennis Clash is interesting in gameplay and control. No button, just swipe and tap based.
And that make it more difficult and interesting also. Using the racket in hand, please adjust the force so accurately that the opponent cannot bear.Get more gems coins to rank up faster and play with others


How to hack Tennis Clash gems-cheat tennis clash free method
To become a good gamer in sport game requires you must spend hours to play and control your characters well.
Of course if you get familiar with gameplay, the items in game can help you stronger than others.
Want to rank up quickly? Many gamers will spend money to purchase gems, but there is another method to get it by using our hack tennis clash gems free.
250+ Machine Learning and Deep Learning resources (Courseware and Videos)
Tags: machinelearning, productivity, beginners
Published: 2019-10-30 14:48:19

Whether you are starting with Machine Learning or Deep Learning, or you are a Data Scientist looking into a specific field of study, gathering resources is a pain. Wouldn't it be great if you had all the resources at your fingertips? Find the resources here:

https://www.hashtagtechgeek.com/2019/10/250-machine-learning-deep-learning-videos-courseware.html
How many steps in pure JavaScript?
Tags: javascript, html, css, codequality
Published: 2019-10-30 14:29:52

Hello!
Actually, this article is not for pedestrians but sure that you are into. Let's move on!

First, let's think about a simple example which just displays some words and a button.

    <div id="lorem">Lorem ipsum dolor sit amet,</div>
    <button onclick="next()">Next</button>
    <script>
        next = () => {
            document.getElementById(`lorem`).innerHTML = `consectetur adipiscing elit,`;
        }
    </script>

JavaScript can handle even HTML elements. This means that a page in a website can be created only by JavaScript (except the header in HTML). The code is as follows.

    <script>
        const div = document.createElement(`div`);
        div.textContent = `Lorem ipsum dolor sit amet,`;
        document.body.appendChild(div);

        const btn = document.createElement(`button`);
        btn.textContent = `Next`;
        document.body.appendChild(btn);

        btn.addEventListener(`click`, () => {
            div.innerHTML = `consectetur adipiscing elit,`;
        });
    </script>

A div and a button elements consist of three parts. One is to create the elements, two write the texts and three to set them to the body element.
The disadvantage is clearly the big code. The advantage is probably nothing. There is however the meaning that the JavaScript code is rendered by JavaScript engine such as V8, SpiderMonkey and so on.

Next, let's think about centring the div and the button elements.

    <div id="lorem" style="text-align: center;">Lorem ipsum dolor sit amet,</div>
    <div style="text-align: center;">
        <button onclick="next()">Next</button>
    </div>
    <script>
        next = () => {
            document.getElementById(`lorem`).innerHTML = `consectetur adipiscing elit,`;
        }
    </script>
Note that a button element doesn't move on to the centre by text-align.
You well-know that JavaScript can handle CSS styles. The code is as follows.

    <script>
        const div = document.createElement(`div`);
        div.textContent = `Lorem ipsum dolor sit amet,`;
        div.setAttribute(`align`, `center`);
        document.body.appendChild(div);

        const btndiv = document.createElement(`div`);
        const btn = document.createElement(`button`);
        btn.textContent = `Next`;
        btndiv.setAttribute(`align`, `center`);
        btndiv.appendChild(btn);
        document.body.appendChild(btndiv);

        btn.addEventListener(`click`, () => {
            div.innerHTML = `consectetur adipiscing elit,`;
        });
    </script>

The advantage may be that you can understand deeper the structure of HTML and JavaScript. Sometimes I use this method to write because I am a JSer. It may be good for practice for JavaScript.
Well, safe journey!

I almost forgot. Actually, the page "AT LAST" in my website is the case.
Weekly Picks #99 — Development Posts
Tags: webdev, javascript, docker, devops
Published: 2019-10-30 14:20:03

* [7 Tools for Building Your Design System in 2020](https://app.dailynow.co/r/b15cf4fa37cc7f586edbc11476d0c42c)
* [13 useful JS array tips and tricks](https://app.dailynow.co/r/df67209258e609a8c17b79260a1879fc)
* [useParams — Extract parameters from the URL in one line.](https://app.dailynow.co/r/434bee49fdec5096034399a4e54feeb9)
* [Docker — The Beginner’s Guide](https://app.dailynow.co/r/a27d15c1d60ea7db0b3312b5515e9c44)
* [Encapsulation in JavaScript](https://app.dailynow.co/r/54ee41d22e33f1741c434f20f8c8e89b)
* [13 Useful VS Code Extensions for Frontend Development](https://app.dailynow.co/r/e8273090e680ef3ab4c5408d319a36cb)
* [Build Colorful Command-Line Spinners in Nodejs](https://app.dailynow.co/r/95409d82c84d51241459921ce85786e6)
* [UI Component Design System: A Developer’s Guide](https://app.dailynow.co/r/c3d1475baf522963a6dff28e48a0b29b)
* [3 easy steps to fix slow image loading](https://app.dailynow.co/r/0b4f77bfcdfed83318fe1cf60fc65522)
* [11 Best Books on DevOps Books: Comprehensive Overview](https://app.dailynow.co/r/3d5633f1cafad02cdfbf65a9d9ed54b9)

* * *

[_Thanks to Daily_](https://www.dailynow.co/) _developers can focus on code instead of searching for news. Get immediate access to all these posts and much more just by opening a new tab._

[![Daily promotion cover](https://cdn-images-1.medium.com/max/1024/1*7bwIhcH467BKX5Ni8XWpQg.jpeg)](https://www.dailynow.co/)
How to build a machine learning project in Elixir.
Tags: machinelearning, elixir, datascience, ai
Published: 2019-10-30 14:17:06

---
title: How to build a machine learning project in Elixir.
published: true
description: Machine learning is a tool that gives businesses a competitive edge by reducing operating costs and increasing sales. In this project, we show you how to complete an ecommerce machine learning project in Elixir. 
tags: machine learning, elixir, data science, AI,
cover_image: https://i.imgur.com/geQOHkb.png
---

# Introduction to machine learning
Machine learning is an ever-growing area of interest for developers, businesses, tech enthusiasts and the general public alike. From agile start-ups to trendsetting industry leaders, companies know that successful implementation of the right machine learning product could give them a substantial competitive advantage. We have already seen businesses reap significant benefits of machine learning in production through automated chatbots and customised shopping experiences.
In the eCommerce space, machine learning can significantly increase conversion rates by showing users the right product and offer at the right time. 

# Why use machine learning instead of a traditional algorithm? 
The traditional approach has always been algorithm centric. To do this, you need to design an efficient algorithm to fix edge cases and meet your data manipulation needs. The more complicated your dataset, the harder it becomes to cover all the angles, and at some point, an algorithm is no longer the best way to go. Luckily, machine learning offers an alternative. When you’re building a machine learning-based system, the goal is to find dependencies in your data. You need the right information to train the program to solve the questions; it is likely to be asked. To provide the right information, incoming data is vital for the machine learning system. You need to provide adequate training datasets to achieve success. 

Oleg Tarasenko, one of our developers, recently developed [Crawly, a web scraping framework for Elixir](https://www2.erlang-solutions.com/webscraping). In our latest blog, Oleg and Grigory provide a [step-by-step tutorial on how to build a machine learning tutorial in Elixir](https://www2.erlang-solutions.com/machinelearningdev). Check it out and let us know what you think?
How do you stay up to date as a Software Engineer
Tags: productivity, discuss
Published: 2019-10-30 14:07:19

---
title: How do you stay up to date as a Software Engineer
published: true
description: How do you stay up to date as a Software Engineer. Here is mine
tags: productivity, discuss
cover_image: https://thepracticaldev.s3.amazonaws.com/i/tey035yzk8t4y4ssy6hm.png
---

As a developer, stay up to date is really important. But how can we survive in the world of tech, which rapidly changes over and over?

I personally follow these blogs to keep updated 
https://medium.com
http://dev.to
https://blog.codinghorror.com/
https://www.joelonsoftware.com/
https://michaelfeathers.silvrback.com/
https://www.reddit.com/
...

I bought a Kindle last year, so every time I found an interesting blog/article I send it to my kindle to read it later. This way works quite well and I'm happy with it.
But after years, my list keeps growing and it's taken me hours just to go through the list and check for anything new.
Also, my Kindle reading list becomes unmanageable with more than 350 articles.
You know Kindle good for reading but suck for managing contents.

So I need to find a better way, after days of searching I end up with this combination:

Feedly + Pocket + P2K + Kindle = :heart:

# [Feedly](https://feedly.com) - organize, read and share what matters to you
![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/sy1jo37i7zr09l7vcvd7.png)

So now I can check all the news in just one place, yeah [RSS is undead](https://techcrunch.com/2018/04/07/rss-is-undead/)
I try to keep my list as short as possible, you don't need to know everything in the tech's world. Actually, you can't and you shouldn't

Many places don't offer RSS like  your `DEV weekly newsletter emails` or `DEV digest of top posts from my tags`.
Have you ever feel your inbox is full of daily/weekly newsletter?
There is a service can turn your email into RSS call [Kill The Newsletter]( https://www.kill-the-newsletter.com)


# [Pocket](https://app.getpocket.com/)
I use Pocket to manage my reading list, and [P2K](https://p2k.co) to schedule send articles to my Kindle every week, so I can read in the weekends
I also have a simple tagging map to help me organize the articles better, so I can easily find what I want

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/n5jdyi6dyp5rga04fot7.png)
How would you manage spell-check of packages?
Tags: ask, javascript, npm, cspell
Published: 2019-10-30 13:58:33

---
title: How would you manage spell-check of packages?
published: true
description: How do I make spellchecking easier for a project that installs my package as a dependency?
tags: #ask, javascript, npm, cspell
---

My npm package has custom words that trigger spell-check alerts unless whitelisted. I can add a whitelist for the [cspell] on my machine, but will everyone who imports my package need to do the same as well? 

How do I make life easier for someone who installs my package as a dependency.

[cspell]: https://www.npmjs.com/package/cspell
Daily Challenge #102 - Pentabonacci
Tags: challenge
Published: 2019-10-30 13:56:13

---
title: Daily Challenge #102 - Pentabonacci
published: true
series: Daily Challenge
description: Find odd terms in fibonacci sequences to the n-th term.
tags: challenge
---

Given the following sequence, what is the number of total values for the odd terms of the sequence, up to the n-th term. The number *n* will be given as a positive integer.

<pre>
f(0) = 0
f(1) = 1
f(2) = 1
f(3) = 2
f(4) = 4;
f(n) = f(n-1) + f(n-2) + f(n-3) + f(n-4) + f(n-5);
</pre>

1 is the only value that will be duplicated in the sequence, it should only be counted once.

Examples:

`countPentafib(5)` => 1 
because the terms up to 5 are: [0, 1, 1, 2, 4, 8], 1 is the only odd and is only counted once.

`countPentafib(10)` => 3
[1, 1, 31, 61] are each odd and should be counted.

`countPentafib(15)` => 5
[1, 1, 31, 61, 1793, 3525] are all odd and 1 is only counted once. 

Good luck!

***
_This challenge comes from raulbc777 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!_
Hacktoberfest 2k19 Ends
Tags: hacktoberfest, opensource, discuss, github
Published: 2019-10-30 13:48:10

It was my first hacktoberfest and I'm glad that I completed it.
Created 15 Pull Request

[Dabanggnews](https://dabanggnews.com)

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/gjbji0rlx20h3gurpym0.png)
Manage contrast when converting a document to Grayscale Image in C#
Tags: dotnet, csharp, grayscaleimage, docconversion
Published: 2019-10-30 13:47:35

The first and foremost question in your mind could be, is it about converting an RGB image to Grayscale only? No, you can convert any <a href="https://docs.groupdocs.com/display/conversionnet/Supported+Document+Formats">supported</a> file format (including images) to black-and-white or gray monochrome image. The contrast ranges from black at the weakest intensity to white at the strongest.
See the below demonstration. We converted first page of a PDF file to Grayscale image. You can manage brightness, contrast or gamma of the resultant image as well. 
![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/ipnpj9it1pu7syd73nt1.JPG)
This feature is quite helpful if you are going to do image processing. Because RGB image is represented by 3 channels and contains a lot of data/noise. Hence, more computational power is required to process such an image. On the other hand, Grayscale image makes this process comparatively easy.

Along with <a href="https://docs.groupdocs.com/display/conversionnet/Common+conversion+options">common conversion options</a>, we’ll see the advanced properties that we can implement when converting a document to image using GroupDocs.Conversion for .NET.
Continue reading : http://bit.ly/3491JIK
performance testing with locust - 01 - get started
Tags: testing, performance, python, infrastructure
Published: 2019-10-30 13:30:21

You have created your shiny-new webapp and deployed it, great! But how many customers can you serve with your infrastructure? How many users can your backend handle?
To answer those questions there are a couple of great performance-testing tools out there. One of them is [Locust](https://locust.io/)
The cool thing about locust is that you write your tests in plain python, so you can:
 - track your changes in git
 - test whatever you can code
 - don't have to use your mouse so much

Read [here](https://docs.locust.io/en/stable/what-is-locust.html#background) why locust was created in the first place

# Installation
as simple as `pip install locustio` or `pip3 install locustio`

(The rest of the blog I will assume you are using Python3)

# create your first test

create a file called `locustfile.py` with the content

```
from locust import HttpLocust, TaskSet, task, between

class UserBehaviour(TaskSet):
    @task
    def getFrontPage(self):
        self.client.get("/")

class User(HttpLocust):
    task_set = UserBehaviour
    wait_time = between(1, 10)
```

The class `User` represents users of your app. The class `UserBehaviour` is a collection of the actions these users do.
Every user will rerun the tasks every 1s till 10s `wait_time = between(1, 10)` The exact time between the requests will be chosen randomly.
Inside of the `UserBehaviour` class you define tasks, currently we have only one task, to send a `GET` request.

# run the tests

so lets start the beast:
`/home/<your user>/.local/bin/locust --host=http://<host-to-test>`
or
`locust --host=http://<host-to-test>`
if you have installed locust system-wide

Just make sure there is some HTTP server running under the given host

Now open http://localhost:8089/ in your browser
You will see two input fields, one to set the amount of users you want to simulate and one to tell locust how fast you want to ramp up the users

![Start new Locust swarm](https://thepracticaldev.s3.amazonaws.com/i/ig5v5j93qnv1iu075oue.png)

Choose e.g. 20 users to simulate and 2 users/s as hatch rate and click "Start Swarming"

In the main screen you will now see some statistics about the amount of requests, and how long they took. In the "Charts" tab you will find the same data over time in a nice graph. "Failures" and "Exceptions" should be empty, because all of the requests should have succeeded. And last under "Download Data", you get the data as nice CSV files.

# what's next?

That all was nice and easy, but not very realistic. Does not matter if you want to test a web frontend or an API, just sending `GET` requests to `/` does not simulate what your users or clients will do. But we want to test what we fly and fly what we test. So in the next parts of this series we will extend the script to test an API in a more realistic way.