teleren/devto huggingface dataset:
The Manager of W3C Web Accessibility Evaluation Tools Writes About Atoall.com It Is a Useful Tool
Tags: a11y, disability, tool, webdev
Published: 2023-01-31 05:04:00

Robust: users must be able to access the content as technologies advance. The main rule of the WCAG. Private and government websites follow W3C's WCAG to increase digital accessibility, inclusion, equality etc.

To helps differently abled persons or disabilities. Our world has multiple languages and different health conditions of the public. Alphabets of domain names are also away from each other and in a language. So, 3 billion people can not type website names easily. Websites are the responsibility of private and government website managers or owners.

"The method of the new tool is to type any 3 keys twice as those in a line, for example, aassdd.com, ffgghh.com or gghhjj.com. Website can be opened by these easy to use keys by just copying and pasting a small code from atoall.com on a website in the body tag or settings. When we say that press any 3 keys, it means we don't need any language to type." said Web Accessibility Tool.

**Why and demo :-**

1. Open webaccessibilitytool.com.
2. Open a new tab.
3. Type in the address bar and any 3 keys that are in line on the keyboard. For example, ppooii or jjkkll and .com. it will be ppooii.com or jjkkll.com.
4. One will see https://webaccessibilitytool.com again.

One can see the same website without long, and language alphabets. When one types any 3 keys twice, that means no need for any language. Now 3 billion regional and a billion disabled people can get benefits from this tool.
If a person wants to open https://webaccessibilitytool.com, then he/she needs knowledge of the English alphabet, proper eyesight, working hands and fingers. Otherwise, he/she needs help from a third person.
Now they need this help for the next day, also, and so on. Now they depend on that person. With this tool, they will be independent.

**If you are a website manager or owner, then how to use it?**
For a website manager or owner

1. Copy the code https://atoall.com
2. Paste the code on the website into a body tag.
3. Now upload it.
4. Open the website in the new tab.
5. Type in the new tab https://ppooii.com, https://llkkjj.com or https://ooiiuu.com

•  One will see the website with this new tool. Users will get their web page more quickly. If this tool is on multiple websites, then to open the second, last, or third last visited website click on the icon of Atoall.com on your website. They will see images of visited websites, and click his/her website image.

https://youtu.be/ooryCUyXsZk
![Web accessibility Tool ``of Atoall.com](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/asn7ygg638stgb9tof6d.png)
An Introduction to Software Development Languages and When to Use Them
Published: 2023-01-31 05:00:00

Software development languages are the tools that programmers use to create software programs. There are many different languages available, each with their own unique features and capabilities. In this post, we'll take a look at some common software development languages and when to use them.

C: C is a high-level, general-purpose programming language that is widely used for a variety of applications, including operating systems, web browsers, and database systems. It is known for its efficiency and flexibility, but can be more difficult to learn and use than some other languages. 

C++: C++ is an extension of the C programming language that adds support for object-oriented programming. It is widely used for building large, complex systems, but can also be more difficult to learn and use than some other languages. 

Java: Java is a high-level, object-oriented programming language that is widely used for building web applications, mobile apps, and other types of software. It is known for its simplicity and ease of use, but can be slower and less efficient than some other languages. 

Python: Python is a high-level, general-purpose programming language that is widely used for a variety of applications, including web development, data analysis, and machine learning. It is known for its simplicity and readability, making it a good choice for beginners. 

C#: C# is a high-level, object-oriented programming language that is widely used for building Windows applications and games. It is known for its simplicity and powerful features, but is limited to the Windows platform. 

Conclusion

