teleren/devto huggingface dataset:
IaaS, SaaS or PaaS?
Published: 2023-07-30 21:06:19

The basic key points of the 3 Cloud Computing services include:

IaaS(Infrastructure as a service): The cloud provider is responsible for maintaining the **infrastructure** (hardware, network connectivity (to the internet), and physical security). You’re responsible for maintaining the **platform** (operating systems, middleware, development tools) and **software** (data and apps).

PaaS(Platform as a service): The cloud provider is responsible for maintaining the **infrastructure** (hardware, network connectivity (to the internet), and physical security) and **platform** (operating systems, middleware, development tools). You’re responsible for maintaining the **software** (data and apps).

SaaS(Software as a service): The cloud provider is responsible for maintaining the **infrastructure** (hardware, network connectivity (to the internet), and physical security), **platform** (operating systems, middleware, development tools) and **software** (data and apps). You’re responsible for maintaining nothing.
Step-by-step guide on installing Postgres Enterprise Server Via a Linux distro (Ubuntu).
Published: 2023-07-30 20:57:24

**Introduction**
Postgres Enterprise Manager (PEM) is a monitoring tool used for managing multiple instances of Postgres databases. It offers the flexibility of installation on Windows either through a Linux distribution like Ubuntu or directly as an executor. In this tutorial, I will work you through installing it via a Linux distro (Ubuntu 22.04) on Windows.

**WSL Installation.**
On your Windows machine, do the following;

1. Open settings **> apps> optional features > more windows features > enable WSL**.

2. This would prompt you to reboot your system.

3. Visit the Microsoft store, install Ubuntu 22.04 and follow the prompts.

