teleren/devto huggingface dataset:
API monitoring vs. observability- Debugging microservices efficiently
Tags: devops, microservices, observability, programming
Published: 2023-06-05 11:17:48

As microservices architecture has become more popular, there has been a growing need for API observability. This is because microservices applications are made up of many small, independent services that communicate with each other through APIs. This can make it difficult to track the performance and health of an application, as well as identify and troubleshoot problems.

API observability is a broader term than API monitoring. Monitoring focuses on tracking known metrics, such as request latency and response time. Observability, on the other hand, also includes tracking unknown metrics, such as error rates and resource utilization. This allows developers to get a more complete picture of how an API is performing, and to identify problems before they impact users.

There are a number of tools that can be used to implement API observability. Some popular options include:

Prometheus: A popular open-source monitoring system that can be used to collect metrics from APIs.

Grafana: A visualization tool that can be used to display Prometheus metrics.

Jaeger: A distributed tracing tool that can be used to track requests as they flow through an application.

By implementing API observability, developers can gain a deeper understanding of how their applications are performing. This can help them to identify and troubleshoot problems more quickly, and to improve the overall performance and reliability of their applications.

[Continue reading](https://gethelios.dev/blog/api-monitoring-vs-observability-in-microservices-troubleshooting-guide/) to learn more about:

-The advantages of observability compared to monitoring

-The pillars of API observability (functional test automation, performance management, security and analytics)

-Metrics (API dependencies, API stats, Api spec

- Benefits and examples

- Use cases

-Evaluating 3rd party tools

-API observability with openTelemetry and distributed tracing

-How to make it actionable: Visualization, granular error data and insights
Solar Panel Monitoring App Development: Real Time PV Tracking
Tags: appdevelopersintoronto, torontoappdevelopers, appdevelopersincanada
Published: 2023-06-05 11:12:42

Developing a solar panel monitoring app with real-time PV tracking can be valuable for [Toronto app developers](https://www.pyramidions.com/mobile-app-development-company-toronto.html
) and operators of solar panel systems. The app can provide real-time data on the performance of solar panels, including energy production, system efficiency, and any potential issues or malfunctions. Here's an outline of the development process for such an app:

1. **Data Visualization for Performance Analysis**
Develop interactive charts and graphs to visualize energy production trends, system efficiency, and key metrics. Comparative analysis tools to help users assess the performance of their solar panel systems over time.


2. **Predictive Analytics for Optimization**
Utilize machine learning algorithms to predict future energy production based on historical data and weather patterns. Offer recommendations for system optimization and insights into potential energy savings and return on investment (ROI) by simulating system changes or upgrades.

3. **Gamification and Social Integration**
 Introduce gamification elements, such as achievements or leaderboards, to encourage users to improve their solar panel system performance. Social media integration to allow users to share their achievements, energy savings, and environmental impact with their networks.

4. **Remote Troubleshooting and Support**
Implement remote troubleshooting features to diagnose and address system issues without requiring on-site visits. Enable users to contact support directly through the app and provide a knowledge base or FAQ section to offer self-help resources.

5. **Energy Marketplace Integration**
Integrate with energy marketplaces or utility companies to enable users to sell excess energy generated by their solar panels. Display real-time energy prices and offer insights into the most cost-effective times to sell energy back to the grid. Facilitate seamless transactions and billing processes between users and energy marketplaces.
Exciting New Development Options in the Developer Console
Tags: webdev, announcement, productivity, github
Published: 2023-06-05 11:02:35

The world is going the way of Artificial Intelligence and automation. With hectic schedules and more and more tasks to complete, people are looking for ways to make their work more accessible and efficient in the shortest amount of time possible.

To address these needs, [the Developer Console](https://platform.text.com/console/) has taken the lead by introducing exciting new development possibilities. You now have the option to effortlessly connect your GitHub repository to your Developer Console app, seamlessly integrating it with deployment services like Netlify or Vercel — all to simplify and smooth out your deployment workflow.

## So what’s the fuss all about?

Until now, you had to go through the steps of setting up your own repository in GitHub and working on your app using the code editor on your local machine to create your application in the Console. You also needed to manually set up a deployment on your end, or even rely on your own servers.

Right now you can both create repositories and complete the deployment straight from the Developer Console, staying in the same context and streamlining your workflow. You can also manage your application’s code through Visual Studio, and — you guessed it — you can access it directly from the Console.

![LiveChat Dev Console Repository Block](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v7f6g05ngbsyr5sy1n3f.png)

Now you know that the Developer Console can optimize and automate a great deal of your work. In fact, you can manage almost your entire development process from the Developer Console’s application view. If you’d like to know more technical details on this process, [have a look at our docs](https://platform.text.com/docs/getting-started/app-guides/integrations).

And what if you’re not a Developer Console user? What can I say — stop wasting time and sign up! It’s a superb place with multiple opportunities to create a passive income stream by building applications. [Check out our Developer Program >>](https://platform.text.com/)
Astro Coding Session: "Series" feature on my blog
Tags: astro, webdev, showdev, typescript
Published: 2023-06-05 10:35:08

Hello! If you read my articles often here on devto you probably noticed that I also publish them on my website [leonardomontini.dev](https://leonardomontini.dev).

It's a static Astro website hosted on Netlify. I'm using Typescript and the articles are stored in mdx files so I can easily add components inside them, for example the YouTube video player.

The repository is Open Source, you can have a look on GitHub

{% github Balastrong/blog-astro %}

If you're curious about how I code, I recorded a short coding session where I added an initial version of the Series feature we have here on devto. Basically I add a "series" field in the frontmatter of the mdx files and then I show in the article's page all the other articles of the same series.

Definitely not rocket science, but I think it can be interesting to see how other developers actually work and how they solve problems.

What you will see in this session is GitHub Copilot doing 60% of the work and myself struggling with tailwind classes.

{% youtube P99L9DLh6gg %}

---

**Spoiler**: This week's article is quite short and the video is a "simple" coding session, I hope you like it anyway! But the spoiler is... I'm also working on a much longer article about custom GitHub Actions which I'll try to release next week. The article is already 5x longer than usual, I hope it won't take ages to record the video session! Stay tuned ;)

---

Thanks for reading this article, I hope you found it interesting!

I recently launched my Discord server to talk about Open Source and Web Development, feel free to join: https://discord.gg/bqwyEa6We6

Do you like my content? You might consider subscribing to my YouTube channel! It means a lot to me ❤️
You can find it here:
[![YouTube](https://img.shields.io/badge/YouTube:%20Dev%20Leonardo-FF0000?style=for-the-badge&logo=youtube&logoColor=white)](https://www.youtube.com/channel/UC-KqnO3ez7vF-kyIQ_22rdA?sub_confirmation=1)

Feel free to follow me to get notified when new articles are out ;)
{% embed https://dev.to/balastrong %}
Firebase VS PocketBase VS Appwrite
Tags: webdev, discuss, opensource, beginners
Published: 2023-06-05 10:12:18

What is Database?
**(Database)=** 
A database is a structured and organised collection of information that is specifically designed to efficiently store and retrieve data related to an application. It provides a reliable and centralized storage solution where application-specific data, such as user information, product details, or transaction records, can be securely stored and accessed when needed. 

**Firebase**
Firebase is a comprehensive mobile and web development platform provided by Google. It offers a variety of tools and services that enable developers to build high-quality applications quickly and efficiently.  It uses NoSQL for the database for the storage of data. Firebase provides features such as real-time database, authentication, cloud storage, hosting, and analytics, among others, simplifying the development process and enhancing application functionality.


![Firebase](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s5r3sk424p81fwi2sndf.png)

**PocketBase**
PocketBase is an open-source Backend-as-a-service (BaaS). It offers all necessary needed features like authentication, file storage, realtime database and web dashboard.
PocketBase uses an SQLite Database behind the scene and is written in Go. They offer an awesome JavaScript/Go SDK. You are able to configure permission rules, OAuth2, external file storage (S3) and mail (SMTP).


![PocketBase](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v2o95wowra0nzci68zlq.png)

**AppWrite**
AppWrite is an open-source backend server and API platform that simplifies the development of web and mobile applications. It provides a comprehensive set of features and services that handle common backend tasks, allowing developers to focus on building frontend experiences. With AppWrite, developers can quickly set up user authentication, manage databases, handle file storage, and utilize real-time event handling, among other functionalities. It is designed to be flexible, secure, and scalable, making it an ideal choice for developers looking to streamline their backend development process.

![Appwrite](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7tjb4ahy6l3w4w05cazq.png)

Comparison between these three platform

![Comprasion](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gmd792li9aqgaa9l7mdc.png)
SaaS update: Assertions
Tags: saas, ux, testing, opensource
Published: 2023-06-05 10:10:25

Development continues! An important feature for developers and testers is to easily write assertions. Our interface helps them discover what can be tested and chains the assertions with a No-Code interface.

We have three major advantages:

- Easy for non-techies to follow what is tested
- No-code: You don't to maintain a framework, codebase, or infrastructure. Focus only on the quality of your APIs.
- Discoverability: A simple list of options helps you check what can be tested.

The library used to run the tests is open source. It's written in Rust and available on the github repository [owlduty/grillon](https://github.com/owlduty/grillon).

Interested in what we build? We have a great landing page for you 😄 https://owlduty.com.

Cheers,

./owlduty
The Event Loop Asynchronous Programming in JavaScript
Tags: eventloop, asynchronous, concurrency, callstack
Published: 2023-06-05 10:03:34

JavaScript is a single-threaded programming language, which means that it can only execute one task at a time. However, it has a unique feature called the "event loop" that allows it to handle multiple tasks asynchronously, making it ideal for building modern, responsive web applications.

The event loop is a mechanism that JavaScript uses to handle asynchronous code. It consists of two parts: the call stack and the task queue. The call stack is a data structure that keeps track of the function calls in the program. When a function is called, it is added to the top of the stack. When the function returns, it is removed from the stack.

The task queue, on the other hand, is a list of tasks that are waiting to be processed. When an asynchronous task is completed, it is added to the task queue. The event loop continuously checks the task queue and moves tasks from the queue to the call stack as soon as the call stack is empty.

Let's take a look at an example:

```
console.log("start");
setTimeout(function() {
   console.log("timeout");
}, 1000);
console.log("end");
```
In this example, we have a “console.log”  statement that outputs "start" to the console, followed by a “setTimeout” function that waits for 1 second before outputting "timeout" to the console. Finally, we have another “console.log” statement that outputs "end" to the console.

When we run this code, we see the following output:

```
start
end
timeout
```
The reason for this output is that the setTimeout function is asynchronous. When we call it, it doesn't block the execution of the rest of the code. Instead, it schedules the function that we passed to it to be executed after a certain amount of time has passed (in this case, 1 second). The rest of the code continues to execute, and when the timeout expires, the function is added to the task queue. The event loop then picks up the task and adds it to the call stack, where it is executed, outputting "timeout" to the console.

The event loop is a powerful mechanism that allows us to write asynchronous code in JavaScript. By using asynchronous functions and callbacks, we can create non-blocking code that can handle multiple tasks at the same time. This is particularly useful in web applications, where we often need to handle user input, network requests, and other events simultaneously.

In conclusion, understanding the event loop is an important part of writing efficient and responsive JavaScript code. It allows us to write asynchronous code that can handle multiple tasks at the same time, making our web applications faster and more responsive.
Assignment 5-PR to fix Projects
Published: 2023-06-05 09:58:55

It was quite a challenging task to search for projects and send PR to it.
I searched in [pydigger](https://pydigger.com/search/has-github-no-ci) and found a list of sites that lead to 404 page.
I looked for the right link for each of the projects and sent them a PR to fix it.
for example:

- 
**_elkaudio _**project
the url was : [elkaudio on pydigger] (https://pydigger.com/pypi/elkpy)
the proper url is: https://github.com/elk-audio/elkpy

The [PR] (https://github.com/elk-audio/elkpy/pull/5)

-

- 
**_EliLillyCo/MQIT_DIA_ADFPRO_**
The VSC was not found: 	https://github.com/EliLillyCo/MQIT_DIA_ADFPRO
I have searched on GitHub by the Author's name and found
_Summary: A Python application for anomaly detection
Home-page: https://github.com/EliLillyCo/MQIT_DIA_ADFPRO
Author: Francesco Gabbanini, Manjunath Bagewadi, Henson Tauro_
I opened an [issue to fix it] (https://github.com/pypi-diff/20230530/issues/1)

Our final project is about Smart Contract Vulnerabilities
Accordingly we are following this projects:

- 
[IRAILS](https://github.com/smjkzsl/irails)
A mvc framework used FastApi Simple and elegant use of FastApi in MVC mode

- 
[Smart-Contract-Dataset](https://github.com/Messi-Q/Smart-Contract-Dataset)
This dataset consists of over 40K real world Ethereum smart contracts.

- [Secureum](https://secureum.substack.com/p/audit-findings-101?s=r)

- [GNNSCVulDetector](https://github.com/Messi-Q/GNNSCVulDetector)
This repo is a python implementation of smart contract vulnerability detection using graph neural networks

- [smart-contract-vulnerabilities](https://github.com/kadenzipfel/smart-contract-vulnerabilities)
Team Communication
Tags: team, communication, leaders, storybytes
Published: 2023-06-05 09:56:43


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rcaa8oksls0hp5sjvby0.png)
Every team consists of members with backgrounds, personalities and at different stages of their lives. Members adopt as the team evolves and recreates new communication dynamics every time.  As cotton clothes get stronger with threading, so does the team evolve, taking threading as a communication line. Now, single threading might only last briefly for all the reasons we know. Therefore, revisit the team’s communication flow and whether multi-threading is happening. The team has to know it all, create multiple dependencies for pieces of information, and, as a result, leaders are born. It’s always good to rethink your communication model. What are the guidelines we create and distribute to the team? Do we foster feedback and learn from it, or is feedback only given and taken at random acts? By having clearly-defined goals, objectives, deadlines, and resources before a cross-functional team begins working on a project, we can avoid being part of the dysfunctional Team. As a Leader, you set the tone. The way you communicate and collaborate will impact your entire team. Therefore, ensure you’re working as a team member on communicating without stitching the thread out of the clothes.
Getting Started with the React Floating Action Button
Tags: webdev, react
Published: 2023-06-05 09:46:22

Learn how to create and configure the Syncfusion React Floating Action Button component using the create-react-app command. The React Floating Action Button (React FAB), an extension of the React Button is designed to enhance user interaction. This dynamic button appears in front of all screen content, serving as a primary action trigger. 

You can effortlessly engage your users by providing a visually prominent way to perform key actions. You will also learn how to configure a few of its basic features, such as icons, predefined styles, different button sizes, and UI customization.

_Product overview_: https://www.syncfusion.com/react-components/react-fab

_Download an example from GitHub_: https://github.com/SyncfusionExamples/getting-started-with-the-react-floating-action-button-component/

_Refer to the following documentation for the Syncfusion React Floating Action Button component_: https://ej2.syncfusion.com/react/documentation/floating-action-button/getting-started

{% youtube KO9tydK2D6A %}
Bytes To Private Key
Tags: hex, privatekey, python, blockchain
Published: 2023-06-05 09:34:02

### Private Key (hex) from bytes

first needed install `blockthon`:
```bash
pip install blockthon
```
linux :
```shell
sudo apt-get update&&sudo apt-get upgrade -y
sudo apt-get install -y autoconf automake build-essential libffi-dev libtool pkg-config python3-dev
pip3 install blockthon
```
after install from `Blockthon.Wallet` import `Bytes_To_PrivateKey` , in this example first generated random bytes (seed) and convert to hex private key:

```python
from Blockthon.Wallet import getBytes, Bytes_To_PrivateKey
# generated random bytes without repeat
bytes_str = getBytes()
# convert bytes to hex private key
privatekey = Bytes_To_PrivateKey(bytestring=bytes_str)
```
A Community-Driven Data Exploration Journey: Airbnb Property Data & Bright Data
Tags: datasets, airbnb, reddit, github
Published: 2023-06-05 09:24:49


I am excited to share an intriguing use case that showcases not only the potential of data marketplaces and data analysis, but also the incredible value of the global developer community.

Recently, I embarked on a project to analyze the real estate market in Salt Lake City - a city predicted to be the next hotspot for timeshares and vacation rentals. I built a dataset of 918 Airbnb properties in Salt Lake City, accommodating five guests or less, which I plan to use for price comparisons, market analysis, and cool visualizations.

The exciting part? Instead of spending hours painstakingly scraping data, I got it directly from Bright Data’s marketplace! This high-quality dataset is accurate and ready to use, leaving me more time to focus on analyzing the data rather than gathering it.

However, I quickly faced a new challenge - how could I best visualize this information and extract valuable insights from the dataset? Being a self-taught (and continuously learning) data analyst, I decided to leverage the wisdom of the Reddit community to help navigate this problem.

My initial questions were:

1. How do the prices of these properties vary by location, number of bedrooms, or amenities offered?
2. Are there any patterns or trends in the reviews or ratings of these properties?

I also needed advice on the best tools or techniques to explore this dataset and answer these questions. Python, Excel, or any other data analysis software - all suggestions were welcome!

The response from the community was overwhelming. Not only did they share their insights and expertise, but one member even set up a GitHub project to streamline our collective efforts. Together, we transformed the raw Airbnb data into insightful graphs and charts, shedding light on previously hidden trends and patterns.

This journey has reinforced two key insights:

1. The power of data marketplaces like Bright Data in providing reliable and ready-to-use data.
2. The value of community in problem-solving and innovation. When developers collaborate, the potential for innovation becomes boundless.
If you're interested in the project, check out the [GitHub repository](https://github.com/yuchen927/python_salt_lake_city_airbnb/blob/main/salt_lake_city_airbnb.ipynb
#TestCulture 🦅 Episode 35 – Variability assumption
Tags: agile, devops, testing
Published: 2023-06-05 09:13:45

This 3️⃣rd principle in SAFe is the first to address the idea of agility, where expectations can change up to the last moment. It is the direct impact of the second #agile principle described in the manifesto:
“Welcome changes in requirements, even late in the project”.
This assumption implies in particular:
👉🏼 not going too far in the ideation to avoid having to start all over again in case of a change in the needs direction
👉🏼 minimal code so as not to have to throw away too much work
👉🏼 document in detail only the parts that are fixed
Application to test maturity ⬇️
The test should also be designed in the most flexible way possible, for example:
💭 Using intent-based scenarios, e.g. by a briefly described test objective in order to avoid implementation variants
💭 By doing exploratory testing

Read more about this concept:[here](https://agilitest.com/cards/variability-assumption)
[A thread](https://twitter.com/agilitest/status/1643990288451657730?s=20) on Twitter.