teleren/devto huggingface dataset:
.Net Dojo Setup
Tags: dotnet, vscode
Published: 2023-05-05 05:03:03

There are times when we need to learn something in .Net. We search whatever it might be on Google, check different Stack Overflow solutions, go through blog posts that offer complete code examples. Finally, after all the reading we decide which concept to adapt and go to sleep having this great feeling of _Wow I have learnt something cool today._ And that is great. What is not so great is that:

- one
The next day I do not really remember well what I read a day before, and, what is more more important,

- two
I would not be able to write the code to fully use what I have learnt.

What I found to be quite effective though is practice. I usually do not feel that I really learnt something until I do it. One of the big challenges that I know prevented me from putting the new concept into action however was the time and effort necessary to spin off a dojo project where I could actually put the knowledge into code.
That is where [.Net CLI](https://learn.microsoft.com/en-us/dotnet/core/tools/) comes to play. All you need to do is start the PowerShell terminal by pressing Win key and start typing _powershell_ until you see **PowerShell** displayed in the results below and press Enter. In the PowerShell terminal window navigate to the folder where you would like to keep your work. Then use the [dotnet new](https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-new) command to create an empty dojo project.


```
dotnet new console -n MyProjectName -o MyProjectFolder
```
Before actually creating the new project I usually like to check the outcome with the --dry-run argument such as

```
dotnet new console -n MyProjectName -o MyProjectFolder --dry-run
```
Console application template is just one of many empty projects available to us. Choose whatever template is most suitable for your needs.
After that, all you need to do is navigate to the project folder

```
cd MyProjectFolder
```
and start Visual Studio Code by typing

```
code .
```
And that is it. You are ready to put your new knowledge into action.
Snake Game Video
Tags: pythongamedevelopment, turtledrawing, python
Published: 2023-05-05 04:37:22

🐍🎮🔥 Welcome to my Python Turtle-based Snake Game video![https://www.youtube.com/shorts/60hEpfoGmMU](Snake Game video!)
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pypvy79p6g7gctqzi051.png))

Sit back, relax, and watch me play this fun and addictive game as lo-fi beats provide the perfect background soundtrack.

If you're interested in building this game yourself, you can download the source code from my GitHub page: https://github.com/raimoncoding/Gina_the-turtle
This video is a great way to get a feel for the game and see how it all comes together. You'll get a chance to see how I set up the screen, snake object, and other components that make up the game.

To learn more about building games with Python and Turtle, check out the official documentation at: https://docs.python.org/3/library/turtle.html
If you're looking for more Python game development resources, I recommend checking out the Pygame library: https://www.pygame.org/news
I hope you enjoy watching me play this game as much as I enjoyed building it. So sit back, relax, and get ready to slither your way through this exciting adventure! 💻🎮
5 common mistakes to avoid in frontend development
Tags: webdev, frontend, react
Published: 2023-05-05 04:32:32

As a frontend developer, there are a few common mistakes that can hinder your success in building effective websites and web applications. Here are some mistakes to avoid in frontend development:

1. Not prioritizing user experience: It's important to keep the user in mind when developing websites. A website with a beautiful design is not enough if it is difficult to use or navigate. Make sure to prioritize the user experience by ensuring that the website is intuitive and easy to navigate.

2. Ignoring responsive design: In today's world, users access websites from various devices, including smartphones, tablets, and desktop computers. Ignoring responsive design can make your website look unprofessional and can be frustrating for users. Make sure to design your website with responsive design in mind.

3. Overcomplicating design: Simple design is often more effective than complicated design. Overcomplicating the design can lead to slow load times and can make it difficult for users to find what they are looking for. Keep the design simple and intuitive.

4. Not testing the website: It is essential to test the website before launching it to ensure that it is functioning properly. Not testing the website can lead to broken links, slow load times, and other issues that can hurt user experience.

5. Focusing too much on aesthetics: While aesthetics are important, it's essential to strike a balance between design and functionality. Focusing too much on aesthetics can make it difficult to optimize the website for speed and performance.

