teleren/devto huggingface dataset:
Quer aprender sobre git e GitHub de uma forma mais divertida?
Tags: github, git
Published: 2022-02-04 17:34:48

Nós sempre assistimos a muitos vídeos e tutoriais e passamos por muita documentação para aprender algum conceito ou qualquer linguagem de programação.

Mas você sabia que é possível aprender git e GitHub de uma maneira mais divertida, como jogar ou visualizar?
SIM! você ouviu direito, jogando!

**Aqui estão alguns dos recursos para aprender git e GitHub de uma maneira mais divertida.**


---

**1) TwilioQuest - "Floresta de código aberto":**

Este é um jogo feito por [Twilio ](https://www.twilio.com/pt-br/), você aprenderá sobre git e GitHub enquanto joga e faz tarefas. Além disso, você ganhará XP após cada tarefa que concluir.

[Link](https://www.twilio.com/quest/learn/open-source)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t1tadbsi34t6jrhz0rts.png)

**2) E não para por ai!:**
  


Ele permite que você visualize as estruturas internas dos repositórios Git em tempo real.
[Link](https://ohmygit.org)



![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bv38krxaakw83b4vj9aj.png)


**3) Aprenda a ramificação do Git:**

Você pode dominar seu conceito de ramificação do git visualizando, jogando e fazendo certas tarefas.

 [Link](https://learngitbranching.js.org/?locale=pt_BR)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kx32gpkojvwo8pchiwuj.png)

**4) Laboratório de aprendizagem do GitHub:**

[O próprio GitHub ](https://github.com/)fornece uma trilha de aprendizado, que aumenta suas habilidades ao concluir projetos divertidos e realistas.
[Link](https://lab.github.com/)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vsi601i45zxqdasg119s.png)

---

Obrigado! 

Qualquer dúvida ou sugestão você pode entrar em contato comigo através do [Instagram](https://www.instagram.com/mateusbmo/)

Bye!
ShoPo ~ Js and Places to learn!
Tags: javascript, beginners
Published: 2022-02-01 05:05:21

```

```
# ShoPo ~ Js and Places to learn!
## Overview

_JavaScript, often abbreviated JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. Over 97% of websites use JavaScript on the client side for web page behavior, often incorporating third-party libraries._ [Wikipedia](https://en.wikipedia.org/wiki/JavaScript)

Javascript is one of the building blocks of the web and is used to add functionalities to your web pages. One of them can be shown just now!

```
<button id="btn">Alert!</button>

<script>
document.getElementById("myBtn").addEventListener("click", function(){
alert("You clicked a button!")
});
</script>
```

Here you can click a button. It would get noticed by js and run a function!

## Places to learn
[w3schools](https://www.w3schools.com/js/default.asp)
[Codecademy](https://www.codecademy.com/)
[YouTube - Programming with Mosh
](https://youtu.be/W6NZfCO5SIk)
[YouTube - freeCodeCamp.org
](https://youtu.be/PkZNo7MFNFg)
Neovim Config for Git
Tags: vim, linux, bash
Published: 2022-02-04 17:23:17

---
canonical_url: https://waylonwalker.com/til/neovim-config-for-git/
published: true
tags:
- vim
- linux
- bash
title: Neovim Config for Git
series: til
---

Creating a minimal config specifically for git commits has made running
`git commit` much more pleasant.  It starts up Much faster, and has all
of the parts of my config that I use while making a git commit.  The one thing that I often use is autocomplete, for things coming from elsewhere in the tmux session.  For this `cmpe-tmux` specifically is super helpful.

The other thing that is engrained into my muscle memory is `jj` for escape.  For that I went agead and added my `settings` and `keymap` with no noticable performance hit.

Here is the config that has taken


~/.config/nvim/init-git.vim

``` vim
source ~/.config/nvim/settings.vim source ~/.config/nvim/keymap.vim source ~/.config/nvim/git-plugins.vim lua require'waylonwalker.cmp'
```

~/.config/nvim/git-plugins.vim

``` vim
call plug#begin('~/.local/share/nvim/plugged')

" cmp
Plug 'hrsh7th/nvim-cmp' Plug 'hrsh7th/cmp-nvim-lsp' Plug 'hrsh7th/cmp-buffer' Plug 'hrsh7th/cmp-path' Plug 'hrsh7th/cmp-calc' Plug 'andersevenrud/compe-tmux', { 'branch': 'cmp' }


call plug#end()
```

~/.gitconfig

``` toml
[core]
    editor = nvim -u ~/.config/nvim/init-git.vim
```
100 days of React
Tags: react, javascript
Published: 2022-02-04 17:22:15

## Introduction

This is my attempt at doing or learning at least one thing in React a day in order to get better at the library and in turn gain satisfaction from it. 100 days of code is something I have always wanted to do. This is also my first blog 😎

## Rules I have set for myself

Here are some rules I have set for myself

- To learn a new concept everyday or implement at least one thing in react.
- I have to post what I have learnt and give a brief explanation
- I know that learning something new is hard, but I have to not give up till I have recorded the 100 days.
- If I find a concept too difficult I will carry it forward to the next day and only document once I have fully understood the topic.
- Lastly, I want to have fun 🥳

## Closing remarks

I am looking forward to this challenge, it is my first time and I hope I can gain as much as possible from it. I am eager to expand my network too, if you think I can improve in any way or would also like to join you are welcome to do so.

<!-- ## My socials -->

<!-- Feel free to reach out to me 😃 -->

## Lets go 🚀
What was your win this week?
Tags: discuss, weeklyretro
Published: 2022-02-04 17:20:18

---
title: What was your win this week?
published: true
description: Got to all your meetings on time? Started a new project? Fixed a tricky bug?
tags: discuss, weeklyretro
cover_image: https://cl.ly/188e843c2985/download/Image%202019-02-15%20at%202.36.37%20PM.png
---

Hey there! 


Looking back on this past week, what was something you were proud of accomplishing?

All wins count — big or small 🎉

Examples of 'wins' include:

- Starting a new project
- Fixing a tricky bug
- Getting a decent screen break ... or whatever else might spark joy ❤️ 

---

Congrats on those wins and happy Friday!

![Blow-up excited character](https://media.giphy.com/media/Ge86XF8AVY1KE/giphy.gif)
Enhacing your applications's front-end performance with lazy loading
Tags: webdev, html, javascript, programming
Published: 2022-02-04 17:14:19

The `<img />` tag, responsible for allowing the inserction of images on your site, sometimes it many saem like a harmless tag to the front-end of the site, but this tag, in most cases, sometimes it may be **responsible for the long loading delay of your apllication.**

## But why this happen?

This happens because the moment someone accesses your page, the browser reads your HTML code and them starts making requests to download the images you are using.

So, the result is that the user stays here, with the page loading, until all the images you use on the page are downloaded.

## But what's the problem with the user waiting for the site to load?

The problem is that in addition to harming SEO, the user does not have much patience to wait for the site to load, that is, the chances of it closing the site before loading is very high.

## Ok, but how to solve this?

One of the best ways to solve this problem is to **allow loading of images is done on demand**, as the user scrolls down the page, the browser will download only the images that the user will see!!

**We call this `lazy loading`**

In this case, if there is a very heavy image (file size) in the footer of the site, and the user does not scroll to the end, that image will never be downloaded!!

## How to add this lazy loading attribute in my applications?

You need to add the **loading** attribute to the `img` tags, like this:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yp8jsjmmtmrnhrutzgqd.png)

After adding this attribute to the image, the browser will only download it when it is close to appearing on the screen, which means that even loading the image on demand, when it comes time for it to appear, it will have already been loaded!!

## Conclusion on using this attribute

We can conclude that with the use of this attribute, in addition to gaining performance in our application, we do not harm the site's SEO and avoid loading all the images on our site at once.
My New Year’s Programming Resolution #2022
Tags: newyearsresolution, developerproductivity, programming
Published: 2022-02-04 17:00:05

---
title: My New Year’s Programming Resolution #2022
published: true
description: 
tags: NewYearsResolution, DeveloperProductivity, programming
canonical_url: https://banhawy.medium.com/my-new-years-programming-resolution-2022-96e0ba07e77c
cover_image: https://images.unsplash.com/photo-1552529220-460eec1fd555?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
---

It’s that time of the year again! Actually I’m late to this and the time should have been at the start of January, but it’s better late than never!

## 2021 Reflections:

It’s funny I have to write this down again because I just did so formally with my manager at work as part of the yearly evaluation. Suffice to say that went well!

Informally speaking now, 2021 was a great year for me. I just spent 1 whole year working as a cloud developer at IBM and it has been everything I had hoped for and more. I was able to hone my existing skills, pickup and master new ones, and make friends along the way.

I achieved almost all of my goals from last years’ programming resolution and more. Those include:

- *Earn a AWS cloud certificate* - I sat my first AWS exam and earned the Developer Associate
- *Become proficient using kubernetes* - luckily I got assigned a project at work where I deal with kubernetes a lot to deploy application. I went from 0 to a very capable kubernetes user in a span of a few months.
- *Do more side projects & update my portfolio* - I managed to complete one freelance project for a small car wash business using React and Firebase. I do need to “update my portfolio” though to showcase that.
- Walk my dogs more often - Happy to report I walked my good boi & girl a lot more this year 🐕‍🦺

I had initially planned to earn an Azure cloud certificate as well, but I decided against it since I don’t really use it at work or personally anymore, unlike AWS which is my to-go cloud platform. 

## **New Year’s Resolution for 2022:**

Following last year’s good progress, I think I have good momentum to achieve even more goals.

Here is my list for 2022:

- **Earn TWO AWS cloud certificates**
- **Write technical blogs more frequently**
- **Launch a simple SaaS webapp on AWS**

These are ambitious goals for me taking into account the huge amounts of time each of these tasks can take. Nevertheless, I will try my best to get it done and come out a more experienced developer by the end of the year.

Here’s to the pursuit of success and error free deployments 🥂🤞
Labyrinthian Possibilities
Tags: java, algorithms, programming, 100daysofcode
Published: 2022-02-04 16:56:27

# Description

You are given an N by M matrix of `0`s and `1`s. Starting from the top left corner, how many ways are there to reach the bottom right corner? Mod the result by `10 ** 9 + 7`.

You can only move right and down. `0` represents an empty space while `1` represents a wall you cannot walk through. The top left corner and bottom right corner will always be `0`.

**Constraints:** 

- `1 ≤ n, m ≤ 250` where `n` and `m` are the number of rows and columns in `matrix`.

## Example 1

### Input

```
matrix = [
    [0, 0, 1],
    [0, 0, 1],
    [1, 0, 0]
]
```

### Output

```
2
```

### **Explanation**

```
There are two ways to get to the bottom right:

Right, down, down, right
Down, right, down, right
```

---

## Example 2

### Input

```
matrix = [
    [0, 0, 0],
    [0, 0, 0],
    [0, 0, 0]
]
```

### Output

```
6
```

### **Explanation**

```
There are 6 ways here:

Right, right, down, down
Down, down, right, right
Right, down, right, down
Down, right, down, right
Right, down, down, right
Down, right, right, down
```

---

## Example 3

### Input

```
matrix = [
    [0, 0, 0],
    [1, 1, 1],
    [0, 0, 0]
]
```

### Output

```
0
```

### **Explanation**

```
There is a wall in the middle preventing us from getting to the bottom right.
```

---

## Example 4

### Input

```
matrix = [
    [0, 0, 0, 0],
    [1, 1, 1, 0],
    [0, 0, 0, 0]
]
```

### Output

```
1
```

## Example 5

### Input

```
matrix = [
    [0, 0, 0, 0, 0],
    [1, 1, 1, 0, 0],
    [0, 0, 0, 0, 0]
]
```

### Output

```
3
```

---

# Intuition

DP[i-1][j-1] means how many different ways to[i][j]

if [i][j] is 1, no way

else dp[i][j] = dp[i-1][j] + dp[i][j-1]

# Implementation

```java
class Solution {
    private final int MOD = (int) (Math.pow(10, 9) + 7);

    public int solve(int[][] matrix) {
        int rows = matrix.length, cols = matrix[0].length;
        int[][] dp = new int[rows][cols];
        dp[0][0] = matrix[0][0] == 0 ? 1 : 0;
        if (dp[0][0] == 0) {
            return 0;
        }
        // first row
        for (int i = 1; i < cols; i++) {
            if (matrix[0][i] == 1) {
                dp[0][i] = 0;
            } else {
                dp[0][i] = dp[0][i - 1];
            }
        }

        // first column
        for (int i = 1; i < rows; i++) {
            if (matrix[i][0] == 1) {
                dp[i][0] = 0;
            } else {
                dp[i][0] = dp[i - 1][0];
            }
        }

        for (int row = 1; row < rows; row++) {
            for (int col = 1; col < cols; col++) {
                if (matrix[row][col] == 1) {
                    dp[row][col] = 0;
                } else {
                    dp[row][col] = (dp[row - 1][col] + dp[row][col - 1]) % MOD;
                }
            }
        }
        return dp[rows - 1][cols - 1];
    }
}
```

## Time Complexity

- Time: O(n)
- Space: O(n)
How to use absolute Imports using React with Ts and Vite
Tags: react, javascript, vite
Published: 2022-02-04 16:54:46

today I am going to talk about How to use absolute Imports using React with Ts and Vite 


as you can see here I am using `...` to find the path of components in order to use them, it looks fine since I do not have deep path.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8psbciavypg4kew6ur3c.png)


to sum up in order to avoid it you can easily use this in your
 `tsconfig.json`

```
"compilerOptions": {
    "baseUrl": "./src",
    "paths": {
      "~/*": ["./*"]
    },
}
```


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bphpoxrpnb0ckcnpc5ik.png)


and after that go to `vite.config.ts`

```
  resolve: {
    alias: {
      '~': path.resolve(__dirname, 'src'),
    },
  },
```

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q4d7sk8ndpgp2m03mw50.png)



and it's done 


Thanks for reading this article and if you have any suggestions you are welcome
Buffer in node.js
Tags: node, javascript, mern, webdev
Published: 2022-02-04 16:54:32

## Buffer Stream and binary data in nodejs

- mechanism for reading or manipulating stream of binary data the buffer class was introduced as part of the Nodejs API to make it possible to interact with ctet stream in the context of things like TCP stream and file system operations
- The buffer class was introduced as part of the Node.js API to make it possible to manipulate or interact with streams of binary data.

- if I want to convert the "L" character into the string "L".charCodeAt(0)-->76
- this can happen because of character sets are already define.
- One of the definition for character encoding is the UTF-8.
- this states that character should be encoded in bytes. a byte is set of eight bits

## Stream of Data :
 

- Stream in Nodejs  means that sequence of data being moved from one point to other point over a time. means that you have a huge amount of data to process.
- if the process is consuming the data faster than it arrives the few data that arrive earlier need to wait for a certain amount of data to arrive before being sent out for processing.
- and that waiting area is called buffer it is small physical location in your computer , usually in the RAM where data are temporally gathered wait and are eventually sent out for the processing during streaming


- In whatever the case may be, there is always a waiting place. That is the Buffer to Node.js! Node.js can’t control the speed or time of data arrival, the speed of the stream. It only can decide when it’s time to send out the data. If it’s not yet time, Node.js will put them in the buffer — the “waiting area” — a small location in the RAM, until it’s time to send them out for processing.



Interacting with buffer


_Happy Coding_
Redirect a Post or URL in WordPress
Tags: webdev, beginners, wordpress, productivity
Published: 2022-02-04 16:42:27

Sometimes, the WordPress redirect plugin won’t pick up on the page redirect you need. Maybe you want your WordPress site to redirect one post to another or you want to redirect a URL on your domain to a different domain.

##Why Not Use Redirects?

When you change the URL of a page, it is sometimes easy to forget to go back and update internal links to point to this new location, especially when you have put redirects in place. These redirects are unnecessary, given that you have full control to repoint internal links.

##Redirect a Post or URL in WordPress

In this case, you’ll need to set up a manual redirect without a plugin in WordPress. I’m going to guide you on how to do it with the [Redirection](https://wordpress.org/plugins/redirection/) plugin. 

After installing the plugin, Go to Tools > Redirection and scroll down to the Add new redirection section.

Ultimately, click the Add Redirect button and your redirect will be executed to the list of redirects.

Want to learn in Details, you may read in details from [Redirect a Post or URL in WordPress
](https://softcodeon.com/wordpress/redirect-a-post-or-url-in-wordpress.htm) here. If you have any question concerned kindly discuss below. Thank you,
DAY-17 : Training at Ryaz
Tags: beginners, html, css, computerscience
Published: 2022-02-04 16:42:13

- DATE: 04/02/2022
- DAY: friday

Today I started at about 10:15 am it was bit early than I start working as my thought was to cover most of the part as I have planned to do but as we know that if we think of doing things in time sometimes things  does not work in same direction. so, when I started working there arise
a sort of problem with my vs-code editor it was basically considering all up my files present on home and I was not able to track my changed file of coding and even not able to push my changes onto git. After various attempts and watching few videos for solution I managed to do it with deleting .git file from home. so this way my start got messed up.then I started working with creation of new components and made links ,lists ,badges components. Today's aim of mine was to build most of component's but due to issue I managed to work  upon less number of component's. At last of my day although it was hectic day but I got to learn many new things.
Day 1: 100 Days of Data Science
Tags: datascience, python, r, 100daysofcode
Published: 2022-02-04 16:38:45

---
title: Day 1: 100 Days of Data Science
published: true
description: 
tags: #datascience, #python, #R, #100daysofcode
cover_image: https://cmdlinetips.com/wp-content/uploads/2018/04/ggplot2_boxplot_with_jitter.jpg
---

## Starting Today
I am launching my own 100 days of Data Science. I love statistics and playing with numbers and after 15 years as a Biochemist in Biotechnology, I want to learn ALL about Data Science. ;) 

When I worked in one lab, we had a *can-do* saying I try to emulate. 

>**See one, Do one, then Teach one.**

I'm interested in finding a group of "*Scientists*" who are willing to **Learn, Practice, and Teach** what they have learned.

I will be working with the software [R-cran](https://cran.r-project.org), [RStudio](https://www.rstudio.com), [Anaconda-Python](https://www.anaconda.com/products/individual), Ipython Notebooks, SQL and even dabbling with the [Julia](https://julialang.org). I have been using VS Code for Markdown editing, and I am looking forward to using it with Python.

**To start, I have several personal resources that I want to share.** 

1. [D.S. Learning Resource](https://github.com/mccurcio/mcc-ds-material)
2. [Getting Started with Anaconda Python](https://bit.ly/3rnIQjQ)

### Join me,
### Matt
International Job Search Handbook
Tags: relocation, career, jobsearch
Published: 2022-02-04 16:22:09

Relocation to a foreign country for work can be very exciting and lead to unique opportunities that couldn't be accessed in your home country. At the same time, it's a real challenge – I know it firsthand. You mind becomes inundated with questions:

- How to prepare a resume?
- Where to find companies that hire foreign talent?
- What relocation assistance is typically provided?
- How to get a work visa?
- And the list goes on!

That's what inspired me to start a [public repository on GitHub](https://github.com/AndrewStetsenko/tech-jobs-with-relocation) with useful reading material, resources, and tools for an international tech job search.


Any suggestions regarding the content? What tools/websites/articles/blog posts are worth adding to the existing list?

_PS: If you love the idea, please give the repo some ⭐ stars. It will be a great motivation for me to continue to enrich it. Thanks!_
Let's talk about Quota and Cost based Quota of an API
Tags: api
Published: 2022-02-04 16:21:22

## What is a an API in short and simple terms?
Application Programming Interface (APIs) are messengers which take requests from the user and give them to the system, they then take the response generated by the system and deliver it back to the user.
[For more info click me](https://en.wikipedia.org/wiki/API)

## Quota
_API Quota means the number of requests an user is allowed to make over a period of time._
**Why we need Quota's?**
APIs run on servers and servers can only respond to a limited number of requests in a given time. To make sure that everyone can use the API service the creator of an API need to set a limit to how many requests an API user makes. Normally the limit can be from per minute to per day.
`Here is an example of Google's Calendar API`
![APIs quota](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tqjgkmqvejjyn2xlmkb9.png)

       
##Cost Based Quota
Before you start to think that the cost may be related to money you would be happy to hear that it is not.
For understanding cost-based quota you need to consider quota as points allotted to a user.
In cost-based quota systems each request you make against an API costs you some points, these points are then subtracted from your daily quota limit. There are different resource methods and each method has a cost associated with it.

**Google's Youtube API**
Google's Youtube API is the best example of Cost Based Quota system. 
Here is the daily quota limit for YouTube Data API v3
![Youtube data API](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rrkk0g4ep12dnp8913ku.png)
Costs for different resource methods:
A read operation that retrieves a list of resources(channels, videos, playlists) usually costs 1 unit.
A write operation that creates, updates, or deletes a resource usually has costs 50 units.
A search request costs 100 units.
A video upload costs 1600 units.


I hope you got it🙃,Thanks for reading.