teleren/devto huggingface dataset:
Plugin for Google Chrome that turns your browser into remote job board for developers
Tags: javascript, react, ruby, java
Published: 2020-03-16 22:18:56

No one wants to register on dozens of sites to search for remote job, it's long and boring. Just imagine how many spam notifications and other things you will receive in your email.

I wondered what would happen if I made a plugin that would turn your routine stay on a site that you often use into a convenient job search. It doesn't matter whether you are actively or passively looking for remote job. Fresh vacancies are almost always in front of your eyes, and you can respond to them in just one click. It is important that vacancies are displayed in the GitHub style and do not interfere with your work.

I made a plugin that will turn your GitHub into a personalized job board.

I hope it will be interesting to all those who are looking for a job or they will just be interested trying it out.

Use the link for install – https://chrome.google.com/webstore/detail/ggjfaolecbmoepjphmbonbbnggpjlmkh/publish-accepted?authuser=1&hl=en
Setting Up and Running Apache Kafka on Windows OS
Tags: kafka
Published: 2020-03-17 07:27:44

Apache Kafka is a fast and scalable messaging queue, capable of handling heavy loads in context of read and write, i.e. IO-related, stuff. You can find more about Kafka on http://kafka.apache.org/. Apache Kafka requires a running ZooKeeper instance, which is used for reliable distributed coordination. Please find more about ZooKeeper on https://zookeeper.apache.org/.
Downloading the Required Files
* Download Server JRE according to your OS and CPU architecture from http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
* Download and install 7-zip from http://www.7-zip.org/download.html
* Download and extract Kafka using 7-zip from http://kafka.apache.org/downloads.html

For this tutorial, we are assuming that kafka_2.11-2.4.0 are unzipped in the C: drive, but you can unzip them in any location.

Starting of Zookeeper and Apache Kafka
* I will skip Java installation part as people are familiar with it.
* We can start the server with default configuration and here is the following 
  command.
  **zookeeper-server-start.bat ../../config/zookeeper.properties**
* Now we will start Apache Kafka Server with following command.
  **kafka-server-start.bat ../../config/server.properties**
* Now we will create a topic with the name “test” and a replication factor of 1, 
  as we have only one Kafka server running. If you have a cluster with more than 
  one Kafka server running, you can increase the replication-factor accordingly, 
  which will increase the data availability and act like a fault-tolerant system.
  **kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 - 
    -partitions 1 --topic sample**
* Now we will create Producer and Consumer to test server.
  **kafka-console-producer.bat --broker-list localhost:9092 --topic sample**
* Now we will start Consumer by typing the following command.
  **kafka-console-consumer.bat --zookeeper localhost:2181 --topic sample** Now we
  can send Messages from Producer and Consumer consumes it.
* Here are the useful commands that would be helpful.
   * To list topics **kafka-topics.bat --list --zookeeper localhost:2181**.
   * To describe topic **kafka-topics.bat --describe --zookeeper localhost:2181 - 
     -topic [Topic Name]**.
   * Read messages from the beginning **kafka-console-consumer.bat --bootstrap- 
     server localhost:9092 --topic [Topic Name] --from-beginning**.
   * To delete a topic **kafka-run-class.bat kafka.admin.TopicCommand --delete -- 
     topic [topic_to_delete] --zookeeper localhost:2181**.

  Let me know if you are facing any issues in discussion session.
Building simple systems for better security & reliability
Tags: todayilearned, security, beginners
Published: 2020-03-18 13:00:34

*TL;DR notes from articles I read today.*

### [Simple systems have less downtime](http://bit.ly/2QjRcpz)

- Simplicity while building a system leads to less downtime because you don’t need to wait for a specifically proficient person to do/help with anything, anybody in the team can take over troubleshooting without a huge learning curve or training.  
- Troubleshooting, therefore, takes less time, because learning the system and then identifying and resolving the problem is almost intuitive.
- When each part of the system has a clear function, it is easier for you to find several alternative solutions.
- Follow these principles to build simpler systems:
    1. Features don’t justify the complexity. Choose tools that are easy to operate rather than the most feature-rich option.
    2. Complex ideas lead to complex implementations. Pare down your ideas so they can be explained fast.
    3. Try modifications before additions. Most people rush to add new layers, steps or integrations for new requirements. Instead, first, check whether the core system can be modified. 

