teleren/devto huggingface dataset:
Understanding Authentication & Authorization with help of keycloak
Published: 2024-06-23 08:27:15

Authentication and authorization are two fundamental concepts in the realm of security, especially in computer applications.


**Authentication-**  Authentication is the process of verifying the identity of a user, device, or entity in a computer system.

- 
Purpose- To confirm the identity of the user or entity.



**Authorization-** Authorization is the process of determining what an authenticated user is allowed to do. It specifies the permissions for resources in the system.

- 
Purpose- To control access to resources and actions based on user privileges.





There are lot of way to perform this in application like OAuth2.0, OIDC But all of these are paid platform for large number or advance services. 
 
So, To achieve these Services without any cost **keycloak** come in the picture.

**Keycloak-** Keycloak is an **open-source identity and access management** solution developed by Red Hat. It provides authentication and authorization capabilities for modern applications and services.
Some Key Feature about keycloack - 

**Authorization Services:** Fine-grained authorization policies and support for OAuth 2.0, OpenID Connect, and SAML.

**Identity and Access Management (IAM):** Comprehensive IAM capabilities including role-based access control (RBAC) and multi-factor authentication (MFA).

**Installation and Setup for keycloak:**
This is a official documentation of keycloak setup https://www.keycloak.org/guides

**Integration-** 

- 
OAuth 2.0 and OpenID Connect: Keycloak supports OAuth 2.0 and OpenID Connect protocols for securing applications.

- 
SAML: Keycloak can act as a SAML Identity Provider (IdP) and Service Provider (SP).

- 
Identity Providers: Integrate with external identity providers like Google, Facebook, and others for authentication.


I hope you learnt something new today.

> 
End Note: If you check out my profile, this is my first-ever post. So please let me know how I did, and how I can improve in future. Thanks!
Understanding Authentication & Authorization with help of keycloak
Published: 2024-06-23 08:27:14

Authentication and authorization are two fundamental concepts in the realm of security, especially in computer applications.


**Authentication-**  Authentication is the process of verifying the identity of a user, device, or entity in a computer system.

- 
Purpose- To confirm the identity of the user or entity.



**Authorization-** Authorization is the process of determining what an authenticated user is allowed to do. It specifies the permissions for resources in the system.

- 
Purpose- To control access to resources and actions based on user privileges.





There are lot of way to perform this in application like OAuth2.0, OIDC But all of these are paid platform for large number or advance services. 
 
So, To achieve these Services without any cost **keycloak** come in the picture.

**Keycloak-** Keycloak is an **open-source identity and access management** solution developed by Red Hat. It provides authentication and authorization capabilities for modern applications and services.
Some Key Feature about keycloack - 

**Authorization Services:** Fine-grained authorization policies and support for OAuth 2.0, OpenID Connect, and SAML.

**Identity and Access Management (IAM):** Comprehensive IAM capabilities including role-based access control (RBAC) and multi-factor authentication (MFA).

**Installation and Setup for keycloak:**
This is a official documentation of keycloak setup https://www.keycloak.org/guides

**Integration-** 

- 
OAuth 2.0 and OpenID Connect: Keycloak supports OAuth 2.0 and OpenID Connect protocols for securing applications.

- 
SAML: Keycloak can act as a SAML Identity Provider (IdP) and Service Provider (SP).

- 
Identity Providers: Integrate with external identity providers like Google, Facebook, and others for authentication.


I hope you learnt something new today.

> 
End Note: If you check out my profile, this is my first-ever post. So please let me know how I did, and how I can improve in future. Thanks!
Human Contribution Towards Each Other (Relationships)
Published: 2024-06-23 08:11:59

In the vast ocean of human experience, relationships are the intricate coral reefs that provide structure, shelter, and sustenance. They are the intricate dance between souls, a delicate balance of give and take, understanding and compromise. Within the tapestry of connection, there lies a profound depth, where emotions swell and recede like the tides, leaving behind imprints of memories, scars, and love

At the heart of every relationship lies vulnerability. To truly connect with another being is to expose the raw essence of one's self, stripped of pretense and masks. It is to open oneself to the possibility of both joy and pain, to embrace the uncertainty of the human experience with courage and grace. In this vulnerability lies the seeds of trust, the fertile ground from which intimacy blossoms. 

For further:-https://akgbloggers.blogspot.com/2024/05/human-contribution-towards-each.html
Japanglish Tech Talk #1 Presentation Introduction
Tags: community, japanglish, webdev, tokyo
Published: 2024-06-23 08:04:18

