teleren/devto huggingface dataset:
Welcome Thread - v174
Tags: welcome
Published: 2022-05-18 14:01:22

---
title: Welcome Thread - v174
published: true
description: Welcome to DEV! A thread of hellos and intros.
tags: welcome
canonical_url: 
---

![cartoons with balloons saying hi](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e302endtgzedddkpolll.gif)

### Welcome to DEV!

1. Leave a comment below to introduce yourself! You can talk about what brought you here, what you're learning, or just a fun fact about yourself.

2. Reply to someone's comment, either with a question or just a hello. 👋 

**Great to have you in the community!**
iOS Developers
Tags: ios, mobile, discuss, beginners
Published: 2022-05-18 12:59:44

As a native iOS Developer it's always nice to see what other iOS developers are getting up to, the projects they are working on and to learn about any apps that they might have released. 

If you have released an app on the App Store, feel free to post a link below and tell me a little more about it and I will be more than happy to give it a download and provide some user feedback.

I also have a question, what's the initial reason as to why you got into iOS dev in the first place?

For me, I have always used Apple products (Major Apple Fan Boy). My day to day life includes me using multiple apps created by not only large companies but indie devs too. I started out my development career as a web dev but always wanted to learn iOS app development. Roughly, 4 years ago I took the plunge into starting my app development journey. I have only one regret... I wish that I started the journey sooner!
How to implement Twitter login in Laravel
Tags: webdev, twitter, laravel
Published: 2022-05-18 12:59:30

It is challenging to stay user on your web application these days. So that you need to create a user-friendly process and convert users to customers. This tutorial implements Twitter login in laravel with the socialite package. 

## Step by step guide on Twitter login in the laravel application

1. Install Package

Install Socialite package on laravel application. Run the following command.
```
composer require laravel/socialite
```
You need to add the below line of code inside the config/app.php file.

```
$providers= [
	
	......
	Laravel\Socialite\SocialiteServiceProvider::class,
	......
]; 

$alias = [

	......
	'Socialite' => Laravel\Socialite\Facades\Socialite::class,
	......
]
```
2. Configure credentials
On the Twitter platform, you need to apply for access and fill out the form. Click Here.

You must create a project for getting API Key and API Secret Key. Afterward, you create an App for auth login. See the below Screenshots:-