*[Full post here](http://bit.ly/2QjRcpz), 6 mins read*

---

### [Avoiding vulnerabilities in software development](http://bit.ly/2UbBLBa)

**Impose proper input validation:**
    1. Apply the zero trust principle and assume all input is unsafe until proven otherwise. Whitelist validated environmental variables, queries, files, databases and API calls.
    2. Realize that attackers may be able to access hidden form fields.
    3. Validate input for content, as well as length. Evaluate type, syntax, and conformance to logic (semantic sense). 
    4. Perform both client-side and server-side checks.
    5. Validate inputs again after any data combination or conversion. 
**Beware of information exposure:**
    1. Frame your error messages so that they do not give away the full path of a file or program, or expose a user in the database.
    2. Contain sensitive information to areas with explicit trust boundaries. Use access controls to secure and restrict connections between ‘safe’ areas and endpoints.
    3. Restrict sensitive information from URLs or communication headers. Obscure path names and API keys.   
**Ensure proper authentication to assign privileges:**
    1. Make sure temporary privilege escalations are easily reversed, and soon.
    2. Assign privileges through whitelisting, starting with a universal base of least privilege, rather than restricting them through blacklisting.
    3. Never allow a lower privilege level to affect a higher privileged user.
    4. Restrict log-in attempts and impose session limits.
    5. Separate higher-level privileges into different roles to limit ‘power users’.
    6. Apply multi-factor authentication. 

*[Full post here](http://bit.ly/2UbBLBa), 6 mins read*

---

*[Get these notes directly in your inbox every weekday by signing up for my newsletter, in.snippets().](https://mailchi.mp/appsmith/insnippets?utm_source=devto&utm_medium=post08&utm_campaign=is)*
Gear for a quick and effective standing desk
Tags: productivity
Published: 2020-03-17 15:39:41

Today, I'd like to spread the word about two products that have significantly improved my work from home situation during this COVID-19 outbreak. If you're like me and don't have a furnished home office already, I hope you check these out and find them useful. The two products are the [Roost Stand](https://amzn.to/33oj7tT) and the [GhostStand desk](https://amzn.to/3d7vvTC).

## [Roost Stand](https://amzn.to/33oj7tT)
I am seriously impressed with this stand. When I was in the market for a laptop stand, I was looking for 3 things:

1. Wide compatibility with different laptop sizes and models
2. Portability
3. Overall quality

For me, the Roost Stand hits all three marks. It's light yet sturdy. I can easily carry it with me to coffee shops, and my laptop feels extremely secure when it's resting on the stand. 

If you don't already have a laptop stand to put your laptop at an ergonomic height, I highly recommend the Roost Stand.

## [Ghost Desk](https://amzn.to/3d7vvTC)

You might be wondering why I'm recommending what essentially looks like a cardboard box. While it might seem silly, this desk does a pretty good job of making a workable standing desk if you don't have an alternative. You could cobble together some surfaces from around your house and accomplish the same thing, but it's harder than you'd think to get the right stair step height for keyboard and mouse placement lower than the monitor placement. For me, I've also found the portability aspect of this product to be a huge advantage over alternatives. It's also surprisingly sturdy for cardboard. I've been resting my laptop with the Rooststand on top and don't have any worries about the whole stand collapsing.

That's it! I hope you find these products helpful. I'd love to hear and see other improved work from home desk areas in the comments.
How remote work is done at my company
Tags: remote, productivity, tutorial
Published: 2020-03-17 22:22:48

Hello all,

Due to current events, I've made my article "[How remote work is done at my company](https://gumroad.com/l/fatcPp)" free.

An intro to the article: https://dev.to/hossameldeen/let-s-make-remote-work-mainstream-remote-work-for-synchronous-verbal-communication-based-teams-1fee

The article itself: https://gumroad.com/l/fatcPp
Covid-19 Updates via SMS for FREE
Tags: coronavirus, covid19, opensource, python
Published: 2020-03-17 23:44:41

Hello everyone. We are a small group of young developers (looking to grow) who decided to come together and join forces in order to do our part to combat the unfathomable Coronavirus epidemic.

Text the below number to get started:

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

Checkout the project's open-source repository: https://github.com/Marwan01/covid-helpline

The purpose of this post is to humbly ask the dev community to give us a hand maintaining, scaling, and improving this project so it could keep running for FREE for those who need it the most. 

Learn more by visiting the detailed article my teammate wrote: https://medium.com/@aandrei_38387/1-914-268-4399-open-source-covid-19-data-line-f5a566b51d99

Please reach out to me directly via marwanest@live.fr to get added as a contributor. :) Thank you all for the attention.
Suryavansi Creation Pvt Ltd

Published: 2020-03-18 06:20:50

Suryavansi Creation Pvt. Ltd Are Indian Ethnic Wear And Indo-Western Cloths Biggest Manufacturer And Wholesaler Based In Surat | Gujarat | India And We Are Situated In Clothing Business Since 25 Years.
We Support Your Business With Our 5000 Plus Exclusive Ready To Ship Designs Of Indian And Pakistani Traditional Wear Dresses Such As Salwar Kameez, Sarees, Lehenga Choli, Kurtis, Gowns, Leggings And Many More Products. And Of Course Worlds Best Customer Services As Well.
We At Suryavansi Creation Deal in

More Than 70+ Top Brands From All Over India And Provide You All Products At Company Price And Mostly At Same Day Dispatch. We Deliver Our Beautiful Attires To UK, USA, Canada, And Worldwide.
Where We Are Located?
Suryavansi Creation Pvt Ltd Is Situated In Textile Market Ring Road Surat, Gujarat | India.
When We Started?
We Started Our Clothing Business In 1993 As An Experiment And Now We Are A Famous Manufacturer And Wholesaler Of Indian And Pakistani Traditional Wear Cloths.
Our Mission
To Support Your Retail And Wholesale Businesses And Deliver 100% Original Products Worldwide. Our Aim Is To Build A Long-Term Business Relationship With Our Domestic And International Customers.
Our 24×7 Dedicated Customer Support Team Will Ensure Timely Response To Your Queries Via Live Chat, Phone Call, Email And Whats App. Many Payment Options I.E. Net Banking, Debit Card And Credit Card Will Facilitate Ease Of Transaction. We At Suryavansicreation.Com Are Committed To Make Your Shopping Experience A Scintillating Delight And Deliver Your All Order With Lots Of Love.
Welcome To www.suryavansicreation.com And Happy Shopping!!!
How I have rewritten Code4IT with Gatsby
Tags: gatsby, career
Published: 2020-03-18 11:02:18

After months of work, I've finally completed the porting of my blog from WordPress to Gatsby 🎉🎉🎉🎉🎉

You can find it at [Code4IT.dev](https://www.code4it.dev/). As you maybe know, my main focus is on .NET, C# and Azure.

First of all: _what is Gatsby_? I'm pretty sure you already have heard of it: it's a powerful (free and open source) framework that allows you to create static websites that you can deploy everywhere.

## Why I moved to Gatsby

I noticed that WordPress is really powerful, and it makes easy to create great content. But with the free plan, you cannot customize that much. For instance, __you can't adjust CSS__ as you want, and all the cover images must be imported into their CMS.

As you will notice if you have a look at the articles, I don't use stock photos, but I take those pictures by myself (just to make things a little less boring). Now I can change cover images just referencing a URL in my articles.

Also, I like to __create content in MarkDown__. It's easy and there are lots of tools that show a preview of what is the final result. Personally, I write all the articles with __Visual Studio Code__ and use some extension. Finally, all my articles are controlled with GIT and stored on GitHub.

## The hardest parts

I'm mainly a backend developer. I had some experiences with Angular, but... __Gatsby is built with React__. Luckily I found a template with most of the customizations already done, but I must admit that since I don't have experience with React, the whole site has been build with attempts just to figure out what was going on.

Now the site is on, so I must have understood something correct 😎 But... I still don't know how __GraphQL injects its result into the component!__ No, seriously, I have no clue!

Lastly, I'm not a genius at CSS. And I don't have creativity, so the blog has a very simple structure. In the future, I'll rewrite the whole layout, but for now... well, it's fine.

## The easiest parts

Since I have downloaded an existing layout, most of the configurations were already in place. I had to install more plugins (for Google Analytics, Disqus and RSS feeds), in general, I didn't have problems with them.

For the deployment part, I rely on GitHub actions and Netlify. So, every time I push code on the _master_ branch, I have my updated code live in about one minute.

## Where can you find my blog

As I said, you can find it [here](https://www.code4it.dev/).
I'll keep working on it, so you'll see updates both on the UI and the functionalities. And, of course, in the content :) Feel free to contact me [on Twitter](https://twitter.com/BelloneDavide) if you have suggestions to make!

See you!
If you would need to scrape many different websites nowdays, which tool/language combo would you pick?
Tags: webscraping, python, go, javascript
Published: 2020-03-18 08:58:32

---
title: If you would need to scrape many different websites nowdays, which tool/language combo would you pick? 
published: true
description: 
tags: webscraping, python, golang, javascript
---

Basically I want to crawl simple blogs and extract their blog posts. The biggest challenge here would probably be the parsing of the data and understanding different content parts within a blogpost
Streaming data from Kafka to S3 - video walkthrough
Tags: tutorial, opensource, apachekafka, java
Published: 2020-03-18 09:23:52

Check out this tutorial on how to get data from Apache Kafka into S3: 
https://rmoff.dev/kafka-s3-video

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

If you prefer written, you can see here: https://rmoff.dev/kafka-s3

👇 Leave a message in the comments with any suggestions for which Kafka Connect question or connector I should walk through next :)
Node.js Process Model
Published: 2020-03-18 10:35:54

In this article, we will learn about the Node.js process model and understand why we should use Node.js.

<b>Traditional Web Server Model</b>
In the traditional web server model, each request is handled by a dedicated thread from the thread pool. If no thread is available in the thread pool at any point of time then the request waits till the next available thread. The dedicated thread executes a particular request and does not return to thread pool until it completes the execution and returns a response

<img src="https://gtflix.zendesk.com/hc/user_images/IxK1Ec3AwDSQLpt9V2N88Q.png">

To get in-Depth knowledge on Nodejs you can Enroll for a live demo on <b><a href="https://onlineitguru.com/nodejs-course.html">Nodejs online training</a></b>

<b>Node.js Process Model</b>

Node.js processes user requests differently when compared to a traditional web server model. Node.js runs in a single process and the application code runs in a single thread and thereby needs fewer resources than other platforms. All the user requests to your web application will be handled by a single thread and all the I/O work or long-running job is performed asynchronously for a particular request. So, this single thread doesn't have to wait for the request to complete and is free to handle the next request. When asynchronous I/O work completes then it processes the request further and sends the response.

An event loop is constantly watching for the events to be raised for an asynchronous job and executing callback function when the job completes. Internally, Node.js uses libev for the event loop which in turn uses an internal C++ thread pool to provide asynchronous I/O.

To learn more about Node.js Process Model  and other great features of Nodejs, you can Enroll for a live demo on <b><a href="https://onlineitguru.com/nodejs-course.html">Nodejs Course</a></b>

The following figure illustrates the asynchronous web server model using Node.js.
<img src="https://gtflix.zendesk.com/hc/user_images/G-Qd3369jRVijMSdJm_JPA.png">

Node.js process model increases the performance and scalability with a few caveats. Node.js is not fit for an application which performs CPU-intensive operations like image processing or other heavy computation work because it takes time to process a request and thereby blocks the single thread.

Take your career to new heights of success with <b><a href="https://onlineitguru.com/nodejs-course.html">Nodejs Certification</a></b>
Why It’s Better To Beta Test Before Launch
Published: 2020-03-18 14:14:56

- To validate product & get unbiased feedback. Beta testing allows you to receive real-time suggestions from users, check every aspect, including documentation, installation guides, and manuals.
- To release a quality product and save costs. A well-planned beta testing mitigates the risk of post-release flaws and improves users' experience. 
- To enhance the relationship with customers. You can "foresee" their expectations and increase loyalty offering the right product. 
- Customer support? No problem! You get ready for it well in advance and can make sure that your support is working properly and offers qualified help. 

http://hire-tester.com
Node.js best practices
Tags: node, webdev, beginners, tutorial
Published: 2020-03-24 13:15:17

---
title: Node.js best practices
published: true
description: Node.js is the most popular choice when building the backend for your app, no matter if you prefer a traditional REST API or using it to build something modern like the GraphQL server.
tags: node,webdev,beginners,tutorial
canonical_url: https://blog.graphqleditor.com/nodejs-best-practices/
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/5d3cfo8napwojszd9my6.png
---

Node.js is the most popular choice when building the backend for your app, no matter if you prefer a traditional REST API or using it to build something modern like the GraphQL server.



## Node.js

Node.js is a JavaScript runtime using an event-driven I/O model which makes it extremely efficient when it comes to making scalable network applications. It's cross-platform, so whether you are building a mobile app, web app or IoT, Node will do the job. It's light, it's scalable & it delivers! Whether you are building a side project or working on an enterprise app Node.js will fit your needs.

![NodeJS work with any technology](https://dev-to-uploads.s3.amazonaws.com/i/1sfh4gw9fdp0rzav2ol8.png)

##### Source: [undraw.co](https://undraw.co/)

## Best practices

Node.js offers a lot, but to bring to the best you need to know and follow its best practices. If you are wondering where to find them the awesome open-source community is here to help!

This repo is **[the largest compilation of best Node.js content](https://github.com/goldbergyoni/nodebestpractices)** available online. It contains:

- more than 80 best practices,
- useful style guides
- architectural patterns

As it's maintained by the community the "Node.JS Best Practices" is growing rapidly and new pull requests with fresh Node.js content are being created on a daily basis.

{% github goldbergyoni/nodebestpractices %}

Best practices are divided into 7 groups of which each of them contains numerous good practices gathered from the community:

1. Project structure 
2. Error handling 
3. Code style
4. Testing & Quality
5. Going to production
6. Security
7. Performance

Each good practice contains a TL;DR summary as well well as a link to extended content including:
- detailed information
- code examples
- important quotes from different sources

Awesome, right? Rember to show the repo maintainers some love and leave them a star or contribute if you have some useful Node.js tips!

---

## Boost your API with GraphQL

[**GraphQL Editor**](https://graphqleditor.com/) is a tool that would help you build, manage & deploy your **GraphQL API** much faster thanks to dozens of built-in micro features like mock backend or frontend engine for previewing your GraphQL queries!


[![GraphQL Editor](https://dev-to-uploads.s3.amazonaws.com/i/eii1x6bm32a2vzfo5px0.gif)](https://graphqleditor.com)
HTML entities FCC intermediate algorithms
Tags: replit, node
Published: 2020-03-18 15:19:19

---
title: HTML entities FCC intermediate algorithms
published: true
tags: replit, nodejs
---

published: true
tags: replit, nodejs
---

function convertHTML(str) {
var args = ["\""];
var arr1 = str.replace("&", "&amp;").replace("<", "&lt;").replace("<", "&lt;").replace(args, "&quot;").replace(args, "&quot;").replace(">", "&gt;").replace("'s", "&apos;s"); 
console.log(arr1)
return arr1
}

convertHTML("Dolce & Gabbana"); 

convertHTML("Hamburgers < Pizza < Tacos");
convertHTML("Sixty > twelve") ;
convertHTML('Stuff in "quotation marks"');
convertHTML("Schindler's List");
convertHTML("<>");
convertHTML("abc");
https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/convert-html-entities.

{% replit @oscarhernandez6/Convert-HTML-entities-FCC-intermediate-algorithms %}