By avoiding these mistakes, you can build effective websites and web applications that meet user needs and drive business success. As a frontend developer, it's crucial to keep these considerations in mind during your development process.
Essential docker commands
Tags: docker, containers, devops
Published: 2023-05-05 04:25:47

## 1. Showing all containers

`docker ps -a
`
## 2. Showing running containers

`docker ps
`
## 3. Showing all images

`docker images
`
## 4. Showing all conatiner ids

`docker ps -a -q
`
## 5. Showing all image ids

`docker images -q
`
## 6. Stopping all containers

`docker stop $(docker ps -q)
`
## 7. Deleting all containers

`docker rm $(docker ps -a -q)
`
## 8. Building image from docker file 

`docker build <directory in which the dockerfile exists>
`
## 9. Building image from docker file with a tag name

`docker build -t <tag name> <directory in which the dockerfile exists>
`
## 10. Running an image in a container

`docker run <image_id> 
`or 
`docker run <tag name (if provided while building)>
`
## 11. Running an image in a container with interactive shell terminal

`docker run -i -t <image_id or tag_name> bash
`
Terraform Installation - Ubuntu & Windows
Tags: terraform, devops, ubuntu, windows
Published: 2023-05-05 04:09:56

> In this article, we will look how we can install Terraform on Ubuntu using Homebrew and in Windows using Scoop

## Ubuntu

Install some prerequisite packages

```bash
sudo apt update
```

```bash
sudo apt install build-essential procps curl file git
```

Install Homebrew using the provided convenience script

```bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```

Add Homebrew in our system PATH using the below commands

```bash
(echo; echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"') >> /home/ubuntu/.profile
```

```bash
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
```

Verify the version and install the recommended gcc package

```bash
brew --version
```

```bash
brew install gcc
```

Turn off Homebrew anonymous aggregate user behavior analytics

```bash
brew analytics off
```

Add the HashiCorp repository and install Terraform

```bash
brew tap hashicorp/tap
```

```bash
brew install hashicorp/tap/terraform
```

Verify the version

```bash
terraform -version
```

## Windows

Open a Powershell terminal (version 5.1 or above) and execute the below commands to install Scoop

```powershell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
```

```powershell
irm get.scoop.sh | iex
```

Install Terraform and verify its version

```powershell
scoop install terraform
```

```powershell
terraform -version
```

## Reference

