teleren/devto huggingface dataset:
Parse RTCM 3.x correction data from serial input
Tags: rtcm, serial, python, gpsrtk
Published: 2022-09-20 21:20:25

This article illustrates how to parse the RTCM 3.x correction data from serial port input of your GPS base station module.

#### Prerequisites

- Have RTCM 3.x correction data streamed correctly from some serial port of your GPS module
- Have python3 and pip3 installed
- CLI

#### Getting started

First, you want to know which ports are used by your GPS base module. Run this code (The resource was found [here](https://stackoverflow.com/questions/12090503/listing-available-com-ports-with-python)).

> Run `python3 NAME_OF_CODE_1.py`

```python
import sys
import glob
import serial


def serial_ports():
    """ Lists serial port names

        :raises EnvironmentError:
            On unsupported or unknown platforms
        :returns:
            A list of the serial ports available on the system
    """
    if sys.platform.startswith('win'):
        ports = ['COM%s' % (i + 1) for i in range(256)]
    elif sys.platform.startswith('linux') or sys.platform.startswith('cygwin'):
        # this excludes your current terminal "/dev/tty"
        ports = glob.glob('/dev/tty[A-Za-z]*')
    elif sys.platform.startswith('darwin'):
        ports = glob.glob('/dev/tty.*')
    else:
        raise EnvironmentError('Unsupported platform')

    result = []
    for port in ports:
        try:
            s = serial.Serial(port)
            s.close()
            result.append(port)
        except (OSError, serial.SerialException):
            pass
    return result


if __name__ == '__main__':
    print(serial_ports())
```

Then, time to parse the streaming RTCM correction data:
(resource code from [here](https://github.com/semuconsulting/pyrtcm)).

> Run `python3 NAME_OF_CODE_2.py`

> Should update the serial port name and the baud rate of your application
```python
from serial import Serial
from pyrtcm import RTCMReader

stream = Serial('/dev/ttyS10', 921600, timeout=3)
rtr = RTCMReader(stream)

for (raw_data, parsed_data) in rtr: print(parsed_data)
```

#### part of the results

> You can print either raw data or parsed data


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zyu8kikrxqjpyrrzv1r0.PNG)
### References

https://stackoverflow.com/questions/12090503/listing-available-com-ports-with-python

https://github.com/semuconsulting/pyrtcm
Débuter avec Angular 14: #4 La programmation declarative
Tags: angular, typescript, javascript, frontend
Published: 2022-09-20 21:03:52

---
title: Débuter avec Angular 14: #4 La programmation declarative
published: true
description: Difference entre une vieille 206 et une Audi A8 d'aujourd'hui
tags: angular, typescript, javascript, frontend
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
---

En partant de principe que tu es déjà monté dans une vieille 206 puis une nouvelles BMW, Audi, Mercedes...etc...

Quelle est la chose qui t'as marqué ? Ne me réponds pas, on s'en fout 😂... (faut rigoler)

Bon pour le sudiste que je suis (bien plus sudiste qu'un Corse 🇩🇿) ce fut la clim.

## La clim dans les vieilles bagnoles

Imagine que tu es en Algérie à Bejaia, ma merveilleuse ville de naissance. Il fait 40 degrés en ce mois d'Aout, tu es en voitures et tu decides que la temperature idéale c'est 25.

Voici ta clim, comment fais-tu ?

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

Tu tournes tous les boutons dans tous les sens, puis tu attends jusqu'à ce qu'il fasse plutot frais, puis assez-frais, parfaitement frais... oups trop frais, tu tournes à nouveau deux trois boutons, et puis l'histoire se repete.


Maintenant, in-chat-là (comme disent les jeune) tu as une Audi A3, comment fais-tu ?

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

Bah voilà, tu mets 25 degrés et t'attends. La voiture fait le reste. 🚗

Ceci mesdames et messieurs est LA difference entre la programmation Imperative et Declarative.

### Programmation Imperative
J'ai l'idée d'un résultat: 25 degrès / la page affiche "Bonjour"

J'essaye de faire en sorte de ressentir/voir ce résultat: 
Je bouge mes boutons / Je fais des querySelector à tout va pour modifier le DOM (Representation de mon HTML)

### Programmation Declarative
J'ai l'idée d'un résultat: 25 degrès / la page affiche "Bonjour"

Je parametre la clim à 25, je laisse la laisse de demerder pour mettre plus/moins fort et tout le tatoin.
Je fait un data binding en disant `<h1>{{ title }} </h1>`, et ma page affichera toujours le title, et s'il change, elle se met à jour.

Voilà la magie des frameworks modernes tels que Angular, React, Vue, Svelte ...etc..
Fontawesome & Bootstrap Configurations in Angular
Tags: fontawesome, bootstrap, angular
Published: 2022-09-20 20:34:13

### Add dependencies in package.json

```
npm install --save bootstrap
npm install --save @fortawesome/fontawesome-free
```

### Update angular.json file

```
"build": {
         ...
          "options": {
            ...
            "styles": [
              "node_modules/@fortawesome/fontawesome-free/css/all.min.css",
              "node_modules/bootstrap/dist/css/bootstrap.min.css",
              "src/styles.css"
            ],
            "scripts": [
              "node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"
            ]
          },
```
Don't Become A Code Monkey!
Tags: career, programming, teamhealth
Published: 2022-09-20 20:17:51

When starting a software project it can be easy to jump in headfirst without a plan. We at Asurion are here to give you some of our advice on how to avoid some of the pitfalls developers can fall into in their project structure. We discuss technical ideas, how to avoid burnout, and the importance of team health.

This podcast episode features four Asurion developers:
Manju Bellamkonda
Grace Harders - A software engineer with a passion for frontend development, developer health, and creativity. You can find her personal developer blog at dev.to/grace_harders
Luis Santiago - A Software Engineer at Asurion. Always eager to learn.. You can find his YouTube channel here: www.youtube.com/channel/UCMTu...
Robert Tate - A Software Engineer at Asurion. Also a big fan of D&D. You can find his personal blog at dev.to/roberttate.

You can follow Developers at Asurion at this dev.to link: dev.to/devsatasurion.
What is use of Recycle Bin in AWS EBS Snapshots ?.
Tags: aws, cloud, beginners, devops
Published: 2022-09-20 20:12:36

You can restore accidentally deleted Amazon EBS snapshots with the `Recycle Bin` feature. If your resources are deleted, they are retained in the Recycle Bin for a time period that you specify before being permanently deleted.

You can restore a resource from the recycle bin at any time. If you restore a resource from the Recycle Bin, it will be removed from the Recycle Bin and you can use it the same way you use any other resource in your account. The resource is deleted from the recycle bin if the retention period is not renewed.

Using Recycle Bin helps to make sure `business continuity` via defending your business-critical facts in opposition to unintentional deletion.


## Working of Recycle Bin

In order to use Recycle Bin, you have to create `retention rules` in the regions where you want to protect your resources. Retention rules can be found here.

1. You want to protect the resource type. 
2. When resources are deleted, you want to keep them in the recycle bin.
3. Resources can be retained in the recycle bin before they are deleted.

There are `two types` of retention rules with Recycle Bin.

## Tag-level retention rules

`Resource tags` are used to identify resources that will be retained in the recycle bin. You specify one or more tag key and value pairs for each retention rule. Resources of the specified type that are tagged with at least one of the tag key and value pairs are automatically retained in the recycle bin. If you want to protect specific resources in your account, use this type of retention rule.

## Region-level retention rules

Resource tags are not specified in a Region-level retention rule. Even if the resources are not tagged, it applies to all of them. If you want to protect resources in a specific region, use this type of retention rule.

The resource remains in the Recycle Bin till one of the following happens:

- You restore it manually. When you restore a resource from the Recycle Bin, it is immediately available for use. You can use restored resources the same way as other resources in your account.
- The retention period is over. The resource can no longer be viewed or restored if the retention period is over.

Resource types supported by Recycle Bin are 

- Amazon EBS snapshots
- Amazon EBS-backed Amazon Machine Images (AMIs)

## Pricing

The Recycle Bin has resources billed at their standard rates. There are no charges for using recycle bin and retention rules.



Gratitude for perusing my article till the end. I hope you realized something unique today. If you enjoyed this article then please share it with your buddies and if you have suggestions or thoughts to share with me then please write in the comment box.

Follow me and share your thoughts,
[GitHub](https://github.com/MakendranG)
[LinkedIn](https://www.linkedin.com/in/makendran/)
[Twitter](https://twitter.com/MakendranG)
Hacktoberfest 2022 is coming !
Tags: hacktoberfest, opensource
Published: 2022-09-20 20:03:03

It's September 20th, and in 10 days **Hacktoberfest 2022** will be here ! 🎉

## What is the date ?
From October 1st → October 31st.

## Who can join this event ?
Contributors, maintainers, companies and event organizers !

## How I can participate ?
From October 1st to October 31st, you will have to **contribute to the Open Source** by **making 4 Pull requests** (available on GitHub and GitLab). You will be able to follow your progress on the dashboard, which will be available on the [Hacktoberfest website](https://hacktoberfest.com/).

More information on the website at [participation/#contributors](https://hacktoberfest.com/participation/#contributors)

___

Last year I did the [same type of post](https://dev.to/thomasbnt/hacktoberfest-2021-is-coming-20f0). 

✨ This time, I'm also **asking you what projects you have that need contributors**. Feel free to put your repositories in comments using the embed format :
 
```json
{% embed https://dev.to/thomasbnt/hacktoberfest-2021-is-coming-20f0 %}
```

___

- [Resources for beginners](https://hacktoberfest.com/participation/#beginner-resources)
- [Pull/Merge request details](https://hacktoberfest.com/participation/#pr-mr-details)
- [Maintainers](https://hacktoberfest.com/participation/#maintainers)

### 💚 **Open Source**
Best Free Courses to Learn WebDev for Beginners
Tags: javascript, webdev, svelte, typescript
Published: 2022-09-20 19:57:29

If you are interested in learning web development and looking for some awesome resources online, then this post is for you.


There are so many tutorials available, it can be hard to choose which one is 'best'. I'm usually interested in doing a real project, lots of live coding, and very clear instructions. This is because when I'm trying to code, I tend to need to pause or rewind the video. 

Below are some of my personal favorites:

1) [Build a REST API with Node.js, Express, TypeScript, and MongoDB](https://www.youtube.com/watch?v=BWUi6BS9T5Y&t=0s)

2)[Freecodecamp MERN stack tutorial](https://www.youtube.com/watch?v=mrHNSanmqQ4)

3) [Build a Tindr Clone Full Stack Application with NodeJS and React](https://www.youtube.com/watch?v=Q70IMS-Qnjk)

4) [Youtube - Learn the MERN Stack in 60 Minutes](https://www.youtube.com/watch?v=-0exw-9YJBo)

5) [Build a Fullstack SvelteKit ToDo App with TailWind CSS and MongoDB](https://www.youtube.com/watch?v=P6gEnVlJPOc)

6) [Serverless Vercel Svelte Project](https://www.youtube.com/watch?v=5hvhKgkRzIs)

These should be more than enough to get you started, let me know your favorite courses in the comments!



Photo by <a href="https://unsplash.com/@shimikumi32?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Kumiko SHIMIZU</a> on <a href="https://unsplash.com/s/photos/green-leaves?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
Poetry & setuptools trouble fix
Tags: poetry, python, pyproject
Published: 2022-09-20 19:49:22

If you encounter a problem similar to this:
```bash
from pkg_resources import iter_entry_points
ModuleNotFoundError: No module named 'pkg_resources'
```
However, there is a chance that you are using poetry and your lock file has a setuptools dependency. And yet, when you install your dependencies, setuptools is missing somewhere. So how do you fix this?
Very simple, but a bit counterintuitive. Simply change your build-system as follows.
```toml
...
[build-system]
requires = ["setuptools", "poetry_core>=1.0"]
...
```
Top 7 Featured DEV Posts from the Past Week
Tags: top7
Published: 2022-09-20 19:48:44

---
title: Top 7 Featured DEV Posts from the Past Week
published: true
description: A round up of the most-read and most-loved contributions from the community this past week
tags: icymi 
cover_image: https://thepracticaldev.s3.amazonaws.com/i/sfwcvweirpf2qka2lg2b.png
---

_Every Tuesday we round up the previous week's top posts based on traffic, engagement, and a hint of editorial curation. The typical week starts on Monday and ends on Sunday, but don't worry, we take into account posts that are published later in the week._ 

## Daily Git Commands

Here are some of the Git commands that @wadecodez finds useful in day-to-day work. Knowing these commands can save you a lot of time, so it’s worth putting them to memory!

{% embed https://dev.to/wadecodez/the-git-commands-i-use-every-day-5g17 %}


## Why are some websites slower?

Understanding how the browser renders information is crucial to figuring out why a page loads slowly. @shreyvijayvargiya puts it simply in this article!

{% embed https://dev.to/shreyvijayvargiya/why-our-websites-are-slow-importance-of-bundle-size-1le4 %}


## MERN DEV Replica

They say imitation is the sincerest form of flattery. Thanks to @marodevv for making a replica of DEV Community with the MERN stack! And big ups for contacting us via email and asking for our permission before doing this. 🙌

{% embed https://dev.to/marodevv/built-a-devto-replica-with-the-mern-stack-and-more-fbd %}


## PureComponents vs Functional Components with hooks

@adevnadia takes a measured look at React's functional components w/hooks and the common complaints of "re-rendering hell" by looking back at `PureComponent` and the problem it solved in this thorough and _thoroughly_ enjoyable breakdown.

{% embed https://dev.to/adevnadia/purecomponents-vs-functional-components-with-hooks-3mi2 %}


## One Command to SSH

Setting up SSH is not a trivial thing to do, but now it is a bit more approachable with the GitHub CLI. @bdougieyo shows us how to set up SSH so that we can identify ourselves to GitHub. 

{% embed https://dev.to/bdougieyo/setup-ssh-to-with-one-command-5cp2 %}


## Stop Writing API Functions

Here are some reasons as to why you should stop writing functions for every endpoint if you are developing a front-end application which uses a back-end with RESTFUL APIs from @saeedmosavat. 

{% embed https://dev.to/saeedmosavat/stop-writing-api-functions-3693 %}


## Make your own API in Sheets

An API specifies how software components should interact. @varshithvhegde will show you how to make your own for free in Google Sheets!

{% embed https://dev.to/varshithvhegde/easy-way-to-create-your-own-api-for-free-1mbc %}


_That's it for our weekly Top 7 for this Tuesday! Keep an eye on dev.to this week for daily content and discussions...and be sure to keep an eye on this series in the future. You might just be in it!_
REGAINING CONFIDENCE AS A PROGRAMMER.
Tags: webdev, programming
Published: 2022-09-20 19:45:20

Recently, I was working on a project that requires knowledge of HTML, CSS, AND JAVASCRIPT. It was an easy project from the beginning, but when I started coding it, it was not as easy as I plan out, especially in the Js part

I tried all I can to rectify the problem, but it was not as easy as I thought and after hours of trying and no good result, my confidence began to go down. So, I decided to relearn some concepts in Js even though I knew them before. After going through some videos on my laptop, I decided to go over it the next day and was able to solve it.

Am sure it must have happened to you as a programmer.

The question is, what do you do when it happens to you? How do I cope? You sleep, wake up and try again right, what about after that and no progress, what next??

The answer is **PULL BACK AND REGROUP**

**Don’t try to maintain failure at a high-level**, is going to hurt your confidence badly. _Continuing at a level where you are failing is going to hurt you._

Let’s say you are working on a project and you could not move past level 7, after hours of trying to resolve level 7 and no progress you pullback and come to level 4 (where you are confident in, or any level you are confident in) and regroup from there, learn some concept again, then from their move on to level 5, 6 and suddenly you will surpass level 7 and move upward. It isn’t a weakness to pull back and regroup, especially when your confidence is involved. As you build again the confidence you will acquire will be much more grounded. The experience of your failure will guide you and help you avoid the pitfall. It will make you wiser. **CONFIDENCE IS DIFFICULT TO GET, SO DON’T LOSE IT THOUGHTLESSLY.**

**Confidence** - that information that you can pull off and follow through on something difficult, that information in most cases will be your only _friend when everything else is gone_ and if you treat him right, make him, your best friend.
Pin Save: Evmos decentralized Pinterest nextjs nft application
Tags: javascript, nextjs, github, video
Published: 2022-09-20 19:40:19

Pin Save is a platform for decentralized content aggregation and image sharing where users have content ownership.

{% embed https://youtu.be/_4NQ0qLicHI  %}

## Problem
Currently monolithic web applications retain ownership of user content and stifle the adoption of decentralized technology.

A user could use Open Sea to publish the content, however the obstacles are significant:

1. Only a very small fraction of collections get to the homepage.
2. The content publishing process requires confidence and experience in web 3.
3. Feedback and engagement metrics related to content are reflected mostly in price movement.

In addition, there is a lack of an alternative platform in the ecosystem to provide users with an ability to create, share, moderate and discuss decentralized posts.

## Solution

Our team advocates implementation of decentralized image sharing and content aggregation platform where users can not only control the files, but also the platform itself.

Pin Save 4 key features:
1. The decentralized Feed to reinforce discovery of content and feedback.
2. Decentralized Identity (ERC-725) to provide anonymity and data protection.
3. Upgradeable, resilient, and more open decentralized storage.
4. Smart Contracts to securely serve web experiences directly to users.

We built the application using JavaScript, NextJS, React, Tailwind Css and Wagmi library, IPFS, nft.storage and skynet. The application is hosted on vercel.

The contract is built with solidity, hardhat and evmos blockchain testnet.

[Pin Save Demo](https://evm.pinsave.app/)
[Pin Save GitHub](https://github.com/dspytdao/PinSave-EVM)

## About Dspyt Channel:
We are Data Science with Python DAO
[Dspyt Homepage](https://dspyt.com)
[GitHub DAO Page](https://github.com/dspytdao)
Get Free Cloud ROI Assesment Workshop
Tags: javascript, programming, productivity, webdev
Published: 2022-09-20 19:32:51

Assessing the ROI of private cloud and PaaS is more complex and often unclear, thus measuring the impact of Cloud ROI is an important step for an organisation to optimize its cloud investment.  

When it comes to cloud migration, CIO’s would like to assess cloud migration cost vs on-premises infrastructure cost as per their digital transformation road-map and operational continuity of their organization. 

In this 60-minute workshop, you will get :

- An analysis of your existing workload and applications for cloud migration and current cost structures. 

- Detailed assessment report with recommendations with an assessment report to help you to decide your Cloud ROI and readiness. 

- Cloud Readiness Assessment for your business by understanding your business case for cloud movement.

- Compliance & Operating Process. 

- Operational costs optimization.

Schedule here: https://www.ismiletechnologies.com/cloud-roi-assessment-workshop/
Some important features of this release Laravel 9.30
Tags: laravel, php, webdev, programming
Published: 2022-09-20 19:06:24

In the new version 9.30 we have Some of the new features, including Add RequiredIfAccepted validation rule, Read-only filesystem config option, and force option to all make commands, which are some of the important features that I found in this release.

- Add RequiredIfAccepted validation rule
https://github.com/laravel/framework/pull/44035

required_if_accepted validation rule which ensures the field under validation is required if another field is accepted (a value of yes, on, 1, or true) 

```php
Validator::make([
    'is_company'   => 'on',
    'company_name' => 'Apple',
], [
    'is_company'   => 'required|boolean',
    'company_name' => 'required_if_accepted:is_company',
]);
```

- Read-only filesystem config option
https://github.com/laravel/framework/pull/44079

configuring a filesystem disk to operate in read-only mode. This ensures no write operations are possible on the disk, which is useful when accessing storage you want to ensure doesn't manipulate any files
```php
$disk = $filesystem->build([
    'driver' => 'local',
    'read-only' => true,
    'root' => 'my-custom-path',
    'url' => 'my-custom-url',
    'visibility' => 'public',
]);
```
- Add force option to all make commands
https://github.com/laravel/framework/pull/44100

--force flag to all make:* commands, which is helpful when you need to recreate a file
More about --force :-
https://www.youtube.com/watch?v=NYJx3YpuivM


I hope you enjoyed with me and to learn more about this release visit the sources and search more. I adore you who search for everything new.

Source :- https://laravel-news.com/laravel-9-30-0
Source :- https://www.youtube.com/watch?v=6BkP6TuUmWs
Temporal dead zone
Published: 2022-09-20 19:02:49

what is the temporal dead zone?

**Temporal Dead Zone is the time period between which a variable is inaccessible, to the point where it is initialized**. To know it better, we first need to dive a bit into a concept called hoisting


## HOISTING ##
In JavaScript all the variables, let it be initialized with let , var or const are hoisted. Hoisting refers to the process whereby the interpreter appears to move the declaration of functions, variables or classes to the top of their scope, prior to execution of the code. So every variable declared anywhere in the code is moved to the top of the scope by the interpreter before execution of actual code even begins. now, hoisting is different for var and let, const.

In var, the variable gets hoisted in the global object and no TDZ is faced but in let and const the variable is hoisted in script scope and given a memory location that cannot be accessed before initializing the variable. this causes TDZ in let and const.

example:


```
console.log(a);  // here 'undefined' will be consoled as no TDZ occurs in var
var a=3;

```

```
console.log(a);// here TDZ occurs and Reference error is thrown
console.log(b);//gets undefined 
let a=3;
var b=5; // now a is initialized
console.log(a); // No TDZ .
```
Since in the second example we declared let after the calling so TDZ occurred. A reference error is thrown for the same as we are using the variable before it is initialized and var don't throw any error as we are calling it even before initializing it that is because of hoisting