**EDB Advanced Server Installation Guide**
1. Visit the EDB [repositories](https://www.enterprisedb.com/repos-downloads).

2. Create an account.

3. Click on Repo access.

4. Select access EDB Repos 2.0.

5. Select platform `Ubuntu 22.04 LTS (Jammy) x86_64`, and software EDB Postgres Advanced Server, so its installation instructions can be displayed.

6. Configure the repository by running this command on your Ubuntu.
    ```
curl -1sLf 'https://downloads.enterprisedb.com/p7lPKTUSJ8jNZlqUAlrQuxMKfk6X2Ya6/enterprise/setup.deb.sh' | sudo -E bash
    ```
7. Install the EDB Advanced server by running this command.
    ```
sudo apt-get -y install edb-as15-server
    ```

8. You will see this output below
![image showing a successful installation](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sp9b2fl02t5boynovdhk.png)

9. To confirm your installation, you can start the server by running this command below or any command displayed after the installation process.

    ```
/usr/lib/edb-as/15/bin/pg_ctl -D /var/lib/edb-as/15/main -l logfile start
    ```

**PEM Server Installation Guide.**

1. Visit the EDB [repositories](https://www.enterprisedb.com/repos-downloads) again.

2. Select platform as `Ubuntu 22.04 LTS (Jammy) x86_64`, and software EDB Postgres Enterprise Manager, so its installation instructions can be displayed.

3. Configure the repository by running this command on your Ubuntu.
    ```
curl -1sLf 'https://downloads.enterprisedb.com/p7lPKTUSJ8jNZlqUAlrQuxMKfk6X2Ya6/enterprise/setup.deb.sh' | sudo -E bash
    ```
4. Install the PEM server by running this command.
    ```
sudo apt-get -y install edb-pem
    
    ```
5. Configure the PEM server by running this code, it will ask you for series of information, be sure to fill them.
    ```
/usr/edb/pem/bin/configure-pem-server.sh
    ```
6. After a successful configuration, this will be outputted to the screen.
    ```
https://<ip_address_of_PEM_server>:8443/pem
    ```
7. Visit the URL above in your browser.

**References.**
https://www.enterprisedb.com/docs/pem/latest/installing/linux_x86_64/pem_ubuntu_22/
https://www.postgresql.org/download/
https://www.postgresql.org/download/linux/ubuntu/
https://www.enterprisedb.com/docs/epas/latest/installing/
https://www.enterprisedb.com/docs/pem/latest/managing_database_server/#modifying-the-pg_hbaconf-file
Finding COUNT, SUM, and AVG in PostgreSQL
Tags: postgressql, tutorial, database, sql
Published: 2023-07-30 20:43:44

In this tutorial, I will be explaining how can we find the count, sum and average in PostgreSQL query.
Let's get started...

**Finding Count of rows**
In this section we will explore how can we find the count of rows.
The COUNT() function returns the number of rows that matches a specified criteria.

**Syntax**
```
SELECT COUNT(column_name)
FROM table_name;
```
Let's understand by an example:
Suppose we want to find the number of customers from the London in our `Customer` table.

```
SELECT COUNT(customer_id)
FROM customers
WHERE city = 'London';
```
The above query first find the rows which satisfies the `WHERE` clause condition. Then counts the total number of rows and returns a number.

**OUTPUT**

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

**Finding SUM**
In this section we will explore how can we use SUM() function.
The SUM() function returns the total sum of a numeric column.

**Syntax**
```
SELECT SUM(column_name)
FROM table_name;
```
Let's understand by an example:
Suppose we want to find the  the sum of the `quantity` fields in the `order_details` table:

```
SELECT SUM(quantity)
FROM order_details;
```
The above query returns the total number of items which are in ordered table.

**OUTPUT**

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


**Finding AVG**
In this section we will explore how can we use AVG() function.
The AVG() function returns the average value of a numeric column.

**Syntax**
```
SELECT AVG(column_name)
FROM table_name;
```
Let's understand by an example:
Suppose we want to find the  the average price of all the products in the `product` table:

```
SELECT AVG(price)
FROM products;
```
The above query returns the average price of all the products

**OUTPUT**


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

**Conclusion**
In this table we learnt about how we can use `Count`, `SUM` and `AVG` in a query.
Exploring Diverse Avenues of Open Source Contribution.
Published: 2023-07-30 20:41:33

Open source projects have often been associated with coding and software development contributions. However, the center of the open source community is in its inclusivity, welcoming non-developers with open arms. Whether you're a designer, writer, translator, or simply someone passionate about technology but not proficient in programming, fear not, for there are numerous ways for you to have a profound impact on the world of open source. 

**Let's explore some of these avenues;**

- **Design and User Experience (UX) Contributions:**

Beyond lines of code, open source projects often demand the creative touch of skilled designers. By offering your design expertise, you can elevate user interfaces, logos, icons, and other graphical elements, enhancing the software's usability and visual appeal. 

- **Documentation and Technical Writing:**
In the open source world, comprehensive documentation is a cornerstone of success. If you possess a flair for technical writing, you can contribute by creating and refining documentation, crafting user-friendly tutorials, and penning guides for both users and developers. High-quality documentation eases the onboarding process for new contributors and encourages wider adoption of the project.

- **Community Management and Support:**
Non-technical contributors play a vital role in community management and support. Engaging with users and fellow contributors through forums, mailing lists, and social media platforms fosters an inclusive and thriving community. By assisting users with their queries and concerns, you directly contribute to the project's growth and long-term sustainability.

- **Marketing and Promotion:**
Open source projects often require assistance with marketing and promoting their work. If you possess skills in digital marketing, content creation, or social media management, you can effectively disseminate information about the project, attract new contributors, and elevate its visibility within the tech community.

_**Conclusion:**_
Open source contribution is not confined to code; it encompasses a vast array of talents and skills that non-developers can wield to effect significant change.Embrace the ethos of collaboration and transparency that defines the open source community, and together, we can shape a future of innovative and accessible technology for all. 
So, find a project that resonates with your passions and proficiencies, and embark on your journey to make a meaningful difference in the world of open source! 
Good thing is that <a href="https://dev.to/opensauced" target="_blank">OpenSauced</a> is on a 100DaysOfOSS chanllege and you are welcomed to join in you can equally read up the full documentation on how to participate  <a href="https://docs.opensauced.pizza/community/100-days-of-oss/" target="_blank">here</a>
Column Alias in PostgreSQL
Published: 2023-07-30 19:55:07

In this article I will share how we can assign a column alias and it's in the PostgreSQL.
Let's get started...
Column alias is used to assign a temporary name to a column or an expression in the PostgreSQL. It exists only temporarily during the execution of query.

**Syntax of using a Column Alias**

```
SELECT column_name AS alias_name
FROM table_name;
```
As from the syntax, it can be seen that `column_name` is assigned an alias `alias_name`. Here `AS` key is used to assign   the alias name. `AS` key is optional to use. We can omit it as well. The syntax will be then as:

```
SELECT column_name alias_name
FROM table_name;
```
**Example**
Suppose we have the `customer` table with following attributes in the database:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7ycaiao4yb8htq0ld6pj.PNG)

**1. Assigning a column alias to a column:**

```
SELECT 
   first_name, 
   last_name AS surname
FROM customer;
```
The above query assigned the `surname` as column alias to the `last_name`. If we have not used column alias then the name of the column would have appeared as "last_name".

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



**2. Assigning a column alias to an expression:**

```
SELECT 
   first_name || ' ' || last_name AS full_name 
FROM 
   customer;
```
The above query returns full names of all the customers. The expression `first_name || ' ' || last_name AS full_name` constructs the full name by concatenating the first name, space and the last name.

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

**Conclusion**
In this tutorial we learnt about how we can assign temporary names to the queries using `AS` in our query statement.
[FIX] Read-only file system after waking up from suspend
Tags: linux, opensource
Published: 2023-07-30 20:35:23

A new laptop has arrived and of course new problems arise after installing Linux. But this time the problem [looked familiar](https://dev.to/epassaro/fix-suspend-issues-on-dell-7405-2-in-1-3l1b).

This time I was working with an ASUS laptop with an Intel 11th Gen processor and an Intel NVMe SSD.

First thing I did was checking if the evil `s2idle` sleep mode was enabled, and I that was exactly the case.

```
$ cat /sys/power/mem_sleep
[s2idle] deep
```

The S3 `deep` mode was available, so this time I didn't need to patch the ACPI table. Then, I just added `"mem_sleep_default=deep"` line to the `GRUB_CMDLINE_LINUX_DEFAULT` parameter in `/etc/default/grub` and updated GRUB according to my distribution.

Now I can suspend and wake up the system without any problem!
First post - hi all
Tags: testing
Published: 2023-07-30 20:34:43

🚧 Building Emotional Resilience: Overcoming Guilt Trips 🚧

https://viableoutreach.com/guilt-trip-meaning/

No more feeling trapped! 💪 Learn effective communication strategies, assertiveness, and setting boundaries to combat guilt-tripping behavior. 

You've got the power to reclaim control over your emotions and decisions!
What is a Parser?
Published: 2023-07-30 20:33:03

A parser is a piece of software that, in computer science, uses a formal grammar to evaluate the structure of an input text (often code). A parser generates a parse tree, which describes the syntactic structure of the input, from a stream of tokens as the input.

**Types of Parsers**

There are two main types of parsers:

**Top-down parsers**

Starting with the start symbol of the grammar, a top-down parser applies grammatical rules to construct the input string. Because they recursively descend from the root to the leaves of the parse tree, these parsers are also known as recursive descent parsers. LL(1) parsers, which can handle both left-recursive and non-left-recursive grammars, and LL(k) parsers, which can handle ambiguous grammars, are examples of top-down parsers.

**Bottom-up parsers**

Starting with the input string, a bottom-up parser uses grammar rules to create the start symbol for the grammar. As they shift input tokens onto a stack and reduce them to grammar rules until the start symbol is formed, these parsers are also known as shift-reduction parsers. The LR(0), SLR(1), LALR(1), and LR(1) parsers are examples of bottom-up parsers that can handle left-recursive grammars.

Apache-Age:(https://age.apache.org/)
[GitHub:-https://github.com/apache/age](https://github.com/apache/age)
Social icons web design
Tags: webdesign, socialmedia
Published: 2023-07-30 20:28:10

Standard social icons are now meta-read like that:

## f ⏺ x in
(f-o-x-in - foxing)

## f ⏺ x
(f-o-x - fox)

## f x
(f-x - fx, fix)

## x ⏺
(x-o - xo)

## f ⏺ in x
(f-o-in-x - phoenix)

etc.
Graph Processing with Apache-Age
Published: 2023-07-30 20:00:25

Real-time graph processing is a powerful technique that allows businesses to analyze data in real-time. Apache Age which is a graph database management system built on top of PostgreSQL, can be used with Apache Kafka to implement real-time graph processing applications. Applications of graph processing is in social networks and fraud detection systems.

In this blog post, we will discuss how to use real-time graph processing pipeline using Apache Age and Apache Kafka.

1. Setting up Apache Kafka:
Apache Kafka is a distributed streaming platform that allows you to publish and subscribe to streams of records in real-time. You can install "Apache Kafka" by clicking here.

2. Defining Schema:
Before starting, you will need to define the schema for your graph. This will include defining the vertices and edges in your graph, as well as any associated properties or metadata.

3. Insert Data into Kafka:
Once Kafka cluster is up and running, you can start inserting your graph data into Kafka topics. Each topic should correspond to a specific type of graph data (i.e., vertices or edges).

4. Build an Apache Age Pipeline:
Apache Age is a graph database built on top of Apache Arrow and PostgreSQL. You can use it to build a pipeline that processes your graph data in real-time. Your pipeline should consist of one or more Age queries that perform graph transformations or analytics.

5. Connect Age to Kafka:
You can use the Kafka Connect framework to connect Apache Age to your Kafka cluster. This allows you to consume graph data in real-time from Kafka topics and write it to Age tables.

6. Process Graph Data in Real-time:
With Apache Age and Kafka connected, you can start processing your graph data in real-time. Any changes to the graph will be immediately reflected in Age, and you can use Age queries to perform real-time graph analytics.

Conclusion:
Overall, real-time graph processing with Apache Age and Apache Kafka requires a solid understanding of both tools, as well as the graph data you're working with. But with the right setup and configuration, you can build a powerful real-time graph processing pipeline that can be used for a variety of applications.
The Path to Excellence: How to Be a Good Developer
Tags: beginners, programming, development
Published: 2023-07-30 19:30:00


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ke7mpdpz57mqf2yaiq5l.jpg)
[Read Now](https://medium.com/@developer.aymenmissaoui/the-path-to-excellence-how-to-be-a-good-developer-4569aa2b4764)
USE of ORDER BY in PostgreSQL
Tags: postgressql, tutorial, database, sql
Published: 2023-07-30 19:28:49

In this article I will share how Order By clause can be used in the PostgreSQL.
Let's get started...
When a query is run to return the rows as output in a `SELECT` statement, it returns data in unspecified order. So `ORDER BY` clause is used to sort the data of the output.

**Syntax of ORDER BY clause**

```
SELECT
	select_list
FROM
	table_name
ORDER BY
	sort_expression1 [ASC | DESC];
```
As from the syntax, it can be seen that first step is to specify a sort expression that can be a column or expression which you want to sort just after the `ORDER BY` clause.
After specifying the sort expression, `ASC` or `DESC` is used to sort the rows of output in ascending or descending order based on the desired output you want.
It is noted that if you miss writing the `ASC` or `DESC` option then by default `ASC` is used.

**Example**
Suppose we have the `customer` table with following attributes in the database:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7ycaiao4yb8htq0ld6pj.PNG)

**1. Using `ORDER BY` to sort rows by column:**

```
SELECT
       first_name,
       last_name
FROM
       customer
ORDER BY
       last_name DESC;
```
The above query returns the rows after those rows by values in the last name column in descending order.

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

**2. Using `ORDER BY` to sort rows by expressions:**

```
SELECT 
	first_name,
	LENGTH(first_name) len
FROM
	customer
ORDER BY 
	len DESC;
```
The above query returns first select the first names and their length. And then It sorts the rows by the lengths of the first names in descending order. The name with highest length will be on the top and so on.

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

**Conclusion**
In this tutorial we learnt about the use of `ORDER BY` clause in PostreSQL by column as well as by expressions.
Python Script to check if all docker containers are running
Tags: docker, python, sysadmin
Published: 2023-07-30 19:13:28

I created a small python script that checks if all docker containers are running.


1. Backup all container names into a file: `docker ps --format "{{.Names}}" > /root/containers.txt`
2. Create a script that checks if all containers are running: `vim /root/check.py` (Content see below)
3. Do stuff that might impact container uptime
4. Run the script: `python3 /root/check.py`
5. See if every container are still running


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



=> Offline-Containers are highlighted in red.

Script Content:
```python
#!/usr/bin/python3

import subprocess

class bcolors:
    HEADER = '\033[95m'
    OKBLUE = '\033[94m'
    OKCYAN = '\033[96m'
    OKGREEN = '\033[92m'
    WARNING = '\033[93m'
    FAIL = '\033[91m'
    ENDC = '\033[0m'
    BOLD = '\033[1m'
    UNDERLINE = '\033[4m'


f = open("/root/containers.txt", "r")
containers = f.read().splitlines()

docker_ps_output = str(subprocess.check_output('docker ps', shell=True))

for container in containers:
    if docker_ps_output.find(container) != -1:
       print(f"{bcolors.OKGREEN}Container found {container}{bcolors.ENDC}")
    else:
       print(f"{bcolors.FAIL}Container not found {container}{bcolors.ENDC}")
```
New Python3 Simulator for Computer Vision Applications
Published: 2023-07-30 10:36:03

🚀 Exciting News for Python Developers! Introducing Taisim - The Open-Source Simulator for Python 🐍
🎯 Are you passionate about simulations and Python development? Say hello to Taisim - a powerful open-source simulator that's taking the Python community by storm!
🔗 GitHub Repository: https://github.com/Amporu/Taisim
🎉 Key Features of Taisim:✅ Simple and Intuitive: Taisim makes simulations a breeze, whether you're a Python pro or just starting your coding journey.
✅ Versatile Simulations: From physics to social systems modeling, Taisim caters to a wide range of applications. The possibilities are endless!
✅ Extensible and Customizable: Tailor simulations to your unique needs. Taisim's modular architecture allows for easy customization and experimentation.
✅ Realistic Visualizations: Watch your simulations come to life with stunning visualizations. Gain valuable insights and present your findings with impact.
📖 Getting Started:Ready to dive in? Access comprehensive documentation, tutorials, and examples in the repository's wiki section.
🙌 Join the Community:Taisim is all about collaboration and shared learning. Join a vibrant community of developers, researchers, and simulation enthusiasts.
📢 Spread the Word:Excited about Taisim? Help us spread the word by sharing this post with your network. Let's build an inclusive community around this fantastic project!
🤝 Contribution Opportunities:Open-source thrives on contributions! Whether it's ideas, bug reports, or pull requests, we welcome your input. Together, we can shape the future of Taisim!
🚀 Embrace the Power of Python:Take control of your simulations with Taisim. Embrace the power of Python and unlock new possibilities.
#Taisim #Python #OpenSource #Simulation #DeveloperTools#PythonSimulator #CommunityPowered
🔗 GitHub Repository: https://github.com/Amporu/Taisim
Advantages of PostgreSQL
Tags: tutorial, postgressql, database, sql
Published: 2023-07-30 19:04:00

In this article I will be sharing the benefits of using PostgreSQL as database. So let's just get started...
**Introduction**
PostrgreSQL is a free and open-source advanced relational database system. It supports relational as well as non-relational (JSON) queries.
Let's look at some of the advantages of PostrgreSQL which makes it standout from other databases.
**Advantages**

1. PostrgreSQL is flexible solution with extension which can cover every potential use case. You can even write your own extension if you have a very particular requirement such as support for a data type or some special logging functionality.
2. PostrgreSQL can be used as both relational database management system (SQL) or as a NOSQL database solution such as storing the JSON documents. This flexibility of PostrgreSQL can reduce the cost. Using single database management system means that it cut the cost of managing, setting up and updating multiple database solutions. All can be done from a single place.
3. For critical productions such as hospitals, government agencies and financial firms, the privately supported solutions of PostrgreSQL can be used. These versions of PostrgreSQL provides additional security features, high-availability and resiliency.

So above mentioned are some of the benefits of using PostgreSQL.
Artificial Intelligence a modern approach
Tags: ai, machinelearning
Published: 2023-07-30 18:25:03

"Artificial Intelligence: A Modern Approach" is a highly acclaimed textbook on Artificial Intelligence (AI) authored by Stuart Russell and Peter Norvig. It was first published in 1995 and has since become a standard reference for students, researchers, and practitioners in the field of AI. The book's comprehensive coverage, authoritative content, and pedagogical approach have earned it widespread adoption in universities and AI-related courses worldwide. In this detailed analysis, we will explore the key aspects, contents, impact, and significance of "Artificial Intelligence: A Modern Approach"

[Read More...](https://amlogy.com/artificial-intelligence-a-modern-approach/)