[https://brew.sh/](https://brew.sh/)

[https://scoop.sh/](https://scoop.sh/)  
  
[https://developer.hashicorp.com/terraform/downloads](https://developer.hashicorp.com/terraform/downloads)
LibreSSL: openssl エラー - v3_ca エクステンションが存在しない
Tags: libressl, openssl, security, openbsd
Published: 2023-05-05 03:57:48

[`openssl`](https://man.openbsd.org/openssl.1) は [LibreSSL](https://www.libressl.org) ユーティリティの一つです。[OpenBSD](https://www.openbsd.org) の [6.7](https://www.openbsd.org/67.html) において、こちらを使って v3_ca エクステンションでルートならびに中間証明書を生成しようとすると、エラーが発生しました。

これは `/etc/ssl/openssl.cnf` にデフォルトで `[ v3_ca ]` セクションが存在しなかったためです。
解決方法は、必要に応じてバックアップを取得した後に、このセクションを追加することです。

```console
$ doas cp -p /etc/ssl/openssl.cnf /etc/ssl/openssl.cnf.org
$ doas nvim /etc/ssl/openssl.cnf
```

`[ v3_ca ]` セクションを追加します:

```diff
+ [ v3_ca ]
+ basicConstraints = critical,CA:TRUE
+ subjectKeyIdentifier = hash
+ authorityKeyIdentifier = keyid:always,issuer:always
```

余談ですが私がこのエラーに遭遇したのは、[PostgreSQL](https://www.postgresql.org/) のサーバーとクライアント間で TLS 接続を確立しようとした時でした。以下のようなエラーが発生しました:

```console
$ # create a root certificate authority
[...]
$ openssl x509 -req -in root.csr -text -days 36500 -extfile /etc/ssl/openssl.cnf -extensions v3_ca -signkey root.key -out root.crt
Error Loading extension section v3_ca
```
How to Prepare for the Coating Inspector Level 2 NACE-CIP2-001 Exam
Tags: nace, tutorial
Published: 2023-05-05 03:12:41

If you are a coating inspector who wants to advance your career and demonstrate your expertise in the field, you may be interested in taking the Coating Inspector Level 2 NACE-CIP2-001 exam. This exam is offered by the National Association of Corrosion Engineers (NACE) International, which is a leading organization for corrosion prevention and control.

## Coating Inspector Level 2 NACE-CIP2-001 Exam

The Coating Inspector Level 2 NACE-CIP2-001 exam is designed to assess your knowledge and skills in performing and documenting non-destructive and destructive inspections of liquid and non-liquid coatings on various substrates, such as steel, concrete, and galvanized metal. The exam also covers topics such as corrosion theory, environmental controls, surface preparation, coating types, application methods, inspection criteria, lab testing, failure modes, and health and safety issues.

To qualify for the exam, you need to have at least two years of verifiable work experience as a coating inspector or a related field, and complete the Coating Inspector Program (CIP) Level 2 course offered by NACE. The course consists of classroom instruction, hands-on labs, case studies, and a written exam. The course will provide you with the necessary knowledge and skills to prepare for the certification exam.

## Coating Inspector Level 2 NACE-CIP2-001 Exam Information

The certification exam is a computer-based test that consists of 100 multiple-choice questions. You will have two hours to complete the exam. The exam is administered at Pearson VUE testing centers worldwide. You need to score at least 70% to pass the exam.

To prepare for the exam, you should review the course materials and the exam preparation guide provided by NACE. You should also practice your inspection skills using various instruments and techniques, such as digital hygrometers, data loggers, wind speed monitors, centrifugal blast cleaning equipment, water-jetting equipment, adhesion testers, hardness testers, pH meters, ultrasonic thickness gauges, eddy-current dry film thickness gauges, plural-component spray systems, electrostatic spray systems, centrifugal spray systems, hot spray systems, powder coatings, spray metalizing, hot-dip galvanizing, automated coatings application equipment, coating survey techniques, and maintenance coating operations. Online **[NACE-CIP2-001 exam questions](https://www.dumpsinfo.com/exam/nace-cip2-001/)** from Dumpsinfo are useful in your preparation. 

You should also familiarize yourself with the relevant standards and specifications for coating inspection, such as those issued by NACE, SSPC (The Society for Protective Coatings), ASTM (American Society for Testing and Materials), ISO (International Organization for Standardization), and API (American Petroleum Institute).
Kiquix - User centered design as business intelligence
Tags: behavior, research, validation
Published: 2023-05-05 03:05:04

We are a design studio with deep roots in strategic thinking, and our approach is behavioral and data-driven. Our mission? Help companies with user research, product design, and strategy.

At Kiquix, we sail through the UX design value chain to deliver great digital experiences. We are flexible and can work from A to Z or jump into a specific stage of your project. We can either be consultants or your firsthand design crew. Yet, we always work steadily anchored to data and our design method: User-Centered Design.

Thanks to it, we can uncover core issues, generate the most innovative solutions and designs and build the highest-converting websites and apps.

[https://www.kiquix.com](https://www.kiquix.com)
Introducing CoreIDE- The full stack IDE
Tags: development, java, javascript, programming
Published: 2023-05-05 02:04:18

For the past few years I have been working on the development of this amazing IDE which can provide all the premium and paid features of any existing IDE but without any cost.

CoreIDE is a full stack IDE for Java, JavaScript, Node.js and TypeScript developers who work on Spring, Spring Boot, React, Express, Vue, Backbone, AngularJS and other web framework based applications. The IDE is not only limited to web development, you can use it to develop other type of projects like desktop, command line, mobile or stand alone applications. It's free Community version contains all the available features.


![CoreIDE Screenshot](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6yoi1x8etmkx0w27h1gr.png)

If you are a full stack developer then you will find CoreIDE the best free IDE designed specially for you. Here is a list of top feature that CoreIDE provides:

- Editor for 120+ programming languages

- Intelligent code completion for Java

- Code completion for JavaScript, Node.js, TypeScript and React(JSX)

- Supports frameworks like Spring MVC, Spring Boot, Express etc.

- Syntax validator for Java, JavaScript and Node.js

- Debugger for Java, JavaScript, Node.js and TypeScript

- Autocomplete for HTML, CSS and SQL

- Compatible with Maven based projects

- Inbuilt terminal

- Black theme

- Simplified design

Download now- [https://coreide.com](https://coreide.com)

Watch Demo- [https://www.youtube.com/watch?v=maWo73QV23o](https://www.youtube.com/watch?v=maWo73QV23o)
Self-introduction:)
Published: 2023-05-05 01:39:05


Hi there!!!

I'm here for the first time. I'm Yuto, who is originally from Japan. Currently, I'm taking 2 years off the college in Japan where I go because I had always wanted to study abroad as soon as possible. So, I came in Vancouver last month. And then, I'm a student. To tell the truth, I feel like my dream has already come true since living in abroad was one my things that I want to do until my life is end.

Now, I'm taking Web Develop corse even though I majored in electrical engineer corse being in college. I'm having a blast so far. Obviously, I do not have any experiences in web develop. So, I have been studying much harder than I was a student in Japan.

Actually, I have been hitting at least two walls ever since I came here in Vancouver. One of them is language. To be honest, I knew I would struggle with communicating with people in English. However, it was more tough than I expected in reality. I often get stuck for words. For instance, the time ordering in restaurant, asking for direction and taking with my host family and so on. Another one is experiences. I was just a student before coming here. I have a bit of work experiences as part time like everybody. But, Almost all of the people who came in Vancouver like me are have tons of experiences as engineer or other industry. I know that I should not compare myself to other people. But I unintentionally think that I need to be in in a harry and catch up with them as soon as possible even though I know that's impossible. At the same time, I thought that it is really advantages for me to learn because There are a lot of specialist of kind industry.
Staying positive is my personality.

Hopefully I can get a job as engineer here and work on my English in the future.

Nice to meet you!
6 Skills Programming teaches you
Tags: programming, coding, developer, devjournal
Published: 2023-05-05 01:36:00

Programming is more than just a set of technical skills. 

It's a way of thinking and a tool for solving problems. 

6 Skills Programming teaches you:

1. Problem-Solving

2. Logical Thinking

3. Attention to detail

4. How to work effectively in teams

5. Be persistent in facing challenges

6. Better understanding of computers


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

Thanks for reading this.

If you have an idea and want to build your product around it, schedule a call with [me](https://calendly.com/pragyanatvade).

If you want to learn more about DevOps and Backend space, [follow me](https://dev.to/pragyanatvade).

If you want to connect, reach out to me on [Twitter](https://twitter.com/pragyanatvade) and [LinkedIn](https://www.linkedin.com/in/pragyanatvade/).
Stream logs from EC2 to AWS OpenSearch and easily perform searches on the logs: Deploy an OpenSearch cluster on AWS
Tags: aws, devops, python, observability
Published: 2023-05-05 01:00:18

All applications generate logs. Logs are essential for understanding how software and systems are performing, identifying and troubleshooting issues, and ensuring compliance. Centralizing logs from different sources into a single location can greatly simplify log management, analysis, and monitoring .To be able to efficiently centralize logs , is very useful when debugging applications. There are various ways to efficiently centralize and search on application logs. While trying to learn some of those tools, I started learning AWS Opensearch(previously Elasticsearch service) service. This service really makes it easy to search and analyze the logs collected from different applications.

In this blog post, we will discuss how to stream logs from EC2 to CloudWatch and then to OpenSearch, enabling you to collect, store, and analyze logs efficiently and effectively. And then on the Opensearch cluster, how you can perform searches on the log content to analyze the logs.  

For details: https://amlanscloud.com/streamec2logs/
@mentions Notifications Design
Tags: programming, tutorial, codenewbie, learning
Published: 2023-05-05 00:32:31

So we have all used platforms where we receive notifications whenever we are mentioned in a post or a comment. These notifications are to keep us engaged in conversations.

I am going to be explaining at the high level how to build out a simple @mentions notifications feature in any system. Note that this post is only giving you a fair idea about how to go about the whole implementation and not showing you how to actually do it in code.

## Steps

- Receive the incoming post / comment text from your UI, this data could be from an endpoint that your frontend sends posts requests to.

- Once this data is retrieved, you would need to parse the content of the post to find every instance of an @mention. This can be done by by using regular expressions. An example is given by `r'(^|\s)@(\w+)'`, this would match all mentions like @someone and not weird cases like some@One. 
Note that, you would have to store every mention in some form of data structure to be referenced later, probably storing it in an array. 

- Next, you would have to filter the mentions to see if they are actually present in your users table. If not, you eliminate them from the final list of users to send the notifications to.

- Finally, you can pass these users to the notification service to then send the notifications via your favorite channel, either In-app, email or other media.

## Final Takeaway

Note that, if the above steps are done in the request-response cycle, it will not be very convenient as your users will be waiting for all these steps to complete before you send back a response to them. To overcome that, you can use tools such as [Redis](https://redis.io/) or [RabbitMQ](https://www.rabbitmq.com/) as a message broker and [Celery](https://www.fullstackpython.com/celery.html) to perform these steps in the background.

That's it, a high level overview of the implementation. Let me know if you have any questions in the comments. 
Cheers 🥂
Implementing the Swipe Card Undo Functionality: My Thought Process
Tags: webdev, javascript, programming, react
Published: 2023-05-05 00:28:40

Day 94 of #100DaysOfCode: Still working on the undo functionality. I think I'm almost there with the logic. The problem is just that nothing happens when I press the undo button (😬). But don't worry, I am using useRef and useMemo to create a reference for every card at the specific index so that the last card can be fetched and removed from the "liked users" array back to the "new users" array. In this blog post, I will explain how I am implementing the undo functionality and my thought process behind it.

When building the swipe card feature, the undo button is an essential feature that allows users to revert a swipe action. However, it's not as straightforward as it may seem to implement it. The basic concept of the undo button is to move the card from the 'liked users' array back to the 'new users' array.

To implement the undo functionality, I first created an array to store the references to each card. I achieved this by using the useMemo hook, which ensures that the reference array is only created once when the component is first mounted.

Next, I created a state variable called currentIndex, which tracks the current index of the card that is being swiped. I then created a useRef hook called currentIndexRef, which is used to store the current index.

To handle the undo button's logic, I created a function called handleUndo, which is called when the undo button is clicked. The handleUndo function first checks if the undo button is active by comparing the currentIndex to the length of the notLikedClients array. If the undo button is not active, the function returns. Otherwise, it increases the currentIndex by one and updates the currentIndexRef.

Finally, the restoreCard function is called on the last card in the notLikedClients array. This function restores the card back to its original position by animating it back into the card stack.

By the way, I did some research on implementing the undo function and came across this helpful resource:

https://github.com/3DJakob/react-tinder-card-demo/blob/master/src/examples/Advanced.js
Mojo: The High-Performance Programming Language for AI Development
Tags: mojo, ai, python
Published: 2023-05-04 22:58:57


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/idw29ind9g2vfvf9kxu6.png)Mojo is a new programming language specifically designed for AI developers, combining the user-friendliness of Python with the performance of C. As highlighted on the Modular website, Mojo unlocks the programmability and extensibility of AI models and hardware. Its cutting-edge features include progressive types, zero-cost abstractions, and ownership, while also supporting parallel processing across multiple cores for model operations. Although still in its early stages, Mojo is compatible with the Python ecosystem, allowing developers to leverage the robust Python libraries and achieve impressive performance on par with C++ and CUDA. Despite lacking certain features like classes, it supports key Python features, including async/await and error handling. Try out Mojo for yourself on the JupyterHub-based Playground.