Software development languages are the tools that programmers use to create software programs. There are many different languages available, each with their own unique features and capabilities. It's important to choose the right language for the task at hand, taking into account factors such as the complexity of the project, the performance requirements, and the platform and environment.
Ekspedisi Antar Pulau
Tags: pwa, pwabuilder, webdev, javascript
Published: 2023-01-31 04:55:41


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7kaizdxqqzo2p3qyjl5y.jpeg)
SNG Logistic adalah salah satu perusahaan [jasa pengiriman](https://snglogistic.com/jasa-pengiriman-terdekat.html) terbaik yang ada di Indonesia. Dalam beroperasi, SNG Logistic menjalankan bisnis general cargo baik itu skala retail, corporate contract, maupun project cargo ke seluruh pelosok Indonesia. Kami pun menyediakan layanan yang cukup lengkap, seperti cargo darat, laut, udara, hingga trucking dan container.

Telah berdiri sejak tahun 2015, SNG Logistic kini telah menjadi salah satu jasa pengiriman terpercaya yang ada di Indonesia. Didukung dengan fasilitas gudang, armada, dan SDM yang mumpuni, SNG Logistic selalu menjaga kualitas pelayanannya agar tetap menjadi yang terbaik. Tak hanya itu, SNG Logistic pun memiliki jaringan hub/port yang tersebar di 34 provinsi Indonesia.

Hingga saat ini, bahkan kami telah memperluas rute pengiriman hingga ke 547 kota dan kabupaten di Indonesia. SNG juga dikenal sebagai salah satu [ekspedisi antar pulau](https://snglogistic.com/) terbaik dengan layanan terlengkap. Jasa pengiriman barang murah via darat, laut, & udara dengan jaringan luas ke seluruh area Indonesia.

Jadi bagi Anda yang sedang mencari jasa pengiriman spesialis barang besar, berat, dan panjang, segeralah hubungi kami SNG Logistic Indonesia. Tentu kami akan dengan senang hati melayani dan memenuhi kebutuhan pengiriman barang Anda. Kirim Barang? SNG-in Aja!
REST APIs content negotiation
Tags: rest, api, design
Published: 2023-01-31 04:46:21

When multiple representations are available, content negotiation selects the best representation for a given response. It is a crucial aspect of REST API design, as it allows clients to receive resources in the format they prefer.

In content negotiation, the client indicates its preferred representation format using the Accept header in its request. The server then selects the best representation based on the client's preference and the available representations of the resource.

For example, a client might request a resource in JSON format by sending the following request:

```bash
GET /users/1 HTTP/1.1
Accept: application/json
```

The server would then return the resource in JSON format:

```bash
HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": 1,
  "name": "John Doe",
  "email": "johndoe@example.com"
}
```

In SOAP-based APIs, content negotiation was not a standard feature, as SOAP messages were typically transmitted in XML format. SOAP made it difficult for clients to request resources in a different format and created a rigid and inflexible experience for clients.

In contrast, REST APIs use content negotiation to provide a flexible and scalable way for clients to receive resources in the format they prefer. Content negotiation makes REST APIs easier to use, as clients can choose the best format. It also makes REST APIs easier to extend, as new formats can be added without breaking existing clients.

In conclusion, content negotiation is a critical aspect of REST API design, as it allows clients to receive resources in the format they prefer. The content negotiation option in REST APIs is far better than the limited options available in SOAP-based APIs and provides a flexible and scalable solution for modern web services.
Remote Work is Here to Stay: Navigating the Future of Software Development
Tags: software, productivity, programming, career
Published: 2023-01-31 04:45:00

Hey Developers!

Have you been following the growing trend of remote work in the software industry? As remote work becomes the new normal, it's crucial that we understand how to thrive in this shifting landscape.

I recently wrote a comprehensive article on Medium about "The Future of Work: Embracing Remote Software Development". In it, I delve into the benefits and challenges of remote work and provide practical tips and advice on how to succeed in a remote environment.

Whether you're a seasoned remote developer or just starting out, this article is a must-read. From maximizing productivity to building a strong team culture, it covers everything you need to know about remote software development.

So what are you waiting for? Head over to Medium to check out my article and learn how to navigate the future of work. And if you find it helpful, don't forget to like, comment, and share!

https://medium.com/@aaron-janes/the-future-of-work-embracing-remote-software-development-ef4d94443522
1626. Leetcode Solution in CPP
Tags: chiki1601, cpp
Published: 2023-01-31 04:44:42

==============================================================
Description:
==============================================================
You are the manager of a basketball team. For the upcoming tournament, you want to choose the team with the highest overall score. The score of the team is the sum of scores of all the players in the team.

However, the basketball team is not allowed to have conflicts. A conflict exists if a younger player has a strictly higher score than an older player. A conflict does not occur between players of the same age.

Given two lists, scores and ages, where each scores[i] and ages[i] represents the score and age of the ith player, respectively, return the highest overall score of all possible basketball teams.

 

Example 1:

Input: scores = [1,3,5,10,15], ages = [1,2,3,4,5]
Output: 34
Explanation: You can choose all the players.
Example 2:

Input: scores = [4,5,6,5], ages = [2,1,2,1]
Output: 16
Explanation: It is best to choose the last 3 players. Notice that you are allowed to choose multiple people of the same age.
Example 3:

Input: scores = [1,2,3,5], ages = [8,9,10,1]
Output: 6
Explanation: It is best to choose the first 3 players. 
==============================================================
Solution:
```cpp
struct Player {
  int age;
  int score;
  Player(int age, int score) : age(age), score(score) {}
};

class Solution {
 public:
  int bestTeamScore(vector<int>& scores, vector<int>& ages) {
    const int n = scores.size();
    vector<Player> players;
    // dp[i] := max score of choosing players[0..i] w/ players[i] being selected
    vector<int> dp(n);

    for (int i = 0; i < n; ++i)
      players.emplace_back(ages[i], scores[i]);

    sort(begin(players), end(players), [](const auto& a, const auto& b) {
      return a.age == b.age ? a.score > b.score : a.age > b.age;
    });

    for (int i = 0; i < n; ++i) {
      // For each player, we choose it first
      dp[i] = players[i].score;
      // players[j].age >= players[i].age since we sort in descending order
      // So we only have to check that
      // players[j].score >= players[i].score
      for (int j = 0; j < i; ++j)
        if (players[j].score >= players[i].score)
          dp[i] = max(dp[i], dp[j] + players[i].score);
    }

    return *max_element(begin(dp), end(dp));
  }
};
```
==============================================================
#leetcode
#challenge
Here is the link for the problem:
https://leetcode.com/problems/best-team-with-no-conflicts/
HTTP status code for REST error reporting
Tags: rest, api, errors, http
Published: 2023-01-31 04:32:22

Error notification is an essential aspect of API design, allowing clients to handle errors consistently and predictably. In traditional SOAP-based APIs, error notification was a challenge, as there needed to be a standard way to communicate errors to clients. 

SOAP error notification typically involved returning a complex XML structure that contained information about the error, including the error code and a description of the error. This approach made it difficult for clients to parse and understand the errors and created an inconsistent experience for clients using different SOAP APIs.

REST APIs, on the other hand, use HTTP status codes to communicate errors to clients. HTTP status codes are a standardized set of codes that are used to indicate the status of an HTTP response. They are simple, well-defined, and widely understood, making them an excellent choice for error notification in REST APIs.

There are five classes of HTTP status codes:

**1xx (Informational):** The request was received, and the server is continuing to process it.

**2xx (Successful):** The request was successfully received, understood, and accepted.
**
3xx (Redirection):** Further action is required to complete the request.

**4xx (Client Error):** The request contains bad syntax or cannot be fulfilled by the server.

HTTP status codes allow REST APIs to provide a consistent and understandable way to communicate errors to clients. For example, a 400 Bad Request status code indicates that the client made a mistake in the request, while a 500 Internal Server Error status code indicates an error on the server.

In conclusion, error notification is a critical aspect of API design. REST APIs use HTTP status codes to provide a simple, consistent, and well-understood way to communicate errors to clients. This approach significantly improves the complex and inconsistent error notification in SOAP-based APIs. It is one of the many reasons why REST APIs have become the standard for modern web services.
Terraform Learning Note - 1
Published: 2023-01-31 04:20:45

## Common Commands. 

- `terraform init` - initializing a configuration directory downloads and installs the providers defined in the configuration
- `terraform fmt` - formatting the code in the current directory 
- `terraform validate` - validating the configuration in the current directory 
- `terraform plan` - printing out changes the current directory planning to perform
- `terraform apply` - deploying changes stick with the configuration 
- `terraform show` - listing all the resources provisioned by using current directory 
- `terraform state list` - listing all current resources managed by this project
- `terraform destroy` - terminating resources managed by the current terraform project
Nuant - Crypto data intelligence
Tags: data, cryptocurrencies, cryptocurrency
Published: 2023-01-31 04:20:18

Nuant combines data, insights, and analytics with portfolio monitoring, portfolio construction, compliance, and risk management to help managers win and retain clients in digital asset management. 

Nuant seamlessly meets the needs of digital asset institutions today with the future financial services data, solutions & architecture of tomorrow.

[https://www.nuant.com](https://www.nuant.com)
How to consume promises with webcomponents? 🤓
Tags: webcomponents, hooks, promise
Published: 2023-01-31 04:12:00

---
title: How to consume promises with webcomponents? 🤓
published: true
description: I would like to show how to consume promises with Atomico webcomponents
tags: webcomponents, hooks, promise
series: Atomico 
//cover_image: https://direct_url_to_image.jpg
---

[Atomico](https://atomicojs.dev/) brings the functional syntax of React to web components to make things simpler, today I would like to show you solving how to consume promise in just 3 steps.

## Step 1

import the useAsync hook from Atomico.

```ts
import { useAsync } from "atomico";
```

## Step 2

Abstract your promise into a callback.

```ts
const getUsers = () => fetch("/api/users").then((res) => res.json());
```

## Step 3

Finally in your webcomponent created with Atomico add the useAsync hook and consume the promise.

```tsx
function myComponent() {
  const users = usyAsync(getUsers);

  return (
    <host>
      <h1>Users({users.length})</h1>
      <ul>
        {users.map((user) => (
          <li>{user.name}</li>
        ))}
      </ul>
    </host>
  );
}
```

And that's it 🎉, you are already consuming promises with Atomico, remember that this way does not allow us to observe the resolution status, since with the useAsync hook we seek to delegate that process to a parent component (This is known as suspense 🤓)
URI and REST APIs Design
Tags: rest, api, designpatterns, uri
Published: 2023-01-31 04:08:10

Resource-oriented URIs (Uniform Resource Identifiers) are a crucial aspect of REST API design and play a significant role in determining the overall design of the API.

A resource-oriented URI should be clear, concise, and consistent in representing a specific resource. For example, an API to manage users might have a URI such as /users/{id} to represent an individual user resource, where {id} is a placeholder for the user's unique identifier. This URI clarifies what the resource represents and how to access it.

The design of resource-oriented URIs is closely related to the _Richardson Maturity Model_, which is a model for understanding the maturity of RESTful systems. The model consists of four levels, each representing a higher level of maturity in REST API design.

**Level 0:** Resource-oriented URI At this level, the API has a basic REST understanding and uses resource-oriented URIs to represent resources.

**Level 1:** HTTP Verbs At this level, the API uses HTTP verbs (GET, POST, PUT, DELETE) appropriately to represent different actions that can be performed on a resource.

**Level 2:** HATEOAS At this level, the API implements Hypermedia as the Engine of Application State (HATEOAS), meaning that the API returns representations that include links to related resources. This allows clients to navigate the API dynamically without prior knowledge of the API structure.

**Level 3:** Advanced Representations At this level, the API provides advanced representations of resources, including support for content negotiation and multiple formats.

In summary, resource-oriented URIs play a critical role in REST API design and are closely related to the maturity levels in the Richardson Maturity Model. By following best practices for resource-oriented URIs and using the HTTP verbs appropriately, you can design a REST API that is easy to use, scalable, and maintainable.
REST API design principles
Tags: api, rest, architecture, designpatterns
Published: 2023-01-31 03:55:43

_Representational State Transfer (REST)_ is a popular architectural style for building web services. REST APIs provide a way for systems to communicate with each other over the internet and are essential for creating modern, connected applications.

When designing a REST API, it's essential to follow certain design principles to ensure that the API is scalable, maintainable, and easy to use. In this post, we'll cover the core principles of REST API design.

**1. Resource-Oriented URIs**
The first and most crucial principle of REST API design is to design resource-oriented URIs. Resources are the fundamental units of a REST API, and the URIs should reflect this by being clear, concise, and consistent.

For example, a resource representing a user might have a URI like /users/{id}, where {id} is a placeholder for the user's unique identifier. This URI clarifies what the resource represents and how to access it.

**2. HTTP Methods**
The second principle of REST API design is appropriately using HTTP methods (GET, POST, PUT, DELETE). Each HTTP method represents a different action that can be performed on a resource, and the API should use these methods consistently.

For example, a GET request should be used to retrieve a resource, a POST request should be used to create a new resource, and a DELETE request should be used to delete a resource.

**3. HTTP Status Codes**
HTTP status codes are an essential part of REST API design, as they provide information about the outcome of an API request. The API should use HTTP status codes consistently to indicate the outcome of each request.

For example, when a new resource is successfully created a 201 Created status code should return. when a new resource is successfully created, and a 404 Not Found status code should be returned when a resource cannot be found.

**4. Content Negotiation**
Content negotiation is the process of choosing the best representation of a resource for a given request. REST APIs should support content negotiation to ensure the client can receive the representation it needs.

For example, a client might request a resource in JSON format, while the server might support multiple formats, such as JSON, XML, and YAML. The server should be able to negotiate the best representation for the client's request.

**5. Statelessness**
Finally, REST APIs should be stateless, meaning each request contains all the information necessary to complete the request. Statelessness makes REST APIs scalable and maintainable, as it eliminates the need for server-side state.

In conclusion, these are the core principles of REST API design. Following these principles, you can create a scalable, maintainable, and easy-to-use API that provides an excellent user experience.