teleren/devto huggingface dataset:
AWS Summits 2023
Tags: aws, cloud, summit, cloudcomputing
Published: 2023-03-27 08:50:08

>**Note:** ✋ This post was originally published on my blog [wiki-cloud.co](https://wiki-cloud.co/en/2023/03/aws-summits-2023/)

AWS Summits are events organized by Amazon Web Services (AWS) that take place in different cities around the world so that people interested in the cloud can learn, share knowledge and connect with the AWS community. These events include technical sessions, hands-on workshops, demos, labs, customer presentations, question-and-answer sessions, and an expo of solutions from AWS and its partners.

AWS Summits are designed to serve a variety of audiences, from developers, solution architects, system administrators, to executives and business leaders looking to learn more about the cloud and how it can help their businesses. AWS Summits are free and open to anyone interested in cloud technology.

For the year 2023 the following events are planned:

**AMERICAS**

🇺🇸 [Washington, DC – Public Sector (June 7th and 8th, 2023)](https://aws.amazon.com/events/summits/washington-dc/)
🇨🇦 [Toronto (June 14th, 2023)](https://aws.amazon.com/events/summits/toronto/)
🇺🇸 [New York (July 26th, 2023)](https://aws.amazon.com/events/summits/new-york/)
🇧🇷 [São Paulo (August 3rd, 2023)](https://aws.amazon.com/pt/events/summits/sao-paulo/)
🇲🇽 [Mexico City (August 30th, 2023)](https://aws.amazon.com/es/events/summits/mexico-city/)

**APAC**

🇦🇺 [Sydney (April 4th, 2023)](https://aws.amazon.com/events/summits/sydney/)
🇯🇵 [Tokio (April 20th and 21th, 2023)](https://aws.amazon.com/jp/summits/tokyo/)
🇸🇬 [Singapore (May 4th, 2023)](https://aws.amazon.com/events/summits/asean/)
🇰🇷 [Korea (May 10th, 2023)](https://aws.amazon.com/ko/events/summits/korea/)
🇮🇳 [Mumbai (May 18th, 2023)](https://aws.amazon.com/events/summits/mumbai)

**EMEA**

🇫🇷 [Paris (April 4th, 2023)](https://aws.amazon.com/fr/events/summits/paris/)
🇩🇪 [Berlin (May 4th, 2023)](https://aws.amazon.com/es/events/summits/berlin/)
🇸🇪 [Estocolmo (May 11th, 2023)](https://aws.amazon.com/events/summits/stockholm/)
🇮🇱 [Tel Aviv (May 31th, 2023)](https://aws.amazon.com/events/summits/tel-aviv/)
🇳🇱 [Amsterdam (June 1st, 2023)](https://aws.amazon.com/events/summits/amsterdam/)
🇬🇧 [Londres (June 7th, 2023)](https://aws.amazon.com/es/events/summits/london/)
🇪🇸 [Madrid (June 15th, 2023)](https://aws.amazon.com/es/events/summits/madrid/)
🇮🇹 [Milan (June 22th, 2023)](https://aws.amazon.com/it/events/summits/milano/)

**GCR**
🇭🇰 [Hong Kong (May 23th, 2023)](https://aws.amazon.com/events/summits/hongkong/)
🇨🇳 Shanghai (July 2023)
🇹🇼 [Taipei (August 2nd, 2023)](https://aws.amazon.com/tw/events/taiwan/aws-summit-2023/)

**Featured topics**

- AI & ML
- Data & Analytics
- Compute
- IoT
- App Modernization
- Migration

I hope this information is useful.

**Follow me:**

> 👉[Wiki Cloud](http://wiki-cloud.co/) | 👉[Twitter](https://twitter.com/johnbulla) | 👉[LinkedIn](https://www.linkedin.com/in/johnbulla) | 👉[Youtube](https://www.youtube.com/user/johnbulla)
Hear me out dev.to, Chat GPT against spam 🤔?
Tags: meta, chatgpt, spam, discuss
Published: 2023-03-27 11:20:05

This topic might already have been touched a lot on dev.to, but what do we think about an auto moderator. That can scan posts for weird or spam content? Maybe even with chat GPT checking the contents of the post and assigning a score based on it for easy moderation.

I frequently check the latest tab, but I keep seeing advertisements, spam and more...

I know we have a a lot of people who regularly use the tools given to report people. But it's getting a bit to much maybe?

Is there already something being done against the bots? (I, for example haven't checked the register page for example, for a Captcha. But thinking about this, we might already have captcha solvers with chat GPT or some other form of bot). 

What does _dev.to_ think?
The Importance of JSON Web Tokens in Microservices Architecture
Tags: jwt, microservices, authentication
Published: 2023-03-27 11:19:38

JWTs are a compact, URL-safe means of representing claims to be transferred between two parties. In the context of microservices architecture, JWTs can be used to securely authenticate and authorize requests between services.

## How It Works
**Here's how it works:** when a user logs into your application, 

1. The authentication service generates a JWT containing the user's identity and any relevant permissions. 

2. This JWT is then passed to the user's client application, which can then use it to make requests to other microservices in the system.

3. Each microservice can verify the authenticity of the JWT using a shared secret key. 

4. This key is securely stored on each microservice and is used to verify the signature of the JWT. 

5. Once the JWT is verified, the microservice can extract the user's identity and any relevant permissions from the token and use them to authorize the request.

## Benefits
1. One of the key benefits of using JWTs in microservices architecture is that they are stateless. Unlike traditional session-based authentication, where a server has to maintain session information for each user, JWTs contain all the necessary information within the token itself. 

This means that each microservice can independently verify the token without relying on a central authentication server, making the system more resilient to failures and easier to scale.

2. Another benefit of using JWTs is that they can be used across multiple domains. Because JWTs are self-contained, they can be easily passed between different services or even different applications. This makes it easier to integrate with third-party services or to build a system that spans multiple domains.

---

In summary, JSON Web Tokens are an important tool in microservices architecture. They provide a secure, stateless way of authenticating and authorizing requests between services, making it easier to build complex systems that are scalable and resilient. If you're building a microservices architecture, be sure to consider using JWTs as part of your authentication and authorization strategy.

Also, if you found this post helpful, please consider giving it a like, sharing what you think about it in the comment or sharing it with others. Thanks for reading!
Documenting endpoints in API documentation. 📚
Tags: apidocumentation, technicalwriting, endpoints, learning
Published: 2023-03-27 11:12:32

##🚀 Day 2/31, learning consistently.✅

I tackled an essential topic in Technical Writing—Documenting endpoints in API documentation. 📚

Did you know that endpoints are like the doorways to your API? They're the specific URLs that users can access to interact with your API. 👨‍💻

To document endpoints effectively, you need to provide clear information about what each endpoint does, what HTTP methods it supports, what parameters it accepts, and what responses it returns. 💻

Here's a quick summary:

🔹 Start with a clear description of the endpoint's purpose.

🔹 List the supported HTTP methods (GET, POST, etc.)

🔹 Document any parameters that the endpoint accepts.

🔹 Provide examples of how to use the endpoint.

🔹 List all possible response codes and explain what they mean.

🔹 Explain any limitations or restrictions on the endpoint.

With these tips, the API documentation can be understood and used effectively. 

Let's connect on [LinkedIn](https://www.linkedin.com/in/ekemini-samuel-45062a1b4/) and [Twitter](https://twitter.com/realEkemini)

Photo by Negative Space:
https://lnkd.in/g595ibkb
HAVING Clause In MySQL
Tags: mysql, beginners, havingclaus, programming
Published: 2023-03-27 11:11:00

The `HAVING` clause is used in MySQL to filter the results of a query based on a condition that involves an aggregate function. This clause is used after the `GROUP BY` clause to filter the grouped data based on the result of the aggregate function.

Syntax:

```
SELECT column1, column2, aggregate_function(column_name)
FROM table_name
WHERE condition
GROUP BY column1, column2
HAVING aggregate_function(column_name) condition;
```

The `HAVING` clause is similar to the `WHERE` clause, but the `WHERE` clause filters the rows before the data is grouped, while the `HAVING` clause filters the groups after the data is grouped.

Example:

Let's consider the following table named `orders`:

<table><thead><tr><th>OrderID</th><th>CustomerID</th><th>OrderDate</th><th>TotalAmount</th></tr></thead><tbody><tr><td>1</td><td>1</td><td>2022-01-01</td><td>100</td></tr><tr><td>2</td><td>2</td><td>2022-01-02</td><td>200</td></tr><tr><td>3</td><td>1</td><td>2022-01-03</td><td>300</td></tr><tr><td>4</td><td>2</td><td>2022-01-04</td><td>400</td></tr><tr><td>5</td><td>3</td><td>2022-01-05</td><td>500</td></tr></tbody></table>

If we want to find the total amount of orders for each customer and only show the results for customers who have ordered more than 300 dollars, we can use the following query:

```
SELECT CustomerID, SUM(TotalAmount) as Total
FROM orders
GROUP BY CustomerID
HAVING SUM(TotalAmount) > 300;
```

The result will be:

<table><thead><tr><th>CustomerID</th><th>Total</th></tr></thead><tbody><tr><td>1</td><td>400</td></tr><tr><td>2</td><td>600</td></tr></tbody></table>

As you can see, the `HAVING` clause is used to filter the result set based on the aggregate function `SUM(TotalAmount)`, which calculates the total amount of orders for each customer. The condition `SUM(TotalAmount) > 300` filters out the customers who have ordered less than 300 dollars.
How To Read For Maximum Retention
Tags: productivity, webdev, codenewbie, beginners
Published: 2023-03-27 11:03:14

“This reading technique put me in the top 2% of all my classes from undergrad school to my masters at Berkley.” - North Caroline University’s Professor Jeffrey Kaplan

What is the purpose of reading if you don’t remember any of it later? 

Distraction. 

If you read to learn and not for distraction(nothing wrong with that), pay attention because this has the potential to skyrocket your learning.

But only if you say yes to this question.

Would you read 50% slower to retain 10x more?

It sounds like a no-brainer to me.

Retaining more means:

- Actually acquiring knowledge
- Be able to tap into that knowledge at will
- Be able to write efficiently from memory

Unfortunately…

## Most people are interested in reading 2x faster

To brag about how many books they read in a month (without retaining anything)

You don’t want to post that it took you 1 month to read a 200-page book or that your read only 5 books last year, do you?

I don’t think so.

But the truth is that the number of books you read or your reading speed is irrelevant if you are reading to gain knowledge and not to pass time.

If retaining knowledge is what you are after, here is how you can read for maximum retention.

### **Step 1: Summarize the first 3 paragraphs into a single sentence each**

This is called “synthesis”.

When you summarize a block of text down to a single sentence, you are forced to understand the meaning of that text.

You encourage your brain to find relationships and patterns.

Here’s how I’d do it for the following 3 paragraphs.

![3 paragraphs](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7hck98iycuaz3oyvn7fq.png)

1. The easiest way to drive intrinsic value is by writing a list with pen and paper
2. Write 25 things you are curious about to the point of spending a weekend studying it
3. Be specific, the more detail the better.

### **Step 2: Summarize the 3 sentences into a single one.**

You’ll have to leave stuff out.

That is the point.

Your brain is forced to find and pick what it considers the most important points.

Here’s how I’d do it for my 3 sentences above:

1. Write down in detail 25 things you are very curious about.

### **Step 3: Rince and repeat for the rest of the book**

No, it’s not easy.

It’ll take you twice the time to read the book.

But you’ll 10x your retention.

I suggest skimming through the book to see if the content is worth retaining.

If so, this is retention in steroids. 

As usual: Easy choices, hard life. Hard choices, easy life.
Javascript Object #1
Tags: javascript, objects, webdev, programming
Published: 2023-03-27 11:01:34

To explain in brief,Javascript is programming language almost used in all web pages.The master language behind everything you see in the Web World.Let's See About His History in another Post.
Now Let's Look into Objects in Javascript,Among the 8 datatypes in them.The man we are going to see is a _NON-PRIMITIVE_ man,as he is Different from others,he got the most powerfull one as he can store anyone of his 7 _PRIMITIVE_ friends.Enough Story,let See what he capable of and How can we Create that Man.

**CREATING OBJECT**

The Most Common way of Creating him is 

```
let object = {};
```
Looking Simple Right,Yes he Looks like simple but he's not that easy 
The ways we created the object man Above is called _object literal Notation_,the basic way.

Now let's Jump into and explore what his Strength and what he can hold

```
let objectName = {
firstName: 'SAM',
lastName: 'r',
}

```
Just look Above he's holding something called firstName and lastName inside him.Confusing right? let make it easy,the firstName and lastName is called as _key_ in javascript and value 'sam' and 'r' is called as value.In Javascript Objects are Stored as Key and Value Pairs and a single key value is called as a Property.

Here the key can we be String but the value can be anything,as i have told you they can store anyone of his _PRIMITIVE FRIENDS_ and that's why they are stronger one the amongest.They can Store Array,                                             Object, Function, String, Integer and his Other Friends.
 
That's Enough about Him for Now.But He is Big and Strong,Let's See how you can use access,update and delete him using some methods

Thank You!
Caching OAuth2 Token using Redis
Tags: redis, cache, authentication
Published: 2023-03-27 10:58:17

When consuming external services, it is common to use OAuth2 token as the authorization pattern.

OAuth2 stands for "Open Authorization", and the result returned by the https://example.com/oauth2/token is usually like this one:

```jsx
{
   access_token: 'access_token',
   token_type: 'Bearer',
   expires_in: 3600,
}
```

You want to reuse the access_token until it is valid, instead of always calling `oauth2/token` endpoint every time. This can reduce up to 1/2 seconds if the external service you are consuming is slow.

## Caching OAuth2 Token using Redis

Redis is an in-memory key value database that can let you save some data with expiration time. It is the perfect option to cache data with an expiration time.

Let's see how to read and set some data with expiration using Redis using node and ioredis package

```jsx
import Redis from 'ioredis'

const redis = new Redis();

// save value stringified in a given key for some seconds
redis.setex(key, seconds, JSON.stringify(value));

// read the value of the key, it will return null if the key is expired
redis.get(key); 
```

Given the 2 commands above we can implement a higher order function to make our `oauth2Token` request cacheable with Redis

```jsx
const withAccessTokenCache = (oauth2TokenRequest, cacheKey = 'oauth2token') => async () => {
  const cachedToken = await redis.get(cacheKey);
  if (cachedToken) {
    return JSON.parse(cachedToken);
  }

  const tokenResponse = await oauth2TokenRequest();

  if (tokenResponse.access_token && tokenResponse.expires_in) {
    await redis.setex(cacheKey, tokenResponse.expires_in, JSON.stringify(tokenResponse));
  }
  
  return tokenResponse;
}
```

`withAccessTokenCache` will first try to read the tokenResponse from the Redis cache, and only request a new token if the current one was expired.

Here is the final example:

```jsx
const providerOAuth2Token = async () => {
  const url = `https://example.com.br/oauth2/token`;
  
  const options = {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
  };

  const response = await fetch(url, options);
  return await response.json();
};

const providerOAuth2TokenWithCache = withAccessTokenCache(providerOAuth2Token);
```

## To sum up
Woovi provide instant payments solutions, so we need to make our services as fast as instant. We use cache to make slow external services to look fast.

What else are you caching?

---
Woovi
[Woovi](https://www.woovi.com) is a Startup that enables shoppers to pay as they like. To make this possible, Woovi provides instant payment solutions for merchants to accept orders.

If you want to work with us, we are [hiring](https://woovi.com/jobs/)!

---
Photo by <a href="https://unsplash.com/@wellshall?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Wells Hall</a> on <a href="https://unsplash.com/photos/YTXuYyDhJBk?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
Ceph Storage Solutions: Which is the Fastest and Most Efficient?
Published: 2023-03-27 10:50:25

---
title: Ceph Storage Solutions: Which is the Fastest and Most Efficient?
published: true
description: In this video we're looking into Ceph performance! We'll be comparing different storage solutions and versions, specifically Pacific and Quincy, to see how they stack up against each other. We'll cover everything from speed and efficiency to scalability and reliability.
tags: 
cover_image: https://i.ytimg.com/vi/eOIw0m3tQqU/maxresdefault.jpg
---

{% youtube eOIw0m3tQqU %}

In this video we're looking into Ceph performance! We'll be comparing different storage solutions and versions, specifically Pacific and Quincy, to see how they stack up against each other. We'll cover everything from speed and efficiency to scalability and reliability.
Product Photo Editing Services
Tags: editing
Published: 2023-03-27 10:41:17

[Product photo editing services](https://clippathservice.com/) are professional services that help eCommerce businesses to create high-quality product images that are visually appealing and effective in increasing sales. Here are some of the main product photo editing services that are commonly offered:

**Background removal:** Removing the background of product images and replacing it with a transparent, solid color, or white background can help to create a more professional and cohesive online store.

**Color correction:** Adjusting the color balance, contrast, and brightness of product images can help to enhance their visual appeal and create more engaging images.

**Shadow and reflection creation:** Adding shadows or reflections to product images can help to create a more realistic and three-dimensional look that can increase the likelihood of a purchase.

**Retouching:** Removing blemishes or imperfections from product images can help to create a cleaner and more professional look that can build trust with customers.

**Image resizing and cropping:** Resizing or cropping product images can help to make them more adaptable for different contexts and marketing materials.

**Image optimization:** Optimizing product images for web use can help to improve page load times and create a more seamless shopping experience for customers.

[Product photo editing services](https://clippathservice.com/) can help eCommerce businesses to create high-quality product images that are visually appealing, consistent, and effective in increasing sales. By using professional photo editing services, eCommerce businesses can create a more engaging and effective online store that builds trust with customers and increases sales.
21- Add a New Menu Item to QGIS Software
Tags: programming, python, pyqgis
Published: 2023-03-27 10:36:13

--- series: A beginner's guide to using Python with QGIS ---
Learn how to customize your QGIS software and improve your workflow by adding a new menu item with PyQGIS. This step-by-step guide explains how to import the `webbrowser` module, define a function that opens a specified website in a web browser, create a `QAction` instance, and add it to the help menu. With this new menu item, you can quickly access a website of your choice directly from QGIS. Follow the instructions in this article to enhance your QGIS experience and streamline your work.

Import the `webbrowser` module:

```python
import webbrowser
```

  
Define a function that opens the specified website in a web browser:

```python
def open_website(): webbrowser.open('https://smartrs.blog/series/pyqgis-basics')
```

Create a `QAction` instance with the label "Go to: Introduction to PyQGIS":

```python
website_action = QAction('Go to: Introduction to PyQGIS')
```

Connect the `triggered` signal of the `QAction` to the `open_website()` function:

```python
website_action.triggered.connect(open_website)
```

Add a separator to the help menu:

```python
iface.helpMenu().addSeparator()
```

Add the `website_action` `QAction` to the help menu:

```python
iface.helpMenu().addAction(website_action)
```

Now, from the "Help" menu, click on the newly created item "Go to: Introduction to PyQGIS" to open the website.

Here's the overall code:

```python
# Import the webbrowser module
import webbrowser

# Define a function that opens the specified website in a web browser
def open_website():
    webbrowser.open('https://smartrs.blog/series/pyqgis-basics')

# Create a QAction instance with the label "Go to: Introduction to PyQGIS"
website_action = QAction('Go to: Introduction to PyQGIS')

# Connect the triggered signal of the QAction to the open_website() function
website_action.triggered.connect(open_website)

# Add a separator to the help menu
iface.helpMenu().addSeparator()

# Add the website_action QAction to the help menu
iface.helpMenu().addAction(website_action)
```

In conclusion, this article provides a step-by-step guide on how to add a new menu item to the QGIS software with PyQGIS. By following the instructions provided in the article, users can add a new menu item to the help menu, which will open a specified website in a web browser. This article is helpful for users who want to customize their QGIS software and improve their workflow.

> If you like the content, please [SUBSCRIBE](https://www.youtube.com/channel/UCpbWlHEqBSnJb6i4UemXQpA?sub_confirmation=1) to my channel for the future content
Free Blogging Course
Tags: blogging, blogger, website, seo
Published: 2023-03-27 10:35:45

## Special Articles

[Install a free Blogger template](https://www.infomentry.com/2023/02/install-free-blogger-template.html)

[16 Pro Tips to Secure a Gmail account](https://www.infomentry.com/2023/02/secure-gmail-account.html)

[How to create a free website in 2023?](https://www.infomentry.com/2023/02/create-free-website.html)

[12 Points to Understand the Blogger Dashboard](https://www.infomentry.com/2023/02/understand-blogger-dashboard.html)

[How to Make a Free Logo for a Website?](https://www.infomentry.com/2023/03/make-free-logo-for-website.html)

[How to Add a Logo on Blogger Website 2023?](https://www.infomentry.com/2023/03/how-to-add-logo-on-blogger-website.html)

[How to Use Canva For Education in 2023?](https://www.infomentry.com/2023/03/how-to-use-canva-for-education.html)

[How to Create a Favicon For Free?](https://www.infomentry.com/2023/03/how-to-create-favicon-for-free.html)

[How to change Favicon in Blogger?](https://www.infomentry.com/2023/03/how-to-change-favicon-in-blogger.html)

[How To Customize Blogger Template?](https://www.infomentry.com/2023/03/how-to-customize-blogger-template.html)

[How To Customize Blogger Layout?](https://www.infomentry.com/2023/03/how-to-customize-blogger-layout.html)

[How to Create Categories, labels, or tags in Blogger?](https://www.infomentry.com/2023/03/how-to-create-categories-tags-labels-in-blogger.html)

[How to Create and Add Custom Robots.txt in Blogger?](https://www.infomentry.com/2023/03/how-to-create-and-add-custom-robots-txt-in-blogger.html)