teleren/devto huggingface dataset:
Cypher on PostgreSQL: A Reason to Use Apache AGE
Tags: apacheage, opensource, sql, postgres
Published: 2023-03-27 15:22:02

Do you find it difficult to remember all the syntax and commands of SQL? Then take a look at the PostgreSQL extension **[Apache AGE](https://age.apache.org/)**, which allows you to use the popular graph query language [**Cypher**](https://age.apache.org/age-manual/master/intro/cypher.html) on PostgreSQL to simplify your queries.

Cypher is a declarative language that focuses on the relationships between data rather than the data itself. This means that it's easier to write and understand queries that involve complex relationships. 

But why is Cypher easier to learn than SQL?

For example, let's say you want to find all the customers who have bought a particular product, and then find all the products that these customers have bought in the past. With SQL, you'd have to write a complex join statement to achieve this. With Cypher on Apache AGE, you can simply write:

```cypher
SELECT * FROM cypher('your_graph_name', $$
	MATCH (c:Customer)-[:BOUGHT]->(p:Product)<-[:BOUGHT]-(c2:Customer) 
	WHERE p.name = 'Product X' RETURN c2, p $$)
as (c2 agtype, p product);
```

See that the pattern `(c:Customer)` indicates a node with the label "Customer" that is assigned to the variable "c", while the pattern `-[:BOUGHT]->` represents an edge with the label "BOUGHT".

This query is much simpler and easier to read than the equivalent SQL query:

```SQL
SELECT c2.*, p.* FROM Customer c 
JOIN Bought b ON c.customer_id = b.customer_id 
JOIN Product p ON b.product_id = p.product_id 
JOIN Bought b2 ON p.product_id = b2.product_id 
JOIN Customer c2 ON b2.customer_id = c2.customer_id 
WHERE p.name = 'Product X'
```

Apache AGE is a PostgreSQL extension that allows you to use Cypher to query graph data stored in PostgreSQL. It provides a Cypher-to-SQL compiler that translates Cypher queries into SQL queries that can be executed by PostgreSQL. This means that you can use Cypher and SQL to query your PostgreSQL database without having to learn a new query language.

If you're looking for an easier way to write complex SQL queries, then Apache AGE and Cypher are worth checking out. With Cypher's declarative syntax and Apache AGE's Cypher-to-SQL compiler, you can simplify your queries and make them more readable. Give it a try and see how it can help you write better queries in less time.

https://age.apache.org/
https://github.com/apache/age
Scrum: It's not a one size fits all solution
Tags: webdev, programming, productivity
Published: 2023-03-27 15:20:43

Scrum is the most popular Agile approach in the world, but are you using it correctly? Many organizations and teams assume Scrum is the gold standard for software development, but it's important to remember that Scrum serves a specific purpose and not more.

Scrum is best suited for situations where:

- You create or maintain one product at a time
- You regularly verify if your work helps to achieve your objectives
- Your knowledge of how to build the product emerges while working on it
- You can create product increments within no more than a month, preferably faster
- You need a team to build the product
- You have stakeholders that should be involved in the product journey
- If any of these prerequisites do not apply, it's time to reconsider using Scrum. It's not suitable for situations where multiple products are being worked on at the same time, where there is only one component or feature, or where there is no product at all.

Don't let Scrum be an illusion for your team. Make sure you understand its purpose and use it where it's most effective. Scrum is a valuable tool, but it's not a one size fits all solution.

Another important point to consider is that if your environment is predictable, and you don't need to verify if you are working on the right things, then Scrum may not be the right approach. A Sprint Review, a key part of the Scrum framework, exists to increase transparency and to verify if the team is working on the right things.

It's also crucial to remember that Scrum is a framework to maximize the value of your product, and without a product, it doesn't make sense to use a framework that aims to maximize the value of a product.

 Scrum is a powerful tool that can help teams deliver value and improve their productivity, but it should only be used in the specific situations where it will be most effective.
11 berufliches Vorwärtskommen: Weshalb du stets nachsichtig sein solltest.
Tags: deutsch, motivation, career, 1min
Published: 2023-03-27 15:18:00

Moin Moin,

Nachsicht ist:
> Duldung und verzeihendes Verständnis, gütige Rücksichtnahme

( laut [dwds.de↗](https://www.dwds.de/wb/Nachsicht) )

Bei Fehlern von Arbeitskollegen mehr Nachsicht walten zu lassen, kann unter anderem dazu führen, dass man eine Möglichkeit bietet, Probleme konstruktiv zu lösen. Sobald jemand „emotional bestraft“ wurde, ist er unter Umständen weniger dazu bereit, das eigentliche Problem zu lösen. Genau dies ist jedoch unsere Aufgabe als Software-Entwickler – Probleme lösen.

Gab es Situationen in denen du dir mehr Nachsicht von anderen gewünscht hättest ?  Datenlöschung ? Sicherheitslücke ?  Vergessen ?

Mehr zum Thema vom [Psychologen Daniel Goleman ( emotionale Intelligenz )↗](https://www.youtube.com/watch?v=Y7m9eNoB3NU). Dauer des Videos: ungefähr 5 Minuten.

Beste Grüße,
Mustafa
Animation -17 : Staggered Stair Loading Animation
Tags: css, javascript, animation, design
Published: 2023-03-27 15:12:16

 



## Pure CSS Rotating Loader 

---

{% youtube Dp-Hmmqq7kM %}

 ---
### [Source code](https://democoding.netlify.app/loaders/staggered-stair-loading-animation)


---
## For more information

1. Check my GitHub profile
[https://github.com/amitSharma7741](https://github.com/amitSharma7741)

2. Subscribe my Youtube Channel 
[https://www.youtube.com/@democode](https://www.youtube.com/@democode) 

3. Check out my Fiver profile if you need any freelancing work
[https://www.fiverr.com/amit_sharma77](https://www.fiverr.com/amit_sharma77)

4. Follow me on Instagram
[https://www.instagram.com/fromgoodthings/](https://www.instagram.com/fromgoodthings/)

5. Check out my Facebook Page 
[Programming memes by Coder](https://www.facebook.com/programmingmemesbycoders)

6. Linktree
[https://linktr.ee/jonSnow77](https://linktr.ee/jonSnow77)

7. Check my project

- EVSTART: Electric Vehicle is the Future
[https://evstart.netlify.app/](https://evstart.netlify.app/)
-  News Website in react
 [https://newsmon.netlify.app/](https://newsmon.netlify.app/)
-  Hindi jokes API
 [https://hindi-jokes-api.onrender.com/](https://hindi-jokes-api.onrender.com/)
- Sudoku Game And API
[https://sudoku-game-and-api.netlify.app/](https://sudoku-game-and-api.netlify.app/)

---
---
PHP Codeigniter Curl Post Request Example
Tags: codeignite, webdev, php, beginners
Published: 2023-03-27 15:09:52

PHP Codeigniter Curl Post Request tutorial, you will learn how to use curl post requests with CodeIgniter. This can help you get data from third-party APIs using curl requests in CodeIgniter 3. You can use curl functions in PHP, like curl_init(), curl_setopt(), and curl_exec(). Using cURL, you can call APIs to get JSON data and use it in your project. You don’t need to use another library for this.

Sometimes, we need to work with web services and APIs from third-party websites. At those times, we use PHP curl for get requests, post requests, delete requests, put requests, etc. PHP curl can help us post requests with parameters and headers, and we can get JSON responses.

In this tutorial, you will see a very simple example of a curl request. You will also see an example of headers with authentication below the simple curl request example.
For More Info [Click Here](https://torqueprogramming.co.in/php-codeigniter-curl-post-request-example/)
What are your Goals for the week?
Published: 2023-03-27 15:09:34

What are your goals for this week?
 
- What are you building? 
- What will be a good result by week's end?
- Are you attending any events this week?
- Did you meet your goals last week?

I'll start with how I did last week.

**Last Week's Goals**

- [:white_check_mark:] Continue Job Search.
- [:white_check_mark:] Wrapped up phase 1 of new project. Now to expand or refactor it.
- [:white_check_mark:] Blog. I wrote about [Axe-Con.](https://dev.to/jarvisscript/axe-con-lessons-1jpd)
- [:white_check_mark:] Yard work. Got bunch of brush cleared before the brush collection truck arrived. Yard is looking better.

**Monthly Goal**

- [:white_check_mark:] Gain more followers here. I would like to have more followers on DEV than I had on the bird site. * Almost there, about a dozen to go. 
Over the weekend my follower Account on DEV surpassed my follower count on the bird site. 

**This Week's Goals**


- Continue Job Search.
- Blog. Got a few ideas I need to start.



You've read my goals so I'll throw that question back to you.

What are your goals for the week?

```
-$JarvisScript git push
```
S.O.L.I.D
Tags: productivity, programming
Published: 2023-03-27 14:47:21

O Princípio da Responsabilidade Única (Single Responsibility Principle - SRP) é um dos princípios fundamentais do desenvolvimento de software orientado a objetos. Ele afirma que uma classe deve ter apenas uma única responsabilidade, ou seja, deve haver apenas uma razão para a sua existência.

A importância do SRP reside no fato de que ele promove a coesão, ou seja, a capacidade de uma classe de manter uma única responsabilidade bem definida e executá-la de maneira eficiente. Uma classe coesa é mais fácil de entender, manter e evoluir, pois as mudanças em uma responsabilidade não afetam as outras. Além disso, a coesão também contribui para a reutilização de código, uma vez que as classes podem ser facilmente combinadas para criar novas funcionalidades.

Por outro lado, quando uma classe tem múltiplas responsabilidades, ela se torna frágil e difícil de modificar, pois qualquer mudança em uma responsabilidade pode afetar outras partes do código. Isso pode levar a problemas como efeitos colaterais indesejado, dificuldade de testar o código e acoplamento excessivo entre as classes.

Ao seguir o SRP, os desenvolvedores podem criar código mais modular e fácil de manter, melhorando a qualidade do software e reduzindo o tempo e os custos de desenvolvimento. Além disso, o SRP também contribui para a legibilidade do código, tornando-o mais fácil de entender para outros desenvolvedores.

Em resumo, o Princípio da Responsabilidade Única é um conceito fundamental no desenvolvimento de software orientado a objetos. Ele promove a coesão, modularidade, reutilização de código e facilidade de manutenção, contribuindo para a criação de software de alta qualidade e eficiente.
How to Sell Smarter with Salesforce Sales Cloud?
Tags: crm, sales, salescloud, salesautomation
Published: 2023-03-27 14:40:04

Salesforce Sales Cloud is a cloud-based CRM that can help businesses grow by linking the right audience with the right sales rep in the best method possible. With [Sales Cloud](https://www.innovadeltech.com/sales-cloud/), businesses can gain quick insights about their teams and get a clear image of customers’ preferences, buying journeys, and needs to manage sales, marketing, and customer services. The software has immense benefits, including sales forecasting, mobility solutions, increased productivity through AI, and more leads. Its leading features include opportunity management, contact and account management, lead management, reports and dashboard, process automation, and data management. The Sales Cloud Einstein feature offers machine learning and artificial intelligence capabilities to improve sales performance.

Read our new blog on [How to Sell Smarter with Salesforce Sales Cloud?](https://www.innovadeltech.com/how-to-sell-smarter-with-salesforce-sales-cloud/)
Software Developer Stereotype
Tags: beginners, career, webdev, programming
Published: 2023-03-27 14:38:19

Gratitude isn’t a word I hear often in software development.

We can be perceived as being ungrateful, moody, and we can fail to acknowledge the contribution of teammates...

This behaviour is associated with the stereotypical software developer and not The Modern Software Developer.

A Modern Software Developer:

👉 Is kind to their colleagues…
👉 Appreciates the tech around them…
👉 Supports those with less experience…
👉 Expresses gratitude for the contribution of teammates…

𝗪𝗵𝗮𝘁 𝗵𝗮𝘃𝗲 𝗜 𝗺𝗶𝘀𝘀𝗲𝗱?

You don’t have to be a stereotypical software developer…

👉 You get to choose the type of software developer you want to be.
Very basic explanation of <div> / <span> elements
Tags: beginners, css, codenewbie, html
Published: 2023-03-27 14:22:28

In this short blog I want to introduce you to the <`div`> and <`span`> elements, so let us get started....

##<`span`>

The <`span`> tag is an inline container for inline elements and content. It is used to group a set of inline elements. You use <`span`> to hook a text or a group of tags that you want to style differently. For example:

```
<h1>Hello World <span class="main-title">this is the second part of the title</span></h1>

```
Yes you could use <`strong`> or <`em`> but the <`span`> element is definitely more versatile, you can style more with it. 

In this example I used a "class" attribute. This basically names the element so that when using CSS or JavaScript, you can select and access specific elements. 

## <`div`>
 
The <`div`> tag is a HTML container. Its purpose is to let you group together other document elements to which you can style in CSS. 
Here is an example of the <`div`> tag:

```
<!DOCTYPE> 

<html>

<body>

<p>First paragraph</p>

<div style=”color:purple”>

<h3>This heading is set to purple in the div element.</h3>

<p>This text is also set to purple.</p>

</div>

<p>This text is not inside the div element so it will not be included.</p>

</body>

</html>

```
So a <`div`> is used to group various tags of HTML so that sections can be created and styles can be applied to them. 

## The difference between them

The <`span`> element is mainly used for styling inline content such as changing the colour, font or background of part of a text using CSS, whereas the <`div`> element is most often used  to group elements together and apply CSS styles to many elements at once. It is also used to divide page content into blocks.

Remember that you always have to close these tags!

 I hope that this short explanation has helped, thank you for reading.....and remember to...

**KEEP CODING! 👩🏼‍💻**
Troubleshooting Add Identity with External Provider with ASP.NET Core
Tags: dotnet, beginners, devjournal
Published: 2023-03-27 14:07:50

## Background

I want to add Microsoft Authentication to my ASP.NET Core app. Unfortunately, I have a bug when redirecting to the login page, which gives the wrong redirect URL. I use a load balancer and expect to get HTTPS scheme instead of HTTP.

## Troubleshooting

I found [this website](https://learn.microsoft.com/en-us/aspnet/core/security/authentication/social/microsoft-logins?view=aspnetcore-7.0#forward-request-information-with-a-proxy-or-load-balancer
), and that web redirects me to [this page](https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/proxy-load-balancer?view=aspnetcore-7.0).

## Solution

You will need to configure getting the Forwarded Header. You can use this code.

```csharp
// ...
builder.Services.Configure<ForwardedHeadersOptions>(options =>
{
    options.ForwardedHeaders =
        ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto;
});

// ...
var app = builder.Build();

app.UseForwardedHeaders();

// ...
```

For more details, check [here](https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/proxy-load-balancer?view=aspnetcore-7.0#forwarded-headers-middleware-order).

The solution is not enough for Linux and non-IIS! You will need this environment variable.

```bash
ASPNETCORE_FORWARDEDHEADERS_ENABLED=true
```

For more details, check [here](https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/proxy-load-balancer?view=aspnetcore-7.0#forward-the-scheme-for-linux-and-non-iis-reverse-proxies).

I only cover my case and the common one. For more details, check [here](https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/proxy-load-balancer?view=aspnetcore-7.0#scenarios-and-use-cases).

## Thank you

I hope that will help you a lot. Thanks for reading.

![GIF Thanks](https://media.giphy.com/media/smaaKxR6ZrQYQxHFfA/giphy.gif)
An Introduction to TypeScript: Essential Concepts for Beginners
Published: 2023-03-27 14:07:08

TypeScript is a programming language developed and maintained by Microsoft. It is a superset of JavaScript, which means it extends the capabilities of JavaScript by adding features that are not available in the original language. In this article, we will introduce TypeScript to beginners by going through the key concepts and features of the language.

ypeScript: Installation and Setup
Before you can start using TypeScript, you need to install it on your computer. The easiest way to do this is to use Node.js, a JavaScript runtime that can be used to execute TypeScript code. To install Node.js, go to the official Node.js website and download the appropriate version for your operating system. Once you have installed Node.js, you can use the Node Package Manager (npm) to install TypeScript by running the following command in your terminal:

npm install -g typescript

TypeScript Syntax
TypeScript has its own syntax that is similar to JavaScript, but with some additional features. One of the most significant features of TypeScript is its support for static typing. This means that you can specify the type of a variable or function parameter when you declare it. For example, you can declare a variable of type string like this:

let myName: string = "Tilak";
In this example, the variable myName is of type string, which means it can only contain strings of characters. If you try to assign a value of a different type to this variable, TypeScript will give you an error.

TypeScript also supports classes and interfaces, which are used to define object-oriented structures. Classes allow you to define a blueprint for an object, while interfaces define a set of properties and methods that an object must have.

interface Person {
  name: string;
  age: number;
}
class Student implements Person {
  name: string;
  age: number;
  grade: number;
  constructor(name: string, age: number, grade: number) {
    this.name = name;
    this.age = age;
    this.grade = grade;
  }
}
In this example, we define an interface Person with two properties: name and age. We then define a class Student that implements the Person interface. The Student class has three properties: name, age, and grade, and a constructor that initializes these properties.

Read More Article click [here](https://bit.ly/42JFxE3)
Getting started with Hashnode Rix
Published: 2023-06-12 17:17:21

---
title: Getting started with Hashnode Rix
published: true
date: 2023-03-27 14:05:39 UTC
tags: 
canonical_url: 
---

Rix is an AI chatbot made by Hashnode that lets you "chat" with programming languages, popular libraries, etc. with accurate responses based on the library's documentation, to prevent hallucinations.

I have chatted for some time with Rix, and it works quite well. You can also submit your library by clicking "Submit doc" at the top, which is very useful. The interface is also very simple, with a sidebar on the left and a chat on the right.

Rix is based on Hashnode's [DocsGPT](https://docsgpt.ai/), which lets you add an AI chatbot to your open-source library's documentation.

### Getting started with Rix

1. Start by going to [https://hashnode.com/rix](https://hashnode.com/rix). This is Rix's website.

2. If you don't have any, create a Hashnode account. On the modal, follow all the steps indicated.

3. After creating an account, select a programming language or library in the sidebar on the left.

4. Start chatting with the bot on the right side. Enter your prompt on the input, and watch the response showing on the screen.

Here's an example chat I had with the "General Chatbot":

```
👦 User: Hi!
 Rix: Hello! How can I assist you today?

👦 User: What are your capabilities?
 Rix: As a chatbot, my sole purpose is to assist and answer any programming-related questions you may have. You can ask me anything related to programming languages such as Java, Python, JavaScript, C++, or any other language you would like to know about. I will do my best to provide accurate and helpful answers. If you request a code snippet, please specify the language you prefer, and I will do my best to oblige.

👦 User: Oh. Are you free?
 Rix: Yes, I am always free to assist you with any programming-related questions you may have. [*] Just let me know what you need help with, and I'll do my best to assist you. 
[* Author note: Rix is free for now, but will be paid in future.]

👦 User: Do you know Hashnode DocsGPT?
 Rix: Yes, I'm familiar with Hashnode DocsGPT. It's a pre-trained machine learning model developed by Hashnode that is capable of generating human-like documentation for programming languages, frameworks, and libraries.

As you mentioned, when outputting a code snippet with Hashnode DocsGPT, it's important to specify the language in markdown to ensure that the syntax highlighting is applied correctly. For example, you can specify the language of the code snippet with three backticks followed by the language name. Here's an example:

```python
def hello_world():
  print("Hello, World!")
```

This will result in syntax highlighting for Python code in the output.

👦 User: What's 1937+1047*2947
 Rix: The result of the multiplication operation is 3063429. If you want to perform the calculation in a programming language, here's an example of how to calculate the result using Python:

result = 1937 + 1047 * 2947
print(result)
This will output 3063429 as the result of the operation.

```