teleren/devto huggingface dataset:
Get involved in Open Source because the Maintainers will help you
Tags: opensource, hacktoberfest, javascript, postgres
Published: 2020-09-25 07:39:48

Have you wanted to get involved in Open Source but don't know where to start? What about not feeling like you're good enough? Or you think you're in over your head?

Well, I'm here to tell you that's simply not true. Open Source is amazing, and people are here to help. Like going to a hackathon and learning from others, Open Source is designed to learn from others. And I can prove it! Paul Copplestone, the CEO and maintainer of [Supabase](https://supabase.io/) explicitly calls this out.

![supabase-og-image](https://dev-to-uploads.s3.amazonaws.com/i/ofb15topkuk3q8u9prt5.png) 

He says if you want to be involved in a project, or you want to learn code, "we'll be there to help you". If you want to get involved in any sort of coding open source is a great way to go. Paul says he (and his team) will help you. You want to learn PostGRES? Supabase can help. You want to learn JavaScript? Supabase is there to help.

Supabase aren't the only ones. There are hundreds of Open Source maintainers and contributors here to help you. Pick a project that sounds interesting. Find a language you think you'll like. Then just go for it. The hardest part is starting. But people will be there to help you on your coding journey.

Now is also the best time to get into Open Source. [Hacktoberfest](https://hacktoberfest.digitalocean.com/) is right around the corner. This is your chance to contribute to Open Source and up your developer skills. So what are you waiting for?

![og-hf-teaser](https://dev-to-uploads.s3.amazonaws.com/i/gknk1vmy9c1euqo4qxnw.png)
Day 4: Push existing project to existing Git repo
Tags: git
Published: 2020-09-25 07:34:31

## Intro
Which one is first? Create new project in local? Create repository in local? or create repository in cloud first? Whatever the sequence, the process of connecting our project to git might be different. Honestly it is easier to generate repository in cloud first (Github, Gitlab, etc), then clone it to local. And modify the project afterward. But, sometimes I forgot. I create the project first, and also generate the repository in cloud.

So, how to connect existing project to existing repository?
Here it is.

## Step-by-step
Note: I use VSCode and Gitlab

```
git init
git add .
git commit -m "initial commit"
git remote add origin your-git.git
git remote -v //to confirm
git branch --set-upstream-to=origin/master master
git pull --allow-unrelated-histories
git push
```

Voila.. its connected now :)

## Conclusion
Previously, I always delete the local project, then clone the cloud repo to local. This is okay, but what if the project is already big? You may not want to redo it from scratch. Another way is to push directly and create new project in cloud, but I am too lazy to delete the old one and create the new one. Because I want to reserve the project name (so I need to delete the old one).

So, for now one, if I forgot to clone the repo first, I prefer this way to connect both. And wrote it here, since I keep forgetting stuffs :)
[EN]How to place a banner in your overview GitHub
Tags: github, tutorial
Published: 2020-09-25 07:12:04

1º <b>First</b>: Create Create a new repository
<br />
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/jempossveb1il4f214qo.png)
<br/>

Insert repository name your <b>ID account <b/>
<br/>
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/d18iao5tfalz00hz0zca.png)
<br/>

observe message
You found a secret! Jhow-Ms/Jhow-Ms is a ✨special ✨ repository that you can use to add a README.md to your GitHub profile. Make sure it’s public and initialize it with a README to get started.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/bj3rq6vlxq4b2f9al87q.png)
<br />
<b>Select</b> Public
<br/>
Initialize this repository with: 
Add a README file.
<br/>

<b>Create Repository<b>

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



Now that you have written and inserted the image of your preference.

Commit changes.


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


Go back to overview and look at the result =)
Redmine equality plan
Tags: womenintech, genderequality, ruby, rails
Published: 2020-09-25 07:25:18

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

## Information
With this plugin for Redmine, we want to put the first stone to promote equality in the companies that use this project management software.

And not only gender equality can be visualized with this plugin, you can also use to make visible inequalities of ethnicity, language, religion or color.

## Testimonials
{% youtube xZIrW5Hv3sc %}

## Demo
{% youtube LZ4sHStVwNM %}

