teleren/devto huggingface dataset:
Hacktoberfest Conclusion
Tags: opensource, beginners, programming
Published: 2022-10-31 23:18:03

To recap, for the month of October, our class participated in [Hacktoberfest](https://hacktoberfest.com/). This was my absolute first time contributing in open-source projects.

Admittedly, I was extremely nervous and stressed going into this month. I had no idea what to expect in terms of project difficulty, how responsive repo maintainers are, and what the open-source community is like. 

To be honest, it also took me quite a long time to find issues/ projects that I found interesting. I was scouring the recommended sites such as [Awesome for Beginners](https://github.com/MunGell/awesome-for-beginners), and [Up for Grabs](https://up-for-grabs.net/#/), and also just going through Repos/ Issues marked with the "Hacktoberfest" label. 

Eventually, for my first Issue, I came across the [Video Hub App repo](https://github.com/whyboris/Video-Hub-App). Where I was able to work with technologies such as TypeScript and Electron, which I knew very little about. It took a little while, but I was able to successfully complete a feature that allowed users to filter out specific folders. This was a great experience because I was able to see how professional projects are organized, and the maintainer was very responsive. 

After this I really hit the ball rolling and was able to find more issues to work on. One thing that I enjoyed was that all of my PRs were drastically different from each other. I worked on correcting documentation for [AdonisJS](https://adonisjs.com/), fixed a HTTP Content-Type Header bug in [tiny-http](https://tinyhttp.v1rtl.site/), and then finally even created a [short script](https://github.com/naveennamani/offline-docs) for users to load up their own local version of the Electron documentation site.  

I think I can confidently say I learned more about open source and Git/ Github in the last month, than I have in the past 16 months that I have spent in this program. Creating branches for issues, submitting pull requests, merging, and rebasing branches were all very new to me, and I am so happy that I enrolled in this course before I graduated!
Final Hacktoberfest PR
Tags: hacktoberfest, opensource
Published: 2022-10-31 22:57:19

For my last Hacktoberfest PR, I was actually reached out to by [a repo maintainer on my previous blog post](https://dev.to/naveennamani/comment/2275g).

Basically, this project aims to essentially allow people to create local documentation sites for various popular frameworks/ libraries. Essentially the project acts as a repository of scripts that users can copy and paste to create a fully functioning static site of their documentation (sort of related to our course project where we are developing a static site generator).

Naveen (the project maintainer), saw that I had gained some experience using Electron from working on the Video Hub App, and asked if I'd like to contribute a script to get a local version of the [Electron documentation.](https://www.electronjs.org/docs/latest)

I thought this would be a nice way for me to get familiar with how documentation sites are built. I immediately learned that Electron's documentation site was built using Docusaurus (which we'd later end up learning about in our course). 

I was able to learn how to built up a local copy of the site with just a small script, and was succesfully able to contribute to the repo!

Issue: https://github.com/naveennamani/offline-docs/issues/2

PR: https://github.com/naveennamani/offline-docs/pull/14
Migrate an Amazon Machine Image(AMI) from one region to another region
Published: 2022-10-31 22:55:17


![running-instance](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fqqu5mfizy41fa2z7s8w.png)
An AMI is a template that contains the software configuration (operating system, application server, and applications) required to launch your instance. 

From the console, chose the instance you want to copy

![Instance](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ioui2akyqn86tj2xj63l.png)

Let create an image from our instance

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


We will use our existing volume, there is no need for an additional one


![volume image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/71navysqb2g3dr8pkg76.png)

Click on create image.

Click on image to view your AMI

![AMI](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a95o1e6otqnwwu0ug0kq.png)

Let copy our AMI to our desired destination region

![copyAMI](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8foyrbl75xvz2kuq5cm0.png)

Let pick our new region

![Image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k2972cofnhcrrp8j7r6v.png)
Click on copy AMI
![DestinationRegion](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/is0oe9nrvwpul3eiux5x.png)

Let lunch our newly copied instance, fill the details and create our instance.


![Londonregion](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qolijhf9pij5jcen4t2m.png)

Our instance is now running in London region.

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

You can terminate the old instance if you don't need it.

![terminateinstance](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x242closbrxr61603sg3.png)
Diferença entre operadores ?, ?? e || no JavaScript / TypeScript
Tags: braziliandevs, javascript, typescript, beginners
Published: 2022-10-31 22:29:51

## ?
`?` -> **Optional Chaining Operator**.
Permite a leitura do valor de uma propriedade localizada internamente em uma cadeia de objetos conectados, sem que a validação de cada referência da cadeia seja expressivamente realizada.

O operador `?.` funciona de maneira similar ao operador `.` de encadeamento, exceto que, ao invés de causar um erro se a referência é [nullish](https://developer.mozilla.org/en-US/docs/Glossary/Nullish) (`null` ou `undefined`), a expressão sofre um "curto-circuito" e retorna com um valor de `undefined`. Quando utilizado com uma chamada de função, retorna `undefined` se a função executada não existir.

Isso resulta em expressões mais curtas e simples ao acessar propriedades encadeadas quando a possibilidade de uma referência ser inexistente. Isso também pode auxiliar ao explorar o conteúdo de um objeto quando não existe garantia da existência de determinadas propriedades obrigatórias.

**Exemplo**
```js
const user = {
  id: 13,
  name: "Thayto"
};

console.log(user?.name); // John
console.log(user?.fullName); // undefined, aplicação não vai quebrar.
console.log(user.fullName); // TypeError: Cannot read property ‘fullName’ of undefined, aplicação quebra.
```

## ??
`??` -> **Nullish Coalescing Operator**. 
É um operador lógico que retorna o seu operando do lado direito quando o seu operador do lado esquerdo é `null` ou `undefined`. Caso contrário, ele retorna o seu operando do lado esquerdo.

**Exemplo**
```js
console.log(13 ?? "não encontrado") // 13
console.log(0  ?? "não encontrado") // 0

console.log("Dri"  ?? "não encontrado") // "Dri"
console.log(""     ?? "não encontrado") // ""

console.log(true  ?? "não encontrado") // true
console.log(false ?? "não encontrado") // false

console.log(undefined ?? "não encontrado") // "não encontrado"
console.log(null      ?? "não encontrado") // "não encontrado"
```

## ||
`||` é o **Logical OR Operator**
A expressão Logical OR é avaliada da esquerda para a direita, é testada para possível avaliação de "curto-circuito" usando a seguinte regra:

`(alguma truthy expression) || expr` é avaliado em curto-circuito para a expressão verdadeira.

Curto-circuito significa que a parte `expr` acima não é avaliada, portanto, quaisquer efeitos colaterais de fazê-lo não têm efeito (por exemplo, se `expr` é uma chamada de função, a chamada nunca ocorre). Isso acontece porque o valor do operador já é determinado após a avaliação do primeiro operando.

**Exemplo**
```js
console.log(13 || "não encontrado") // 13
console.log(0  || "não encontrado") // "não encontrado"

console.log("Dri"  || "não encontrado") // "Dri"
console.log(""     || "não encontrado") // "não encontrado"

console.log(true  || "não encontrado") // true
console.log(false || "não encontrado") // "não encontrado"

console.log(undefined || "não encontrado") // "não encontrado"
console.log(null      || "não encontrado") // "não encontrado"
```

_Originalmente postado em [https://thayto.com](https://thayto.com/blog/diferenca-entre-operadores-js-ts) dia 31 de outubro de 2022._
My Hacktoberfest 2022 Experience
Tags: webdev, opensource, hacktoberfest
Published: 2022-10-31 22:08:23

We all know October is the spooky month. What's scarier than [programmer's block](https://www.freecodecamp.org/news/how-to-beat-coders-block-and-stay-productive/), or stagnation?

[Hacktoberfest](https://hacktoberfest.com/) was one of the most rewarding events of my post-bootcamp journey, and the solution to this problem for me. I found out about it the last week of September from the Flatiron School career services emails, and immediately signed up. It really came at the right time. I mean, I'm biased in favor of anything October related because it's my birthday month, but also I was feeling a bit stagnant in my personal projects. 

Software engineering is obviously not an individual sport. One of the most important aspects of any good bootcamp or 4-year program is collaboration -- from issues such as version control to the soft skills of leadership and accepting feedback. After you graduate, that structure is gone, but these skills are invaluable to maintain for your career and personal development. So I felt tired of simply working on my personal projects, and was ready to jump into the field of open-source collaboration.

For a beginner, open-source collaboration can be somewhat daunting. There thousands of open-source projects, and many are rarely updated or poorly maintained, with sad, lonely pull requests lying fallow for months. I've been overwhelmed when I was more of a beginner. That's why Hacktoberfest was such a valuable resource. I spent a lot of time in the event's Discord server, where Github maintainers posted links to their projects that needed help. Some were in my wheelhouse (React, Javascript) and some weren't -- but I still checked out the ones that sounded interesting or active regardless of language. 

I had some TypeScript knowledge before this project, but looking at codebases that used TypeScript really helped me see how the language was implemented and understand the benefits that its evangelists talked about. Now I feel like I have the confidence to use it for any larger scale personal project I take on. 

As someone who still has not gotten my first software engineering role, working on open-source projects is probably the closest I've gotten. It teaches you all the skills I've mentioned, plus the idiosyncrasies and rules of each individual project. I also believe strongly in the ethos and values of the open-source world, and just being a tiny part of it felt meaningful. 

I highly recommend the Hackathon experience to any open-source beginner, even if you're like me and missed out on the free T-shirts.
Test your SSH-based Git auth
Tags: tutorial, git
Published: 2022-10-31 22:22:34

A small trick I've always used but I realized it might not be a well-known thing.

It is possible to test your authentication against a Git service over SSH with a very simple command:

```sh
ssh -T git@your-git-service.com
```

That's it. Pretty simple, right!? I do it all the time, to test if my SSH key is properly configured on a given Git service (GitHub, Gitea, sourcehut, etc.)

I'll put here some examples for popular Git services, so you can test it easily:

## GitHub

```
$ ssh -T git@github.com
Hi joeljuca! You've successfully authenticated, but GitHub does not provide shell access.
```

## GitLab

```
ssh -T git@gitlab.com
Welcome to GitLab, @joeljuca!
```

## Bitbucket

```
ssh -T git@bitbucket.org
authenticated via ssh key.

You can use git to connect to Bitbucket. Shell access is disabled
```

## Gitea

```
ssh -T git@gitea.com
Hi there, joeljuca! You've successfully authenticated with the key named [key name here], but Gitea does not provide shell access.
If this is unexpected, please log in with password and setup Gitea under another user.
```

## sourcehut

```
ssh -T git@git.sr.ht
Hi joeljuca! You've successfully authenticated, but I do not provide an interactive shell. Bye!
```

That's it :) just a small Git/SSH trick for today. I hope it saves you some seconds when you're about to test your SSH-based Git authentication again!

> Pro-tip: you can use the verbose mode to look way more hackish if you're testing the authentication in front of your girlfriend. 😂 Try running `ssh -Tv` instead of `ssh -T`. 😉
Tigris - a better alternative to MongoDB for MEAN stack applications 🧵👇
Tags: mongodb, javascript, opensource, webdev
Published: 2022-10-31 22:21:55


Tigris is an open source, ACID-transaction serverless document store that brings a modern Ops-free developer experience for database users. Here is a fork of MongoDB's mean-stack-example that uses Tigris instead of MongoDB: https://github.com/tigrisdata/mean-stack-example

Tigris differentiates itself from MongoDB Atlas in the following ways:

✅ Provides automated data indexing, which removes the need for DBA operations and means all the queries are always fast (no infra setup or configuration needed)

✅ Tigris provides the ability to perform ES-like powerful real time search automatically across all the data (no infra setup or configuration required)

✅ Tigris provides a native HTTP interface that makes it work well with serverless applications where traditional #databases suffer from connection-related issues.

✅ Tigris was built to be truly serverless. Storage, compute, and data indexing are all built as separate layers which can be scaled independently (high-level architecture here https://docs.tigrisdata.com/overview/architecture).

![](https://miro.medium.com/max/1400/1*nzmTUCcHXjzO08xIcwClNw.jpeg)

Note: MongoDB Atlas has rebranded itself to be serverless, but unless they rearchitect themselves the way we have, they are not really serverless.

✅ With Tigris, you never have to leave your code, no ops to perform on your database. All the interactions happen in code, your data models are automatically converted to databases and collections, and your changes to the schema are automatically reflected in the database.

✅ This means your dev workflow can be simplified to (1) define data models (2) implement application logic and (3) push the code to production. All the database changes (creation, modification) get taken care of automatically— no need to manually execute queries or click buttons

See a short video here: 
{% embed https://youtu.be/jOIejFvGtD0 %}

✅ Tigris provides a local development environment that can run the entire platform in a single container, so you can develop locally and be sure that your code behaves the same way in production.

✅ Tigris is entirely open source with an #Apache2 license (GitHub repo https://github.com/tigrisdata/tigris).

Check out the docs to learn more: https://docs.tigrisdata.com/
Day 647 : Birthday
Tags: hiphop, code, coding, lifelongdev
Published: 2022-10-31 22:17:04

_liner notes_:
- Saturday : Pretty much the same as every other Saturday (which is good!) but I went to the post office to mail off a package. Then did the radio show. After the radio show, I watched more of a WebXR course. It was a good day. The recording of this week's show is at https://kNOwBETTERHIPHOP.com

![Radio show episode image of Michael Jackson's "Thriller" album cover with him in a white suit sitting on his side with the words October 29th 2022 $44 Billion](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1unno3t8sr5hl7umjxq7.jpg)

- Sunday : Did my Sunday study sessions, https://untilit.works, and got some stuff done. I built a demo application that renders makes a call to an API and then passes the info into a Web Component and then it renders it on the server and just send HTML and CSS to the page. No JavaScript and it loads really fast! Also read up more on some WebXR stuff. Started filling out my mail-in ballot. Ended the night watch "The Walking Dead". Not a bad birthday.

- Professional : Got up early so I could finish up my ballot so I could get it mailed out. Then had some meetings and worked on a demo application.

- Personal : The Server Side Rendered Web Component stuff is pretty cool. There's some more steps I want to take to really get it to where I want for my next side project. The WebXR stuff is really opening up my mind on all the stuff involved. Looking forward to diving in more.

![A green lush field full of trees and white dandelions surrounding a misty lake in Lake Inesa, Latvia ](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0lu80m39krq6zdcwdckb.png)

Will probably do some more work on WebXR and SSR Web Components. Still haven't watched "Mob Psycho 100" yet. Also saw that there's a new "The Simpsons" where they parody "Death Note" and it looks like "The Boondocks" type of art style. Pretty dope!

Have a great night!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube RcVZfJO01NI %}
Provision Amazon EKS cluster with EKSCTL
Tags: awscommunitybuilder, aws, eks
Published: 2022-10-31 21:57:36

In this article, we are going to spain up an eks with Ngnix deploy.
install [eksctl](https://docs.aws.amazon.com/eks/latest/userguide/eksctl.html)

Log on to AWS Console. Click on IAM, then Roles, and click Create Role.

install AWS [cli ](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

Confirm your version 
aws --version

Install [kubectl](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html) on Linux 
Kubernetes 1.23
curl -o kubectl https://s3.us-west-2.amazonaws.com/amazon-eks/1.23.7/2022-06-29/bin/linux/amd64/kubectl
Give execute command to the binary
chmod +x ./kubectl
Copy the binary to a folder in your PATH
mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$PATH:$HOME/bin
Confirm your version 
kubectl version --short --client

Install [eskctl](https://docs.aws.amazon.com/eks/latest/userguide/eksctl.html)
curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp

Move the extracted binary to /usr/local/bin.

sudo mv /tmp/eksctl /usr/local/bin
Confirm your installation version
eksctl version

Set up your permission
We will be setting up our I AM permission

Create your Amazon EKS cluster and nodes
eksctl create cluster --version=1.23 --name=K8cluster --nodes=3 --managed --region=us-east-1 --node-type t3.medium --asg-access

N.B Creating of cluster take up to 15mins, once this is successfully created you will see the below
[✓]  EKS cluster "my-cluster" in "region-code" region is ready
Adding a Code Formatter and a Linter to my SSG
Published: 2022-10-31 21:45:25

This week I for my Static Site Generator I added tools to make sure that Pull requests are formatted with my standards of code.

[e22e997](https://github.com/P-DR0ZD/pdrozd-ssg/commit/e22e9975cec9364a227ba1f5b6bd2fd18fe76e34)

# Code Formatter

For the code Formatter i used [black](https://pypi.org/project/black/) because I'm using a python Program. with that i also needed to install [poetry](https://python-poetry.org/). Poetry builds .toml files which python can use to install dependencies like the markdown formatter i added. Instead of adding the files to my code directly i now use the installation script that is inside the .toml file.

With poetry installed i can use black to format one file or an entire directory. Afterwards I integrated it inside of vscode so anyone who has built the project and has black installed can automatically format the code anytime they save.

# Code Linter

For the code linter i used [Flake8](https://flake8.pycqa.org/en/latest/index.html). I added this to my dependencies so it would allow developers to check for small errors inside of the code. After i needed to add a .flake file so it had my configurations.
How to write Mathematical Expressions in DEV.to Articles?
Tags: math
Published: 2022-10-31 21:44:03

Learn how to write math expressions in DEV.to articles

In order to write inline equations, use:

```
{% katex inline %} 
  c^2 = a^2 + b^2}
{% endkatex %}
```

**Output**:

Pythagorean Theorem: {% katex inline %} c^2 = a^2 + b^2 {% endkatex %}

---

For block expressions:

```
{% katex %}
 c^2 = a^2 + b^2
{% endkatex %}
```

**Output**:

Pythagorean Theorem:

{% katex %}
 {c^2 = a^2 + b^2}
{% endkatex %}

Read more about Editor Guide [here](https://dev.to/p/editor_guide)
Exibindo a Porção Inteira de um Valor em Python
Tags: python, beginners, tutorial, braziliandevs
Published: 2022-10-31 21:30:07

Podemos verificar a parte inteira de um número real, uma das maneiras é usar o método `trunc()` que existe na biblioteca `math`.

Para isso, vamos importar o método:

```py
from math import trunc
```
Em seguida, lemos um número real e exibimos na tela seu valor truncado, ou seja, sua parte inteira:

```py
n = float(input('Número real: '))

print(f'Parte inteira: {trunc(n)}')
```
Uma outra forma é, simplesmente, usar a função `int()` para exibir o valor em sua forma inteira.

```py
print(f'Parte inteira: {int(n)}')
```
[Upcoming webinar] Improving DevOps Team Performance using DORA Metrics with GitHub
Tags: webinar, devops, performance, github
Published: 2022-10-31 21:26:47

Hey devs!

DevOps teams knows the importance of implementing metrics and understand the team's performance. If you are seeking to learn how to implement a good strategy in your processes to increase the performance of your team, you cannot miss this webinar!

[Justin Malcolm](https://www.linkedin.com/in/jom/) will talk about the usage of DORA metrics along with GitHub to enhance the performance of DevOps teams. Here's the synopsis of this webinar:

> The DevOps Research and Assessment (DORA) has been surveying the DevOps industry for several years and, in their annual State of DevOps report, outlined key metrics known as the DORA Metrics. 
> To effectively assess your organization's software delivery's velocity, quality and reliability, DORA metrics can be the guiding light for teams aiming for high performance.
> CTO.ai supports its customers in measuring and collecting DORA metrics using the platform’s Insights dashboard, which allows teams to quickly get started using their current GitHub organization and existing Cloud processes.

In this webinar, we'll review:

- What are DORA metrics, and why should you use them
- Benefits of measuring team delivery performance
- Getting started with DORA Metrics on CTO.ai
- Q&A

The duration is 45 minutes + Q&A, and **it's happening this week (November 3rd) at 3 PM EST.**

You can [subscribe here!](https://cto-ai.zoom.us/webinar/register/WN_xjEWOpwWSmGMCH3UXPt5ww?utm_content=226313806&utm_medium=social&utm_source=linkedin&hss_channel=lcp-18278566)

Let's meet there :)