[Click Here](https://www.devrohit.com/twitter-login-in-laravel/)
Explaining source code with literate diff
Tags: javascript, typescript
Published: 2022-05-18 12:59:14

There is a technique called literate programming, in which explanatory text for a program is mixed in with the source code. We can generate explanatory articles from the source code.

{% embed https://en.wikipedia.org/wiki/Literate_programming %}

Literate programming is a suitable method for writing source code explanations because it allows documentation to be managed in a strongly tied way with the source code. However, the generated commentary articles only follow the order in which the source code is written, not the order in which the programmer implements the code.

It is easier to understand source code explanations if they are given in the order in which the code was implemented since the explanations follow the programmer's thinking. The method proposed based on this idea is the literate commits.

[Literate Commits](http://www.petecorey.com/blog/2016/07/11/literate-commits/)

The history of a commit becomes an explanatory article by describing the commit message with sentences that explain the contents of the commit. This method makes it possible to explain the commit in the order in which the code is modified, making the content easier to understand.

The disadvantage of this method is that we need to commit with a lot of care. It isn't straightforward to do commits while considering that the commit history will be used as an explanatory article.

Therefore, I would like to propose a method called literate diff. In literate diff, we retain the source codes as a snapshot for an explanation. In the article, we can place the link to these codes. When the article displays the link, the diff between the source code and the previous source code is displayed. Specifically, the article will look like the following.

[Creating the One-Button Mini-Game PIN CLIMB](https://abagames.github.io/literate-diff-viewer/pinclimb/)

When you scroll down this page, you can see the source code fragment on the right side of the screen as a diff. The explanation on the left side of the screen corresponds to the fragment. Furthermore, you can see the screen that can be realized with the current source code in the lower right corner. In this way, you can see the process of completing the program while viewing the explanation, source code, and screen in parallel.

With this literate diff method, I think it is possible to create an article that explains how to create a program step by step, without much burden on the article's author.

The code to create an article using the literate diff method is in the following repository.

{% embed https://github.com/abagames/literate-diff-viewer %}
I made a react component generator app using react
Tags: javascript, css, html, react
Published: 2022-05-18 12:51:12

In this post I'm going to show you guys an open source project that I made using React to help react developers and myself :) 

## Motivation 
Every time I wanted to work on a personal project without any design file, the process of finding the best UI tone was a real struggle. Plus since I work on a laptop without any extra monitors I didn't have good feelings when I had to constantly switch between the editor and the browser to see the results. This was my motivation to create this project.

## What is quick component? 
This website speeds up your component creation process and allows you to spend less time writing code for the UI of your react component so you can move quickly to work on the logic of your component 

## How to use it? 
for now, I only support basic HTML elements like buttons, div, and some more HTML elements. You can apply styles to these items and see the effect instantly to find what is right for you and when you are happy with your component you can download codes with custom configurations in a zip file or you can copy the code from the browser 

This project definitely has some flaws. I'll try to fix them in the future. but what I currently have is good enough for me. 

Note: This website is not optimized for mobiles
[Quickcomponent.io](https://quickcomponent.io)
[Github](https://github.com/ariannargesi/quickcomponent.io)

Available features:
- Support for typescript and JavaScript 
- Support to CSS and SASS 
- Support adding custom props 
- Support for adding a empty text file in the downloaded file 
- Support for importing 5 hooks into your script 
- And more ... 

I can definitely add more feature to it Like:  
- Support for adding image 
- Support for explore and trying different fonts 
- Support for selecting from a list of predefined components  
- Support for custom CSS roles 
- Support for React Native and pure HTML/CSS

What do you think? 
What feature do you like to have? 

I'm waiting for your amazing feedbacks
Best Mobile App Development Company in Toronto
Tags: mobile, programming, beginners, ca
Published: 2022-05-18 12:48:12

AppStudio has achieved the spot for the **[best mobile app development agency](https://www.appstudio.ca/)** in Toronto. We offer high quality apps to meet your needs. We are the best choice when it comes to building high-performance applications.

AppStudio offers a professional staff of **[mobile application developers](https://www.appstudio.ca/hire-app-developers.html)** in Canada who specializes in mobile application development. Our ability to meet your requirements comes from our highly trained mobile app developers, who have the knowledge and skills to make your app concept into a game-changing application that will generate revenue for you in no time. Our deep knowledge of the latest technology and applications enables us to meet your specific business needs.

## Count on our Application Development Services:

Our expert app developers offer a wide range of **custom mobile application development services** by leveraging the power of cutting-edge tools and tech stacks. We specialize in providing creatively designed and intelligently developed smartphone applications that can boost your business to new heights.

**[Android mobile App Development](https://www.google.ca/url?sa=t&url=https%3A%2F%2Fwww.appstudio.ca/android-application-development.html)**
**[iOS Application Development Company](https://cutt.ly/tGCXbPk)**
**[iPad Application Development Company](https://www.appstudio.ca/ipad-app-development-company.html)**
**[Healthcare App Development Services](https://www.appstudio.ca/healthcare-app-development.html)**

## **Hire Our Worldwide Developers for Your Business:**
**[Hire iPhone app Developers](https://www.appstudio.ca/hire-ios-app-developers.html)**
**[Hire Android App Developers](https://www.appstudio.ca/hire-android-app-developers.html)**

##AppStudio is your trusted technology partner. Contact us to discuss your project:- 
**Email: info@appstudio.ca**
**Phone: +1(800)-352-9138**
**Website: [https://www.appstudio.ca/](https://www.appstudio.ca/)**
IP ADDRESS tracing script based on python
Tags: python, beginners, programming
Published: 2022-05-18 12:42:27

# ip-trace
---
### Python based IP Tracer.

- can run on almost all Operating system
- Created with Python
 
---
[![IP Tracer demonstration](https://img.youtube.com/vi/IM8uMG4UIb4/0.jpg)](https://www.youtube.com/watch?v=IM8uMG4UIb4)

[IP trace demonstration video]( https://youtube.com/shorts/IM8uMG4UIb4?feature=share)
---
 
### Usage Instructions

open terminal and run. 
``` 
git clone https://www.github.com/immodded/ip-trace.git
cd ip-trace 
pip install -r requirements.txt 
python ipTracer.py
```
 
 
 ### you can also pass the list of ip addresses as argv. 
 ``` python ipTracer.py 1.1.1.1 2.2.2.2 3.3.3.3 ```
Terraform V4 AWS Provider, Github Actions, and Named Profiles
Tags: credential, security, git, terraform
Published: 2022-05-18 12:42:24

**Environment:** Github Actions
**Authentication:** configure-aws-credentials action, using OIDC.
**Terraform AWS Provider:** >= 4

**The Context**

We want to use a named AWS profile for convenience in our local environments, but the named profile doesn't exist in our CI/CD pipelines, and we can't create it there (the necessary location isn't writable). 

**The Issue**

The V3 AWS Provider for Terraform would gracefully fall back in an attempt to find valid AWS credentials when it couldn't find credentials for a named profile.

The V4 AWS Provider does not. Instead of following the AWS-CLI workflow for locating credentials, the V4 provider halts and returns an error: 

`error configuring Terraform AWS Provider: failed to get shared config profile, XYZ`

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

**The Resolution**

We set the profile dynamically in our Terraform code:

1. Create a new variable. Make it a bool, with a default of false. I called mine "pipeline". 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ikkhsnf5pm6kz9p8unux.png)
 
2. Modify your provider's **profile**. If we're in a pipeline, set the profile to "". Otherwise, you can set it to whatever value you had before.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9l1aqr28qv1lockgdsn2.png)
Generating OpenAPI Specification (OAS) documentation for your REST APIs
Tags: blst, openapi, oas, rest
Published: 2022-05-18 12:14:13

Generating OpenAPI Specification (OAS) documentation for your REST APIs

**The generation process consists of 2 steps:**

Generating the OpenAPI specification documentation
Validating your API specifications using a web API scanner

REST APIs have become the de facto standard for building web services, and one of the most popular ways to document them is with the OpenAPI Specification (OAS). The OAS is a language-agnostic, open-source framework for describing REST APIs. It's used by developers to describe the functionality of a REST API, and by consumers to generate documentation and code for interacting with the API.

One of the benefits of using the OAS is that it can be used to generate documentation for your API. This can be done with a tool like Swagger, which converts OAS definitions into human-readable documentation. Swagger can also be used to generate code for interacting with your API, making it a powerful tool for both developers and consumers of your API.

**Step #1**

To get started with generating OAS documentation for your API, you first need to define your API using the OAS. This can be done with the help of a tool like the OpenAPI Generator. The OpenAPI Generator is a tool that can be used to generate OAS definitions from existing code. It supports a wide range of programming languages, and can be used to generate both OAS 2.0 and OAS 3.0 definitions.

**Here are some Workflow Integrations:**

Gradle - Gradle Integration plugin offers a declarative DSL via extensions

Maven - Maven Integration plugin to support the OpenAPI generator project


Sbt-openapi-generator - sbt Integration plugin supports the OpenAPI generator project.

Bazel - Bazel Integration a repo was created to integrate the OpenAPI code generation CLI with Bazel.

Cake Addin - for code generation via the OpenAPI Generator (f.k.a. Swagger Codegen)

Once you have generated your OAS definition, you can then use a tool like Swagger to generate documentation for your API. Swagger provides a number of options for customizing the generated documentation, so you can make it as specific or as general as you like. You can also use Swagger to generate code for interacting with your API. This can be done with the Swagger Codegen tool, which can generate code in a number of different programming languages.

**Step #2**

Once you're done with the generation process you should move to the interesting step which is validating your API specifications.
This can be done using a online API web scanner over at https://www.blstsecurity.com 
Generating OAS documentation for your API can be a powerful way to improve your API's usability. It can also be used to generate code for interacting with your API, making it a valuable tool for both developers and consumers of your API. Do not overlook the validation part of the process. Nowadays, this part is as easy as 1-2-3 and can be done in a matter of seconds using a simple online tool similar to the one BLST Security is offering for free.
Oracle Fusion HCM Online Training
Tags: beginners, programming, webdev, cloud
Published: 2022-05-18 11:55:35

Rainbow Training Institute gives the [Oracle Fusion HCM Online Training](https://www.rainbowtraininginstitute.com/oracle-fusion-functional-training/oracle-fusion-hcm-training/oracle-fusion-hcm-online-training). we will convey courses 100 percent Practical and oracle combination HCM Real-Time project preparing. Mentors were astoundingly gifted people who were at this point working in the business with negligible experience of 10 years. Close by preparing mentor will oversee you a couple of clues close by the important material.
Best Sites to Hire Node.JS Developers in 2022
Tags: node, hirenodejsdevelopers, sitesforhiring, hiredevelopersin2022
Published: 2022-05-18 11:53:59

Node.JS has been in the market since years contributing positively to build sturdy end solutions. NodeJS possess some key functionality support that helps developers to ease on their work as well as develop required solutions in much more pace. 

NodeJS has always made its mark in the development world with its continuous execution of quality results. NodeJS has made the development process easier, quicker and flexible. Here is an article that would help you find the best sites to get potential NodeJS Developers who can build robust solutions as per your needs and requirements.

This article would help you understand about the top sites in 2022 to look for Node.JS Developers and will also drive you through why these sites are the one-stop solutions for hiring Node.JS Developers for your projects.

NodeJS Developers are well-versed with the key features and functionalities of NodeJS Frameworks and as a result a potential NodeJS Developer can do wonders by applying the vitals of NodeJS in the project and carry-out robust solutions. Discover the Full Article on [Top 15 Sites to Hire Node.JS Developers in 2022](https://www.hirenodejsdevelopers.com/)
Simplest way to loop node list / HTMLCollection using map, foreach etc
Tags: javscript, loop, dom, collection
Published: 2022-05-18 11:48:35

You spread the list like this:
```javascript
const elements = document.getElementsByClassName('modal');

[...elements].forEach((element)=> {
  console.log(element)
})
```

Or in one line like this, this is useful if you are doing multiple loops and do not want to spread every time:
```javascript
const elements = [...document.getElementsByClassName('modal')];

elements.forEach((element)=> {
  console.log(element)
})
```
Activate Windows / Linux / MacOS watermark.
Published: 2022-05-18 11:48:08

You are a Linux or Mac user and don’t want to keep your Windows partition anymore? The only thing that is stopping you from taring it down is the “Activate Windows” watermark which you so desperatley want to keep?

You are not alone. Don’t worry. People on GitHub got your back!

All the rest linked here [b3z.github.io/2022/05/18/Activate/](https://b3z.github.io/2022/05/18/Activate/)
uname Command in CLI
Tags: cli, tutorial, beginners, programming
Published: 2022-05-18 11:37:26

---
canonical_url: https://baransel.dev/post/cli-uname-command/
---

> [Sign up to my newsletter for more tutorials!](https://baransel.dev/newsletter/).

The `uname` command, abbreviated as *Unix Name*, gives information about your Linux system such as machine name, operating system, kernel, etc.

### `uname -a`

All information that can be printed is printed on the screen.

```commandline
Linux baransel.dev 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
```

### `uname -s`

It prints the kernel name in use to the screen.

```commandline
Linux
```

### `uname -n`

Shows the host name of your computer used in the network.

```commandline
baransel.dev
```

### `uname -r`

Shows the Kernel master deployment information I am using.

```commandline
3.10.0-1160.el7.x86_64
```

### `uname -v`

Displays the distribution-specific version information of the Kernel version in use, along with the release date.

```commandline
#1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
```

### `uname -m`

Shows the hardware name of the computer you are using.

```commandline
x86_64
```

### `uname -p`
Continue this post on my blog! [uname Command in CLI](https://baransel.dev/post/cli-uname-command/).
Prefer using Flutter's SingleActivator instead of LogicalKeySet if you can | LLF #7
Tags: devjournal, watercooler, flutter, dart
Published: 2022-05-18 11:30:41

Hey there! :wave:

It's been a while since I added to the **Let's Learn Flutter** series. I've been quite busy over the last months, but have some time to start writing again. 

In this short post, I'll go over a little problem I encountered recently with using `LogicalKeySet` to define keyboard shortcuts on a web app we're building at work. I'll explain what the issue was, how to fix it and in the end, explain some differences between `LogicalKeySet` and `SingleActivator`.

----

I recently needed to use shortcuts on a flutter project at work. I needed to have keyboard shortcuts, so I did the usual thing you do, look at the docs for them [here](https://docs.flutter.dev/development/ui/advanced/actions_and_shortcuts). 

I was in a bit of a rush and just glanced over the guide (a mistake on my part). So by the example in the guide, I decided to use LogicalKeySet to define the **ShortcutActivator**s.

After implementing the feature, while testing, I found a weird behaviour with the LogicalKeySet in MacOS using the meta key, as reported in [this issue](https://github.com/flutter/flutter/issues/103964#issuecomment-1128746386)

If you define your ShortcutActivator using LogicalKeySet, for example, let's say you want to detect `cmd+b` (_note this only happens when using the meta (or cmd) key on mac_). If you press cmd+b and before 1 second press just cmd again, the action is called. Even if the b key is not pressed in conjunction with cmd.

I reported this behaviour and they told me, this was a known flaw of using LogicalKeySet and advised me to use SingleActivator instead. They also pointed me to [this](https://github.com/flutter/flutter/issues/97589#issuecomment-1058750417) comments, which explains a bit more about the issue and why it works as it does.

----

## Takeaways
### Read the docs carefully
If I had read the docs carefully I would have read a note kinda hinting at this. 

### Prefer using SingleActivator instead of LogicalKeySet
This is, of course, if you can. There might be situations where you might need to define more than a single key. 

### SingleActivator limitations
As mentioned above, SingleActivator can only take a LogicalKeyboardKey as the trigger, as opposed to LogicalKeySet, which accepts a series of LogicalKeyboardKey instead. 

----
## More resources
* [Using Actions and Shortcuts](https://docs.flutter.dev/development/ui/advanced/actions_and_shortcuts)
* [Shortcuts class](https://api.flutter.dev/flutter/widgets/Shortcuts-class.html)

----

Cheers!
Haskell: Advantages, Community, and Ecosystem
Tags: functional, haskell
Published: 2022-05-18 11:11:43

Haskell has risen from a programming language for academic usage to a language that’s used by high-scale companies in the industry for solving some difficult problems.

The discussion will take place on the **25th of May at 6:00PM UTC** be with **Andres Löh**, a Haskell Consultant with over 20 years of experience with the language. We’ll talk about how to take advantage of Haskell, what are common use cases, and discuss Haskell’s community and ecosystem.

Register for free: https://adevait.com/events/haskell-advantages-community-and-ecosystem
Horizontal scaling of socket.io with RabbitMQ
Tags: architecture, microservices, node
Published: 2022-05-18 10:53:48

We've created an article that states how we've been able to reduce CPU load by 40% and decreasing by 8x the EPS.

➡️ [Article available here](https://crisp.chat/blog/horizontal-scaling-of-socket-io-microservices-with-rabbitmq/)

We run our customer service software on a worldwide scale. Check the super detailed article here.

Happy to answer your questions too!