teleren/devto huggingface dataset:
Average Salary of Blockchain Developer
Tags: blockchain, java, cpp
Published: 2019-07-08 08:53:54

The demand for blockchain developers is increasing by the day. This is since the blockchain technology itself does not stand still and progressively penetrates a variety of fields of human endeavour. And since it is an emerging technology there are not enough qualified developers for hire. The requirements for them are specific and involve a particular set of skills. Companies are looking for software developers who have work experience in Github and who had the opportunity to work in open source projects. Besides, candidates should at least have immense knowledge in C/C++ as the majority of the projects are written on it. Along with it, a knowledge of Java, JavaScript, Python and in some cases Ruby, Solidity is also needed. Potential blockchain developers should feel comfortable working with multiple programming languages and have some understanding of cryptography. This kind of developers is particularly valuable in the blockchain market and can count on better-paying jobs. To be convinced of this let's take a look at the infographic mapping the country-specific blockchain developers’ salary:
![](https://thepracticaldev.s3.amazonaws.com/i/9vmgmrxkymxfhrbf5dtp.jpg)

Furthermore, there are different Bug Bounty Programs where practised blockchain developers are welcomed. Participants of such activities are called Bug Bounty Hunters. Their goal is to find vulnerabilities in software, websites, and web applications. These programs allow earning lots of money that can be a major or extra income for blockchain developers. The average period of Bug Bounty Campaign is 2-3 months during which the “hunters” have an option to identify any errors and receive rewards from 100$ to 10000$ depending on the degree of the bug. 

Notable examples of the blockchain companies who provide Bug Bounty Programs are EOS, Ethereum, Ripple, TRON, Dash, etc. Hence, in the recent EOS program, more than 50 developers took part and managed to report approximately 100 bugs half of which are critical. One of the most relevant Bug Bounty Campaign is the one that was launched by Credits Blockchain Platform on June 27. The program has an overall prize fund of 500 000$ and each specific reward varies depending on the severity of the flaw and location. If a person finds an error and proposes the legitimate amendments, a triple reward is provided. All developers and security experts can participate and open season on bugs.

Ultimately, one thing's for sure, blockchain developer skills are in demand and there are lots of blockchain companies willing to pay high salaries to such kind of staff member. There is a lot of money to make in this space both as a major and extra income that allows developers to pocket a considerable sum but at the same time requires from give a great knowledge of technical aspects of the blockchain sphere.
No-no’s of software engineering
Tags: humor, software, coding, javascript
Published: 2019-07-08 06:57:45

In a stressful and deadline-bound job like software engineering, the no-no’s are way more than the yes-yes’s.

Clients or managers, who despite their lack of knowledge in your work, feel obliged to give you their opinion on technical details and best practices. That’s like me walking into a doctor’s office in the middle of surgery and suggesting that maybe his patient doesn’t need a new heart, what he really needs is love.

Pseudo “rock-star” employees. The typical overachievers who got too much praise growing up, and now feel that they’re too good to follow instructions because they wrote an app that finds the best ice-cream flavor to match your personality based on what you’re wearing that day, or something useless like that when they were in college. What they don’t understand, however, is that no matter how smart you are, you’re never too smart to hear the advice of an experienced developer and to follow it, and that a false sense of grandeur sets you up for a lifetime of disappointment.

People who think they’re holier-than-thou because they work as developers. The community has been getting very toxic lately with people who assume that they’re smarter/better/wiser just because they learned how to put together lines of code. You can see this all over Quora, or Hacker News, or Reddit, or any other place frequented by these delusional individuals. Armed with their keyboards, and energized by their Red Bulls and espressos, they roam the internet letting people know how superior their way of life is, how their ideas will change the world, and how being anything other than a developer makes you a plebian. I stopped answering questions on Quora for over a year because it got too much to handle; most of the questions were like this: “Why aren’t more people software developers?” or “How can I learn web development, to join the master race?” Your job doesn’t make you smarter or more special than other people.

I can’t help but wonder if this would have been more light-hearted had I been in a better mood. Food for thought.
Hosting a Sample Python Flask Application on AWS EC2 with AutoScaling and LoadBalancer(Ready CloudFormation)
Tags: aws, flask, cloudfomation, python
Published: 2019-07-08 08:39:34

1. Open AWS Console (or aws cli)

2. Create a new stack

3. Use below cloud formation

https://github.com/akshaykrjain/coffee_with_code/blob/master/cloudformation/aws_cft.yaml

Note-  - Change the user data part to your custome code. A sample code is already added in this cloud formation template.
       - Make sure you have atleast 1 public and 1 private subnet ready.
       - Private subnet must be able to connect to internet (Use Internet Gateway or NAT for that)
Howto: Drop-down list with Gitlab projects in Jenkins 
Tags: jenkins, gitlab, howto, regex
Published: 2019-07-08 07:54:40

In the previous receipt about Drop-down list for values we learned how-to choice any component from Jira. But in Jira ofteт isn't need in real life for development process.
At this receipt I've tell about how to create drop-down list for choosing projects's names by regex from Gitlab via API.

Prerequisites:
- [Active Choices plugin](https://wiki.jenkins.io/display/JENKINS/Active+Choices+Plugin)
- Gitlab token for API

Step 1: In job configuration add parameter Active Choice Reactive Parameter

Step 2: Set name for your parameter (for example COMPONENT)

Step 3: Select Groovy script and add next groovy-code

```groovy
import groovy.json.JsonSlurperClassic
import java.util.regex.*

def projectNamespace = JIRA_PROJECT.toLowerCase()
def regexLine = "^((${projectNamespace}-(int|sys|service|bpl|pl|stp|tst)-([a-z,0-9,-]*)))"
def gitlabUrl = "https://gitlab.domain.org"
def gitlabApiToken = "secretToken"
def per_page = 128

def data = []
def url = "curl -k -H PRIVATE-TOKEN:${gitlabApiToken} ${gitlabUrl}/api/v4/projects?per_page=${per_page}"
def json = url.execute().text.replaceAll("\r\n", "")
data += new JsonSlurperClassic().parseText(json)

def list = []
data.each { project ->
    Matcher projectMatcher = Pattern.compile(regexLine).matcher(project.path)
    if(projectMatcher && project.namespace.path == projectNamespace) {
        list += project.path
    }
}
return list.sort()
```
Lassi: A Media Picker Library for Android Platform.
Tags: android, library, mediapicker, androiddev
Published: 2019-07-08 07:44:26

Lassi is simplest way to pick Media. Either it is in Image or Video.

Here are some advantage of using Lassi,

1. Simple implementation
2. Set your own custom styles
3. Filter by particular media type
4. Filter videos by min and max time
5. Enable/lassiOption camera from media picker

Want to know how we made this? [Check code here](https://github.com/Mindinventory/Lassi)

Don't forget to give your views.
Build a Slack slash command app with Zeit’s Now
Tags: howto, slack, javascript
Published: 2019-07-08 15:08:19

---
title: Build a Slack slash command app with Zeit’s Now
published: true
tags: howto, slack, javascript
canonical_url: https://www.kahlillechelt.com/2019/07/08/build-a-slack-slash-command-app-with-zeits-now/
---

First of all: [**Now**](https://zeit.co/now) is so flipping great it’s not even funny. Basically it is this: 

You write your app, type `now` and it's deployed. You get back the URL under which it is deployed and that’s that. Every other deployment results in a new deployment under a new URL.

The latest deployment is always aliased to a URL that doesn’t change and that’s the address to your app or API.

If you hook up Github, your branches get deployed automatically as immutable deployments. The alias of those deployments contains the branch name. Every push results in a new deployment.

Now is a perfect fit if you want to create a slash command app for Slack.

***

Slash commands are super simple. When you send off a message like `/mycommand yey` all the command does is sending a post request over to a URL with your command and then prints out the response to you in Slack.

I used [**Micro**](https://github.com/zeit/micro) (also made by our buddies at Zeit) to set up the API. Micro is a small no-config Node tool that allows you to create a microservice in no time. Write the function that takes the request and start the microservice with the `micro` command and you're good to go. 

Now comes with [initialization templates](https://zeit.co/blog/now-init) that have configurations for different tools, frameworks, static site generators, etc. One of them is called `node-micro` which configures Micro for Now. In order to use it, type `now init` and then choose `node-micro`.

It works out of the box. If you start the `now dev` and curl `localhost:3000` you get the hello world message as a response.

You can deploy that by just typing `now` on the terminal or by hooking up now with your GitHub repository.

***

Next, configure your [**Slack slash command**](https://api.slack.com/slash-commands). Give it a name and a slash command and the endpoint URL. In our case it would be the alias that was generated. The alias always points to the latest deployment. 

When you use that slash command it will post back that hello world message back into your Slack chat as a response. 

Now you are ready to take over the world with your Slack slash command!
Race Conditions in JavaScript Apps
Tags: javascript, webdev, tutorial, beginners
Published: 2019-07-08 07:15:51

"During an 'await' anything could happen." ... It’s easy to create race conditions in JavaScript if you’re not careful. This talk is about dealing with common kinds of race conditions based on my experience working on a real-time collaborative app.

{% youtube mErWvP09BCg %}

**Thanks for reading** ❤
If you liked this post, please do share/like it with all of your programming buddies! 
Follow us on **[Facebook](https://www.facebook.com/javascript4u/)** | **[Twitter]( https://twitter.com/moriohdotcom)**

### Further reading about JavaScript
☞ [Best 8 Useful JavaScript Tricks in 2019](https://morioh.com/p/36a22dae8169 "")
☞ [Top 5 JavaScript Libraries to Create an Organizational Chart](https://morioh.com/p/9677458f8a72 "")
☞ [WebAssembly: The Future of JS and a Multi-Language Web](https://morioh.com/p/5b7966b645a7 "")
How To Build a Node.js Application with MongoDB
Tags: node, mongodb, javascript, webdev
Published: 2019-07-08 06:45:02

Learn to build fullstack web applications with the most popular server side framework, NodeJS

What you'll learn
Build high quality applications built with Node, Express and MongoDB
Storing data with Mongodb database
Use cutting-edge ES6/ES7 JavaScript
Create Express web servers
Learn user sessions and authentication in nodejs applications
Communicating with a mongodb database using mongoose ODM

What topics are covered in the video?
Nodejs
Express framework
Mongodb
Mongoose ODM
Express sessions
Mongoose data validation
Express Middleware & Request interception
User authentication and authorization
Dynamic views with templating engines
Model View Controller design pattern
Password security and hashing
Mongoose model hooks
And so so much more !!!

{% youtube bsZGpQxTcHY %}

**Thanks for reading** ❤
If you liked this post, share it with all of your programming buddies!
Follow us on **[Facebook](https://www.facebook.com/nodejstutorial4u)** | **[Twitter]( https://twitter.com/moriohdotcom)**

### Further reading

☞ [The Complete Node.js Developer Course (3rd Edition)](http://learnstartup.net/p/BJQWO5_Wnx "The Complete Node.js Developer Course (3rd Edition)")
☞ [Build a web scraper with Node](https://morioh.com/p/e853499ebb6c)
☞ [Creating RESTful APIs with NodeJS and MongoDB Tutorial](https://morioh.com/p/c6818b06b4dd)
☞ [MEAN Stack Tutorial MongoDB, ExpressJS, AngularJS and NodeJS](https://morioh.com/p/e7e261442b4c)
Real World Experience
Tags: beginners, projects, ideas
Published: 2019-07-08 06:23:23

I recently read Devon Campbell's post: [Pushing Through: Stoicism for Aspiring Web Developers](https://dev.to/raddevon/pushing-through-stoicism-for-aspiring-web-developers-26lg). Along with a lot of other great advise, this one stood out to me:

>This philosopher is telling you to stop doing tutorials. I don’t mean you should never use them, but stop leaning on this crutch as the only way you’ll learn.

As Devon explains, development is being presented with a problem and building a solution in software. So the best way to become a web developer, is by working on a software solution to a problem. I have heard this advise from others here at Dev.to, but I have felt that I didn't have enough knowledge to solve anything. Not so. I know HTML5 and CSS and am just starting coursework on javascript. I know stuff.:0) If you are like me, you do, too!

Here is a list of [10 Great Web Development Learning Projects](https://raddevon.com/articles/10-great-web-development-learning-project-ideas/) for beginners. They are from Devon's website, RadDevon. I've added two of them to my GitHub repository. One, because I really want it, and the other, because I know I can do it with HTML and CSS. 

I hope this will be helpful for my beginner friends and I also would love more learning-project ideas that can be built with HTML and CSS or maybe a little javascript thrown in.;-> Experienced developers, make this article even more helpful...add your suggestions! And, definitely read Devon's articles here on Dev.to, give him a "Follow" and check out his [website](https://raddevon.com/). He rocks!



{% user raddevon %}
Linux by example - Building m4, ncurses and bash
Tags: linux, m4
Published: 2019-07-08 06:09:04

---
title: Linux by example - Building m4, ncurses and bash
published: true
description: We talk about building macro languages, gui tools and shells.
tags: Linux, m4
cover_image: https://thepracticaldev.s3.amazonaws.com/i/gul98h0l83ur3ho0h0cv.jpg
---

{% youtube 8IuTOo7JqCM %}
Basics of Redux
Tags: javascript, redux, react, webdev
Published: 2019-07-08 05:53:05

## **Table of contents**
   * [What is Redux?](#redux)
   * [Lifecycle methods of redux](#lifecycle)
   * [Definitions of lifecycle methods](#def)




### **What is Redux** <a name="redux"></a>
Redux is state managament library. Common use cases of Redux with user interface libraries like React, Vue or Angular. Howerver, you can add this library to your any web project to control your global state. [More](https://redux.js.org/)

### **Lifecycle methods of redux** <a name="lifecycle"></a>
![](https://thepracticaldev.s3.amazonaws.com/i/rmtgljl6f3lkwfqqcsua.png)

### **Definitions** <a name="def"></a>
*Action creator* is function that creates or returns plain javascript object.
*Action* is plain javascript object. So, Action creator returns Actions. Actions must have *type* which defines purpose of action and optionally *payload* which contains data.


```javascript
// Action creator                 // Action
const myActionCreator = value => {type : "INCREASE_TO_ONE", paylaod : value }
```

*dispatch* is function that take action and makes copies of this object. It is built in function. 

*Reducers* are functions which take suitable action according to type of action which is dispatched and updates state.

```javascript
// Reducer
const myReducer = (prevState = null, action) => {
 if(action.type === "INCREASE_TO_ONE"){
    prevState = action.payload + 1;
    return prevState;
 }
 return prevState;
}
```
*State* is actual state value of your application;
Below given example to use Redux

```javascript
// import built in libraries from redux
import {createStore, combineReducers} from 'redux'

// Action creator                 // Action
const myActionCreator = value => {return {type : "INCREASE_TO_ONE", paylaod : value }} ;

// Reducer
const myReducer = (prevState = 0, action) => {
 if(action.type === "INCREASE_TO_ONE"){
    prevState = action.paylaod + 1;
    return prevState;
 }
 return prevState;
}

const combinedReducers = combineReducers({value : myReducer})
const store = createStore(combinedReducers);
const action = myActionCreator(6);
// use case of dispatch function
store.dispatch(action);

console.log(store.getState());
```
Test that code in [codesandbox.io](https://codesandbox.io/s/trusting-visvesvaraya-e0ekb)

### **That is it !!!**
Security Champion
Tags: securitychampion, appsec, infosec, owasp
Published: 2019-07-08 05:48:18

---
title: Security Champion
published: true
description: starting a program at my company
tags: security champion, appsec, infosec, OWASP
---

Starting tomorrow 7/8/2019, I will be working along the Security Team to engage as a Security Champion! This is really exciting for me because it's the beginning of a path I've been hyping up for some time now among friends and families. Some people may already be aware, but I was unable to commit to the cybersecurity bootcamp I had enrolled in a few months back. It's been hard, but at least this doesn't mean the end! 

So what is a Security Champion and why does this matter? Well, let's briefly cover the definition: 

<i>A security champion is an individual at a company who helps and assists with the Security team as the liaison of cross-functional team.</i>

For me, it will be for our production support team. Security champions come from OWASP, the universal standard for Open Web Application Security Projects. For more information, here is a link to the responsibilities of a [Security Champion](https://www.owasp.org/index.php/Security_Champions)

Now, I'm going to be honest with you: I love being involved in everything and anything: UX design, 2D/3D animation, engineering drawings, data science, security, etc. I like to consider myself T-Shaped! What I hope to gain from being a generalist is being great with visual communications. For me, visual and written communication is my best medium, but I've always wanted to be purposeful with my creativity. I've searched far and wide, and have seen the most important opportunity to invest my skills and experience in to be with cybersecurity! It's one of the most important fields of our day and age.

But I digress. Let's get back to security champions. Come as you are: analyst, developer, guard, manager, janitor, consumer, etc. This is a responsibility for everyone! Consider this as watchdog but for security: cybersecurity! We need more people out there as advocates. While security is held accountable to the security team, it is a responsibility for everyone and anyone to be a part of. That is wheere I consider it the most enticing! It's like being a cyber superhero. 

What I hope to cover in the next few months is: 
- advocating as a public security champion 
- educate the masses on security stories they should be aware of
- provide workshops with low barrier of entry 
- improve cybersecurity literacy 

As I start this journey, I must ask to those who read and follow these posts: What would you like to learn about regarding cybersecurity?
Best Toy For Kids in 2019
Tags: originalcopter, whistlecopter, ledslingshothelicopter
Published: 2019-07-08 05:31:56

Age-appropriate toys for learning, playing and exploring

If you are looking for toys that can inspire, educate and ignite the imagination, then you have found your own game time! Original Copter toys, we have a very unique system that can help you determine the best toys for kids of all ages. Instead of marking the toy according to the recommended minimum age, we actually created and planned a toy series for all kind ages. In other words, whether you want to find the best toys and creative toys for 6-year-olds and more, you will find something for teaching, entertainment, and motivation!

Original Copter is suitable for all ages and children's toys and it is especially recommended by parents, teachers and toy manufacturers. What makes toys especially suitable for a certain age group? In addition to safety considerations, age-appropriate toys also mean stimulating peace and approachability. We have compiled a large number of safety and quality review data.

Whistle copter toys are happy to help you find awesome toys and gifts. There are almost no limits to our choices, and we are proud to offer non-gender children's toys for small explorers of all ages. We believe that it is important for children to be free to explore and play without expectations or restrictions.
At Original Copter Toys, we are completely family oriented. In fact, our team of founders started their business with the help of creative thinking. Our products are designed to bring the family together and enjoy fun and efficient game time!

When you choose a cool toy like <a href="http://www.whistlecopter.co/"target='_blank'>Original copter</a> , it's easy to make your child excited about learning. With dozens of top-level options, you can easily find content that matches your child's interests. Whether it's sports, space or science, we have great gift suggestions that make shopping a breeze. In addition, he will be more engaged than just staring at the TV or smartphone screen. These toys from Original Copter once again make play fun.

No matter what your child is in these days when you buy our Original Copter toy, you will find a gift that suits her. We have the best quality <a href="https://en.wikipedia.org/wiki/Bamboo-copter"target='_blank'>Led slingshot helicopters</a> , designed for children and covering a wide range of interests and hobbies. By using feedback from real customers, we have been able to reduce the best quality of toys for kids of all ages, so you know that the gift you picked from the original copter will definitely be the winner. The original copter toy found something that especially surprised the children.
[VIDEO]RxJS intro: What Are Observables and How to Create Them? 
Tags: rxjs, beginners, webdev
Published: 2019-07-08 04:37:01

---
title: [VIDEO]RxJS intro: What Are Observables and How to Create Them? 
published: true
description: Enter the world of reactive programming with RxJS.
tags: rxjs, beginner, webdev
---

Introduction video from my ["Hands-on RxJS"](https://www.udemy.com/hands-on-rxjs-for-web-development/) video course on Udemy.

{% youtube gjd6aqRNE_o %}

You can watch more free videos [here](https://www.youtube.com/playlist?list=PLTgRMOcmRb3OyEoPUOz4SltaYakWGC3M2).

You can learn more and buy the full video course [here](https://bit.ly/2AzDgQC).

Kindly leave your feedback in comments!
The Emotional State of a Developer, a Question 
Tags: discuss
Published: 2019-07-08 03:57:15

---
title: The Emotional State of a Developer, a Question 
published: true
description: Have you ever had a problem that you can’t Google away?
tags: Discuss
cover_image: ![](https://thepracticaldev.s3.amazonaws.com/i/3bgq25hnnvvuhar9t9nd.jpeg)
---

What’s the first thing you think and feel when you’re debugging or building something new and realize that the solution is not searchable. It may take an hour to even figure out what the underlying issue is, let alone fix it. Me? I typically get overwhelmed by the 40 tabs of Stack Overflow I have open.

{% twitter 1147906097392410625 %}