## Source Code
https://github.com/apradillap/redmine_equality_plan

## Techonologies
- Ruby on Rails
- Redmine
- PostgreSQL

## Compatibility
- Redmine 4.1.1 (2020-04-06)
- Easy Redmine from version 7.06 to 10.3.1 (2020-06-24)
- PostgreSQL
- It will probably be compatible with previous versions of Redmine. If you try, let us know.
Processes [PIDs] get re-spawned automatically by the unidentified parent process?
Tags: operatingsystem
Published: 2020-09-25 07:19:01

The reason behind this problem is the services are crashing into a loop and failed to start for some reason. So, despite clearing the PIDs from the system, the daemon will keep restarting the service.

If it is an Ubuntu distribution, please use the below commands to disable the service from getting started automatically.
$ systemctl disable [service-name]
$ systemctl daemon-reload

If it is a RedHat distribution, you may disable the auto-restart by using the below command.
$ chkconfig [service-name] off
Installing Puppeteer on an Ubuntu AWS EC2 Instance
Tags: puppeteer, install, aws, ubuntu
Published: 2020-09-25 07:08:28

Haven worked on projects where I converted HTML/CSS to pdf, I have come to learn a few things. First, I must say that Puppeteer in my opinion is still the best converter from the server-side of things. 


So, in this article, I will be discussing how to install Puppeteer and mitigate errors that are likely to arise.

**Scenario:**
My project was a Laravel/PHP project which communicated with a NodeJS server through a socket within the same localhost. So PHP sends the JSON data to the NodeJS, then NodeJS converts the data with a predefined HTML template into pdf, saves the file, and writes the result(file) back to PHP through the socket. Php on receiving the pdf file returns the result as a downloadable file to the browser.
In this way, I have achieved total separation of concern, highly reusable, and printed out a very clear pdf.
The project was hosted on an AWS EC2/ubuntu instance.

**How to install Puppeteer on an Ubuntu instance (18.04 and 20.04)**
* Go to your project directory
* Install NodeJS/npm if you haven't
* Run:
`sudo npm install -g puppeteer --unsafe-perm=true -allow-root && sudo apt install chromium-browser -y`

**Errors** you are likely to face
>ubuntu 20.04/18.04 Oh error: Error: Failed to launch the browser process! error while loading shared libraries: libnss3.so: cannot open shared object file: No such file or directory.

_Note: You might see this same error for **libnss3.so**, **libgbm.so**, **libxss1.so** or **libasound2.so** missing packages_

**Solution:**
You can install these packages singly like 
* sudo apt install libnss3-dev
* sudo apt install libgbm-dev 
and so on

But here is a complete install

Run:
```
sudo apt update && sudo apt install -y gconf-service libgbm-dev libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget
```

This will install all dependencies that might be missing.
If however, you encounter any challenges along the line, you could reach out, I could be of help. Thank you.


Links that were of help to me

* https://techoverflow.net/2018/06/05/how-to-fix-puppetteer-error-while-loading-shared-libraries-libx11-xcb-so-1-cannot-open-shared-object-file-no-such-file-or-directory/
* https://zhang0peter.com/2020/02/07/linux-chrome-bug/
* https://github.com/actions/virtual-environments/issues/732
* https://github.com/puppeteer/puppeteer/issues/807
* https://github.com/alixaxel/chrome-aws-lambda/issues/93
The Infinite Journey
Tags: opensource
Published: 2020-09-18 22:20:15

On Wednesday, September 16th, I decided to take a course on Open Source concepts. This has lead me to write this blog! And to pursuing research into open source projects. Greetings to whoever might read this, my name's Ray, and this blog will be the hotspot for any writings I might have about this course, open source in general, or the occasional keyboard smashing after failing to get data from whatever database I'm using into my API for the 20th time and oh my god I just wanna test my app dafsdklajsdflkjasdlkf;asjdf

Anyway, a little more about me. I'm based in Newmarket, ON right now, fairly thankful that the pandemic has given me a truckload of hours at my job and has taken away my commute to school expenses. However, I'm planning to move to the heart of Toronto to be one of those hipster web developers that wear scarves and don't actually have to code.