Hi There! This is [Tamtam](https://x.com/TamtamFitness).

I'm organizing "Japanglish Tech" event with [Naru](https://x.com/1026NT).

# What is Japanglish Tech Talk?

This is an English-only LT event for engineers held in Tokyo, Japan!

It is difficult to speak English in Japan because most conversations are in Japanese.

With this in mind, we are organizing this event to provide a casual opportunity to speak at an LT event in Tokyo.

# Japanglish Tech Talk #1 Presentation :-D

We had our first Japanglish Tech Talk on June 19, 2024. 

So I will briefly share the presentation.

Thank you to [Ichizoku](https://ichizoku.io/) and [RAKSUL](https://corp.raksul.com/en/) for their sponsorship!

- [Japanglish Tech Talk#1](https://japanglish.connpass.com/event/316285/)
- [Japanglish Youtube](https://www.youtube.com/channel/UCKC2d4f-k-f4KeRs_YV9q_g)

### Generate Android App UI with Gemini

- [presentation material](https://speakerdeck.com/musayazuju/generate-android-app-ui-with-gemini)
- Speaker: Musa

Describes the "Gemini" feature introduced at Google I/O 2024.

we look forward to future improvements such as the accuracy of the design details not matching what we had imagined, lack of image input options, and initial compilation errors.

---

### Building My First Infrastructure The way from EC2 to ECS

- [presentation material](https://speakerdeck.com/zakisankazu/2024-06-19-japanglish-tech-talk-building-my-first-infrastructure-the-way-from-ec2-to-ecs)
- Speaker: Zaki

Introduces efforts to containerize PHP/Laravel web applications and migrate them from EC2 to ECS.

Future focus on improving log management methods, security response knowledge, and infrastructure operations skills within the team.

---

### Replaced the app with Next.js, Golang and Auth0 20240619

- [presentation material](https://speakerdeck.com/kohekohe/replaced-the-app-with-next-dot-js-golang-and-auth0-20240619-a17b3f3a-c32b-4858-b5eb-d5365efbc456)
- Speaker: kohekohe

Presents the experience of building an engineering team and replacing an existing application with modern technology.

I especially sympathize with the user data migration story.

---

### htmx for backend engineer
- [presentation material](https://speakerdeck.com/nakamurakzz/htmx-for-backend-engineer)
- Speaker: Nakamura

It shows how back-end engineers who are not good at front-end development can easily build interactive web applications using htmx.


※ Other presentations will be shared later!

# The next event will also be held!

The total number of participants exceeded 30, and we connected with people willing to volunteer in the future.

We are planning to hold this event regularly due to the demand! XD

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vlecsgkw9exdg0ffg8sc.png)
How to generate thumbnails from video ?
Tags: ffmpeg, javascript, node
Published: 2024-06-23 07:55:41

In this tutorial, you will learn how to generate thumbnails from a video file.

### Warning!!! Please use small video files only, if your machine is low-end.

We will primarily use the `fluent-ffmpeg` library to perform the action.

For this, download the ffmpeg library from the official site of ffmpeg [https://ffmpeg.org/](https://ffmpeg.org/). 

Extract the zip and add the `bin` folder to your environment variables path.

---

Steps:

1. Create a folder for the conversion, name it as ```video-thumbnail-generator```.

2. Initialize it as a nodejs package.
```bash
$ npm init -y
```

3. Install the fluent ffmpeg library
```bash
$ npm install fluent-ffmpeg
```

4. Import the library
```js
const ffmpeg = require('fluent-ffmpeg')
```

5. The first argument of the ffmpeg will be the path to the video file
```js
ffmpeg('path_to_videofile')
```

6. Take screenshot and save to the folder (Note: Multiple screenshots can be taken at a time, but we will take only 1)
```js
ffmpeg('path_to_videofile')
  .screenshots({
     count: 1,
     filename: 'thumbnail-%s.png',
     folder: 'output_path/'
  })
```

## Entire code
```js
const ffmpeg = require('fluent-ffmpeg')
ffmpeg('path_to_videofile')
  .on('filenames', (filenames) => {
     console.log(filenames.join(', ') // Display the filenames to be generated
  })
  .on('end', () => {
     console.log('Screenshots taken!');
  })
  .screenshots({
     count: 1,
     filename: 'thumbnail-%s.png',
     folder: 'output_path/'
  })
```
AI Interview Copilot: Revolutionizing Job Interviews with Real-Time AI Assistance
Tags: career, interview, algorithms, ai
Published: 2024-06-23 07:55:21

In today's fast-paced job market, having immediate support during interviews can make a significant difference. Enter [AI Interview Copilot](https://www.aiinterviewcopilot.com), an AI-powered tool designed to provide real-time answers to interview questions as they are asked. Here’s a detailed look at why this tool is indispensable.

## What is AI Interview Copilot?

[AI Interview Copilot](https://www.aiinterviewcopilot.com) is an innovative application that aids candidates in real-time during job interviews. Utilizing the capabilities of GPT-4o, it listens to the interviewer's questions, processes them instantly, and delivers accurate, context-sensitive answers. This tool is ideal for those seeking immediate help to navigate challenging interview questions and particularly useful for those preparing to crack the coding interview.

## Key Features and Benefits

**Real-Time Answer Generation**
The application listens to interview questions and generates responses on the spot. This allows users to provide thoughtful and relevant answers immediately, boosting their confidence and performance.

**Precision and Relevance**
Powered by GPT-4o, the AI ensures that answers are precise and contextually appropriate, improving the quality of responses and ensuring they align with job requirements and company culture.

**Integrated Problem-Solving**
For technical positions, the tool can solve algorithmic problems and generate code snippets in real-time, helping users address technical interview questions with ease.

**Screenshot and Image Recognition**
The app can recognize and process information from screenshots and images, offering relevant answers and insights based on visual data.

**Cross-Device Clipboard Integration**
By leveraging the shared clipboard functionality between Apple devices, users can seamlessly use the application even while screen-sharing, ensuring uninterrupted support during interviews.

## Conclusion

[AI Interview Copilot](https://www.aiinterviewcopilot.com) is a groundbreaking tool for job seekers, offering real-time support during interviews. Its advanced features, driven by GPT-4o, provide precise and context-aware responses, making interview preparation and execution significantly more manageable. For anyone aiming to excel in job interviews, especially those focused on cracking the coding interview and handling technical interview questions, this tool is an essential asset.
Competitive Programming
Tags: programming
Published: 2024-06-23 07:31:45

Are you going to your college or a school student thinking to start competitive programming? Well this is the right place for you, Today I will guide you how to start competitive programming and master it.

**1. Choosing a programming language**
Before starting competitive programming you should learn an OOP programming language, such as Python, C++, Java, etc. If you don’t know any programming language, you can start with any language you are comfortable with, I would suggest Python.

**2. Practicing Problems**

Now, you have learned a programming language. You can now start practicing problems on various competitive programming websites such as CodeForces , CodeChef , LeetCode .

You should start with the easier ones and then slowly increase the level of problems once you get comfortable.

**3. Tips**

Common mistake that you should avoid. You must give your best to the question and try to solve it by yourself, Check the solution/editorial only when you feel you can’t solve this problem.

Always use pen and paper while practicing problems. Just think of the logic and implementation of the question and then write it down on the paper. This will help you improve your logical thinking.

**4. Give Contests**

Give contests and try to solve as much questions you can before the contest ends. Try upsolving the problems that you couldn’t solve during the contest. It will help you improve.

Thank You!
Featherless - running any llama model serverless
Tags: ai, serverless, llama
Published: 2024-06-23 07:27:40

There's a lot of interesting AI models out there on hugging face, and sometimes I want to try them them. But I procrastinate, because honestly, it is a bit of a hassle to download and deploy the AI models. 

Well, looks like some folks thought the same, and made a service that lets you run any model from huggingface serverless: [Featherless](https://featherless.ai/). 

There's like 492 LLAMA models right now, but looks like they plan to add more open source models every week. 

I think it's really convenient that they let you chat with the model and preview how the AI would respond. It's hard to pick which ones you want when there's so many to pick, and I don't really want to download and deploy every single one of them to evaluate. Huggingface really should have had this feature.

Right, now to test some of these interesting roleplaying models, and form my DnD party. :D

![Chatting with roleplay-llama-3](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hmi9w2n8bwt30tx0qom3.png)
WhatsApp chatbot using Twilio and Google Dialogflow
Tags: devchallenge, twiliochallenge, ai, twilio
Published: 2024-06-23 07:25:01

*This is a submission for [Twilio Challenge v24.06.12](https://dev.to/challenges/twilio)*

## What I Built

I built a WhatsApp chatbot using Twilio and Google Dialogflow. This chatbot can interact with users, understand their queries, and respond intelligently. The main functionalities include:
- Handling user inquiries in real-time via WhatsApp.
- Using Google Dialogflow's AI to process natural language and generate appropriate responses.
- Sending responses back to the user through Twilio's WhatsApp messaging API.

The chatbot is designed to be easily expandable with additional intents and responses, making it suitable for various applications such as customer support, FAQ automation, and more.

## Twilio and AI

I leveraged Twilio's capabilities to handle the messaging infrastructure and Google Dialogflow for the AI processing. Here's how:

1. **Twilio**:
   - Used Twilio's WhatsApp sandbox to create a WhatsApp bot.
   - Configured Twilio to forward incoming WhatsApp messages to my server.
   - Utilized Twilio's API to send responses back to users on WhatsApp.

2. **Google Dialogflow**:
   - Implemented Dialogflow for natural language processing and intent recognition.
   - Created a Dialogflow agent with multiple intents to handle various user queries.
   - Integrated Dialogflow with the server to process user messages and generate responses.

The integration of Twilio and Dialogflow provides a seamless user experience where messages are received, processed, and responded to in real-time.

Code Link - [here](https://github.com/KarthiKey-Dev/WhatsApp-Chatbot-with-Twilio-and-Google-Dialogflow)

## Additional Prize Categories

- **Twilio Times Two**: This submission leverages Twilio's WhatsApp API in combination with Google Dialogflow's AI capabilities.
- **Impactful Innovators**: The chatbot has the potential to significantly improve customer support by automating responses and handling queries efficiently.
- **Entertaining Endeavors**: The bot can be expanded to include fun interactions, trivia, and games, providing entertainment alongside utility.
How to create a progress-bar with Tailwind CSS and JavaScript
Tags: tailwindcss, javascript, tutorial
Published: 2024-06-23 07:19:48

Remember the progress bar we built in the last tutorial with Tailwind CSS and Alpine.js? Well, we can do it again with JavaScript.

[Read the article,See it live and get the code](https://lexingtonthemes.com/tutorials/how-to-create-a-progress-bar-with-tailwind-css-and-javascript/)
Factory functions with private variables in JavaScript
Tags: webdev, javascript, functional, factory
Published: 2024-06-23 07:16:41

We all know classes in JavaScript , it is a template for creating objects.Classes are created using the "[class](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes)" keyword in JS. But before the introduction of class we had an alternate way of achieving this object oriented approach - Factory Functions

Factory functions are simple javascript functions which returns an object


![Factory function example](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3pm3ovooa1gqka4vo9r5.png)

Note that we don't require a "new" keyword to create the object.

The "this" keyword used inside the function will refer to the execution context (environment in which the function is executed) of that function.

Now we have private variables in classes , Let us see how we can achieve this using factory functions.

We can make use of Closures in JavaScript. What is a Closure?
A [closure](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures) is the collection of variables and functions that is being referenced. 

The variables used inside a function cannot be accessed outside unless it returns the variable.

We can make use of these to simulate private variables using factory functions


![Private variables using factory function](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/njtutiu9d9erogwqyvnv.png)

Here the variables id and marks cannot be used outside the function since it is block scoped. But it can be accessed by the inner function (status) , because it forms a closure with those variables.


**References**
Classes : [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes)
Closures : [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures)
Execution Context : [https://www.freecodecamp.org/news/how-javascript-works-behind-the-scene-javascript-execution-context/](https://www.freecodecamp.org/news/how-javascript-works-behind-the-scene-javascript-execution-context/)
Transitional Rugs, Transitional Carpets | Harsh Carpets
Tags: carpets, rugs
Published: 2024-06-23 06:16:38

Discover the perfect blend of classic and contemporary with our collection of transitional rugs. Elevate your space with versatile designs that seamlessly bridge the gap between traditional and modern aesthetics. Our transitional rugs offer a harmonious balance of elegance and trend-forward style, creating a sophisticated atmosphere in any room. Explore a curated selection of high-quality, handcrafted rugs designed to bring a timeless yet modern appeal to your home. Redefine your decor with transitional rugs that effortlessly complement your evolving style.Collection of Transitional Rugs | Buy Transitional Rugs & Carpets online , Transitional Rugs Shop Delhi India.
Click: [](https://www.harshcarpets.com/product-category/transitional/)
BEST CSS🧡GUIDELINES BY Aryan🤣
Tags: css, scss, webdev, react
Published: 2024-06-23 06:13:21

## Prefer CSS Variable
*.css
```css
/*
css
*/
:root{
    /*
    available for all elements
    */
--black:#000;
--shade-one:#040;
}
.class{
    /*
    only availble for 'class'
    */
    --orange:#ff3300;
    bgc:var(--orange);
}
```
*.scss
```css
/*
variable starts with $ sign
*/
$black:#000;
$orange:#ff3300;
```
## Prefer Shorthand for big apps (consistency)
```css
#id{
    padding:2px 2px 1px 1px;
    up left bottom right
    padding:2px 1px;
    /* up-down left-eight */
}
```
## seperate name with hyphen and meaningful name
```css
.body-header{

}
.body{

}
```
`note`: I sometime use parent-child hirerachy. If `.cards` is parent then try naming `cards-child` as child. And the `.cards-child` has child also then `cards-grandchild` and soon🤣.
## Reset css
```css
*{
    /* universal selector*/
    border-sizing:border-box;/* this will include margin and padding as width and height, 2px margin, 2px padding, 10px width makes 2px(content)*/
    font-weight:400; /*regular*/
}
```

## element grouping
```css
h1,h2,h3{
    margin:2px; /* margin of 2px (just repeating myself)*/
}
```
[in-link🧡](https://www.linkedin.com/in/aryan-khandelwal-779b5723a/)

## learning resources
[🧡Scaler - India's Leading E-learning](www.scaler.com)
[🧡w3schools - for web developers](www.w3school.com)