I'm fairly interested in web development as a field and I worked primarily in Angular during my PRJ666 (Project Implementation) course. I'm quite interested in contributing to web-based projects. Given that, I took a look at React Query (https://github.com/fluentinstroll/react-query, my fork of the project) and it seemed quite interesting! It's all about fetching data and caching data to make sure a react app has data to show at all times. I'm sure there's a lot more to it and I can't wait to get into learning more.

That's it, today I start the infinite journey into open source with my fellow students. Good luck all!
Top 5 GAN(Generative Adversarial Networks) Projects to play around with Human Faces.
Tags: python, computerscience, vision, gan
Published: 2020-09-25 06:53:42

##Kick-start your project with my new article on Top 5 GAN(Generative Adversarial Networks) Projects to play around with Human Faces.

##I have discussed various types of GAN models and how you can get help from an open-source community to boost your skills.

[Top 5 GAN(Generative Adversarial Networks) Projects to play around with Human Faces.](https://medium.com/@waliamrinal/top-5-gan-generative-adversarial-networks-projects-to-play-around-with-human-faces-f647040e8a65)

[#machinelearning #artificialintelligence #datascience #deeplearning #python #computervision #gans #GANs #generative #generativedesign #generativeart]
Bypassing hCaptcha with Python
Tags: python, javascript, hcaptcha, captcha
Published: 2020-09-25 06:53:18



Most webmasters are using Google ReCaptcha as protection against automations. But this is not the only solution on the market. One of the most popular alternatives is hCaptcha. Now it's used by Cloudflare, a leader on the Anti-DDoS market and one of major CDN providers at the moment. It means that if Cloudflare finds you suspicious, sooner or later you will meet hCaptcha.


> Cloudflare happily announced that they are moving from Google ReCaptcha to Intuition Machines's hCaptcha. The move helped big time with data confidentiality concerns and captcha flexibility. Now attack protection is even more adaptive. This will affect all Cloudflare customers.

Also, hCaptcha
- unlike Google, it doesn't gather personal data;
- due to worldwide distributed CDN, captcha works fast and flawless;
- compatible with ReCaptcha so it is very easy to migrate;
- suitable for people with disabilities.

Sounds great, doesn't it? But what about bypassing hCaptcha on Cloudflare?

For fast hCaptcha automation, we will use the 2captcha-python module. It requires Python 3.x and could be installed with pip

```python
pip3 install 2captcha-python
```

or you may clone a repository, but don’t forget to install a requests module beforehand.

```python
git clone https://github.com/2captcha/2captcha-python.git
```

Preparation

We will need to create a new instance of 2Captcha class sending your API key.

```python
from 2captcha import 2Captcha #module import solver = 2Captcha('YOUR_API_KEY') #your 2captcha API key
```

Captcha resolution

Now let’s create a captcha resolution algorithm.

```python
result = solver.hcaptcha(sitekey='10000000-ffff-ffff-ffff-000000000001',                             url='https://www.site.com/page/',                              proxy={
                                'type': 'HTTPS',
                                'uri': 'username:password@1.2.3.4:1234'
                            })
```

Please note that Cloudflare checks IP address during hCaptcha token verification. So now, the captcha should be solved from the same IP address you submit it from. To successfully bypass hCaptcha on Cloudflare you should send your proxy along with other captcha parameters.

This call will return a token to bypass a captcha.

```python
{'captchaId': '64793693810', 'code': 'P0_eyJ0eXAiOiJKV1QiLCJhbGciOiJIUz...'} 
```

Using a solution

The token from code is then submitted to a website in h-captcha-response and g-recaptcha-response fields. The easiest way to do that is using JavaScript if you are using a browser. Otherwise, send the token in an appropriate HTTP request.

```JavaScript
let submitToken = (token) => {
   document.querySelector('[name=g-recaptcha-response]').innerText = token
   document.querySelector('[name=h-captcha-response]').innerText = token
   document.querySelector('.challenge-form').submit()
}
submitToken('TOKEN_STRING')
```

Is it worth the time spent? In our opinion, absolutely yes. A couple of lines of code will save you a lot of time. And, if you decide to run a self-hosted solution, 2captcha will be even more profitable.
Publish your portfolio on GitHub
Tags: github, html, css, design
Published: 2020-09-25 06:53:17

### How portfolios help you?

A portfolio helps working professionals to highlight their best work and display accomplishments, skills and potentials. Portfolios visually showcase examples of work. Portfolios are a great way to demonstrate the competencies you would list on a resume or talk about in an interview - they allow you to show and not just tell. It presents evidence of your relevant skills and abilities.

### Why GitHub?

[GitHub](https://github.com/) is a web-based platform for version control using git. It is also where users can collaborate on or adopt open-source projects, fork code, share ideas and more. You can consider GitHub as a website while Git is a tool that keeps track of your files and modifications to those files in a repository. It is easier and free to set-up a GitHub account and host your portfolio using GitHub pages.

### Prerequisites:

* Create a [GitHub](https://github.com/) account
* Knowledge on how to use [Git and GitHub](https://www.educative.io/edpresso/learn-git-and-github-in-5-minutes)
* Understand how GitHub-Pages work
* A Theme for your portfolio. You can use either Bootstrap theme or HTML/CSS template

### For quick portfolio template:

* [Start BootStrap](https://startbootstrap.com/themes/portfolio-resume/)
* [BootStrapmade](https://bootstrapmade.com/bootstrap-portfolio-templates/)
* [Colorlib.](https://colorlib.com/wp/free-bootstrap-4-portfolio-website-templates/)
* [Themezy](https://www.themezy.com/free-website-templates)
* [Bootstrapious](https://bootstrapious.com/portfolio-themes)

### How to publish portfolio on GitHub?

* Login to you GitHub account or create one if you don't have one.
* Create a new [repository](https://docs.github.com/en/enterprise/2.15/user/articles/create-a-repo) named **username.github.io**. If your GitHub username is *alexjose*, then your repository name should be **alexjose.github.io**. Make sure to set your repository as public.
* Create a folder in your local machine. Eg: *Documents/Portfolio*. After that, clone your repository by running the following command in git bash:
```
git clone https://github.com/username/username.github.io.git
```
> Remember to replace the URL with your username.

* Copy the contents of your downloaded template into the cloned local repository.Make sure that *index.html* file is at the root of this directory.
* From git bash change directory into cloned repository:
```
cd username.github.io
```
* Run the following commands to make the push to your remote repository: 
```
git add -A
git commit -m "initial commit"
git push origin master
```
* Navigate to https://username.github.io to view your newly created online portfolio.

> Whenever you would like to make changes to your created portfolio repository, make them locally and push the modifications to your remote repository.
Find the Difference Between Two Strings | LeetCode Day 24
Published: 2020-09-25 06:37:31

Problem 
>Given two strings s and t which consist of only lowercase letters.

String t is generated by random shuffling string s and then add one more letter at a random position.

Find the letter that was added in t.

Solution - 
```
from collections import Counter
class Solution:
    def findTheDifference(self, s: str, t: str) -> str:
        c1 = Counter(s)
        c2 = Counter(t)
        for k2, v2 in c2.items():
            v1 = c1.get(k2, 0)
            if v1 != v2:
                return k2
```
Roku setup without remote
Published: 2020-09-25 06:36:58

How to use your <a href="https://myrokucode.com/">Roku device without a remote</a>.
Each Roku player comes with its own remote control. But unlike most of the remotes you use, Roku recommends using WiFi to connect to your players. This means that if you lose your Roku device, you can't watch your shows.
Fortunately, there is a workaround on this. Here's how to use your Roku device without remote control, and how to connect to mobile hotspots.
To use your Roku player without a remote, download the Roku app on your smartphone or tablet. As your Roku player, connect the device to the WiFi network with the app. Then you select the device and tap on the remote icon.
If your Roku device needs to use some methods to work.
Your smartphone must be connected to the WiFi network. If your Roku device was previously connected to a WiFi network, you cannot connect to your smartphone yet. So using Mobile Hotspot, you can connect the app to your Roku player.
Step by step Video Tutorial on How to Create Your First Pull Request
Tags: hacktoberfest, opensource, codenewbie, github
Published: 2020-09-25 06:36:13

Contributing to open-source is great, however, submitting your first pull request to an open-source project can be overwhelming.

Here is a step by step video guide on everything you need to know about creating your first pull request! 💙

## Video ⭐️

{% youtube 0BV1QCl8Az0%}

## Takeaway 🙌

After watching the video, make sure to [sign up for Hacktoberfest](https://hacktoberfest.digitalocean.com) and start hacking!

By participating in Hacktoberfest you will support open-source, and you get the chance to win a limited-edition T-shirt or plant a tree 🌲

## Useful resources 💫

* For more information about Hacktoberfest, make sure to visit the [official Hacktoberfest website](https://hacktoberfest.digitalocean.com)

* If you are a maintainer, make sure to check out this tutorial on [How To Maintain Open-Source Software Projects
](https://www.digitalocean.com/community/tutorials/how-to-maintain-open-source-software-projects)

* Link to the [Tails open-source project](https://devdojo.com/tails)

* [DevDojo and Hacktoberfest](https://devdojo.com/hacktoberfest)

* VS Code extension that I mentioned in the video: https://marketplace.visualstudio.com/items?itemName=heybourn.headwind
How to prepare for a technical interview?
Tags: javascript, node, study, backend
Published: 2020-09-25 06:25:08

#TL;DR
In the previous article, I wrote about the interview itself from the interviewer’s point of view. Now I am offering some resources and tips to the candidate to make it through.

Situation: Technical interview is approaching
Task: Study and practice
Action: Focus on what matters
Result: Ace the interview

**Why?**
First, you need a map to get to the destination. This is what I think could give you a good chance to land a job as a NodeJs developer. 

**What?**
Let’s make a knowledge list
1. Core fundamentals
  * [Closures](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures)
  * [Hoisting](https://developer.mozilla.org/en-US/docs/Glossary/Hoisting)
  * [Event loop](https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/)
2. Asynchronous programming
  * [Callbacks](https://developer.mozilla.org/en-US/docs/Glossary/Callback_function)
  * [Promises](https://pouchdb.com/2015/05/18/we-have-a-problem-with-promises.html)
  * [Async / Await](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Asynchronous/Async_await)
3. Object-oriented programming
  * [Prototype vs. Class](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Details_of_the_Object_Model)
  * [Prototype in JS](https://www.crockford.com/javascript/prototypal.html)
  * [Class in JS](https://www.crockford.com/javascript/inheritance.html)
  * [Inheritance vs Composition](https://rb.gy/axle89)
  * [SOLID](https://rb.gy/jvflpr)
4. Testing
  * Unit testing & TDD
  * Integration
  * Performance
5. Data structures and their time complexity
  * [Map](https://rb.gy/imdshy)
  * [Set](https://rb.gy/xoz9yg)
  * [Array](https://rb.gy/xz5lud)
6. REST API
  * [HATEOAS](https://restfulapi.net/hateoas/)
  * [OpenAPI](https://swagger.io/specification/)
  * [Versioning strategies](https://rb.gy/8p3chl)

**How?**

After study the theory I’d suggest building a REST API project to implement what you study this will also serve as a portfolio. Ask peers and more seniors devs to review your code. 

Get out of your comfort zone. If you know restify try fastify. If you are comfy with mocha & chai try jest.

Go to code challenge platforms and tackle as many problems as you can. It’s worth to mention each of them has different flavors. Solve quizzes.

Listen to podcasts. Personally, I follow [Javascript Jabber](https://rb.gy/lex430) and [Software Engineer Radio](https://rb.gy/isxjcr), for Spanish speakers you have [No es un bug es un podcast](https://rb.gy/dxpu15). Since you have limited time, just search for specific episodes to make the most of it.

Practice the interview! Ask yourself: how do I want to be perceived? Then write down a paragraph to introduce yourself.
Talk to the mirror or even better record yourself answering pre-canned questions. Ask a more senior dev to run a mock interview. 

Then schedule a bunch of interviews as close as you could. In this fashion, you will be familiar and more relaxed.