teleren/devto huggingface dataset:
DaVinci: The GPT-Powered Project Planner That's Transforming Task Management
Tags: ai, productivity, discuss, saas
Published: 2023-03-31 13:41:12

Hey there, fellow innovators and productivity enthusiasts! 🚀 I'm beyond excited to announce the alpha launch of my new SaaS, DaVinci! As a software engineer passionate about AI, I've designed DaVinci to be the ultimate GPT-powered project planner to help you break down your project ideas into actionable tasks. Intrigued? Let's explore what DaVinci has to offer!

🌐 [Visit DaVinci](https://www.davinciai.app/)
🐞 [Report Issues on GitHub](https://github.com/JimmyMcBride/davinci)

## What is DaVinci?

DaVinci is a cutting-edge project planner that leverages the power of GPT to transform your project ideas into bite-sized tasks. With DaVinci, each task comes complete with a title, scope, acceptance criteria, and helpful resources. You can refine your project board using plain English, and once you're satisfied, upload the tasks to your Trello board with just one click!

## Getting Started

To get started, simply log in and connect your Trello account and credit card. I'm currently unable to offer free trials due to limited resources, but I'm setting up special pricing for a select group of alpha testers. If you're interested, email me at jimmy@davinciai.app. DaVinci only charges you for what you use, making it incredibly affordable at just $0.05 per 1k tokens on a monthly basis.

## Upcoming Features

I'm always working to improve DaVinci, and here are some exciting features coming soon:

- Manual ticket editing
- UI/UX redesign

## Future Plans

My ultimate goal is to make DaVinci an indispensable tool for everyone, from individuals to enterprise teams. Here's what I have in mind for the future:

- Integration with other tools like Notion and Jira
- Roadmap generation for learning new skills (e.g., Rust, machine learning, mechanical engineering)
- Agile features and automation to streamline your workflow

## Let's Talk!

I'd love to hear your thoughts on DaVinci! What features would you like to see added? How can I make it even better for you? Your feedback is invaluable, and I'm eager to hear your ideas. Let's work together to revolutionize project planning and bring DaVinci to new heights!

Let the project planning revolution begin! 🎉
Resolvendo problemas no HackerRank: Contando Strings repetidas
Tags: javascript, beginners
Published: 2023-03-31 13:40:13

Olá, seja bem vindo a mais um Resolvendo problemas no HackerRank: No caso de hoje,vamos contar strings `a` repetidas dentro de um array. Vejamos mais informações com a explicação detalhada e sua resolução.

**Repeated String -**

Há uma string, `s` , de letras minúsculas que é repetida infinitas vezes. Dado um inteiro,`n` , encontre e imprima o número de letras a nas primeiras letras da string infinita. Vejamos um exemplo:

- s = 'abcac'
- n = 10

A substring será abcacabcac, contento 10 valores de `n` e 4 letras `a`.

Nosso objetivo é passear pela string,e retonar o número de letras `a`que estarão presentes baseados na repetição:


```
function repeatedString(s, n) {
    // Write your code here
    let t=0
    let w = n - (s.length *  Math.floor(n/s.length))
    for (let i = 0; i < w; i++) {
        t += s.charAt(i) ==='a' ? 1 : 0;
    }
    if(n < s.length)
        return t
        
    let x=0
    
    for (let i = 0; i < s.length; i++) {
            x += s.charAt(i) ==='a' ? 1 : 0;
    }
    return t+(x*Math.floor(n/s.length))
}
```

O código começa inicializando duas variáveis: "t" é definida como 0 e "w" é definida como a diferença entre "n" e o comprimento de "s" multiplicado pelo maior número inteiro menor ou igual a "n" dividido pelo comprimento de "s". Essa segunda operação é usada para calcular quantas vezes a string "s" será repetida para formar a string final, levando em conta que a última repetição pode ser parcial.

Em seguida, um loop é executado "w" vezes, e a variável "t" é incrementada cada vez que o caractere "a" é encontrado na posição atual da string.

Se o valor de "n" for menor que o comprimento de "s", a função retorna "t".

Caso contrário, uma segunda variável "x" é inicializada com 0, e outro loop é executado para contar o número de ocorrências do caractere "a" na string original "s". O número total de ocorrências de "a" é então calculado como a soma de "t" e do número de repetições completas da string "s" multiplicado pelo número de vezes que o caractere "a" aparece na string original "s". O resultado final é retornado pela função


O resultado será:

```
aba
10

input: abaabaaba = 7
```

Assim, concluímos mais um _Resolvendo problemas no HackerRank:_ até a próxima.
Cypress Vs Playwright
Published: 2023-03-31 13:35:58

Choosing a framework is never simple. 

This blog will assist you in understanding the tools when you have to choose between Cypress Or Playwright

Please find the link for more detail below

[Cypress Vs Playwright](https://www.thetesttribe.com/cypress-vs-playwright/)

Cypress is an open-source end-to-end testing framework that is used for web applications. It is a JavaScript-based testing tool that is designed to make testing web applications easy and efficient. Cypress is built on top of Mocha, a popular JavaScript test framework, and it uses Chai for assertions.

On the other side, Microsoft’s Playwright is a relatively new open-source test automation framework. It is intended to automate web application testing across multiple browsers and platforms (including Chromium, Firefox, and Safari) (including Windows, macOS, and Linux).

In this blog, you will learn about the parameters on the basis of which you can select the tool that is most appropriate for your project.
Cost Estimation In PostgreSQL
Tags: postgres, apacheage
Published: 2023-03-31 13:22:31

Cost estimation in PostgreSQL refers to the process by which the query **planner** estimates how much time a query will take to execute. The planner uses both a startup cost and a total cost for each operation to determine the cheapest option for executing a query. The costs are calculated using both constants and metadata about the contents of the database, often referred to as "statistics". This is not an absolute performance indicator of the final execution but gives a relative idea of execution of queries in different ways. 
The costs of a query are estimated by functions defined in _costsize.c_ and all the operations of executor have their corresponding cost function. 
There are three types of cost in PostgreSQL which are as follows:

**1. Start-up Cost:** It is cost expended before the first tuple is fetched.
**2. Run Cost:** It is cost to fetch all the tuples.
**3. Total Cost:** It is sum of both start-up cost and run cost.

**Explain** command shows both the start-up cost and total cost in the operation. The command can be used like this.

```
testdb=# EXPLAIN SELECT * FROM tbl;
                       QUERY PLAN                        
---------------------------------------------------------
 Seq Scan on tbl  (cost=0.00..145.00 rows=10000 width=8)
(1 row)
```

## Cost Estimation in Sequential Scan
The cost of the sequential scan is estimated by `cost_seqscan()` function. For this, startup cost is 0 and the run cost is defined using the following formula:

```
'run cost' = 'cpu run cost' + 'dis run cost'
           = ('cpu tuple cost' + 'cpu operator cost')xNtupule +'seq page cost'xNpage
```
Here 'seq page cost', 'cpu tuple cost' and 'cpu operator cost' are set in the _postgresql.conf_ file, and the default values are 1.0, 0.01, and 0.0025, respectively.
For _Ntuple_ = 10000 and _Npage_ = 45 the _run cost_ comes out to be 170 which is same as _total cost_.

## Cost Estimation in Sort
The sort path is used for a variety of sorting tasks, including ORDER BY, preprocessing merge join procedures, and more. The _cost sort()_ method calculates the cost of sorting.
If all of the tuples that need to be sorted can be stored in work mem, the quicksort algorithm is used otherwise tuples are broken into multiple parts in temporary files and merge sort algorithm is used.
The start-up cost of the sort path is the cost of sorting the target tuples. The run cost of the sort path is the cost of reading the sorted tuples.
The following formula is used for the cost estimation:
```
'start up cost' = C + 'comparison cost' x Nsort x log2(Nsort)
'run cost' = 'cpu operator cost' x Nsort
```
where C is the total cost of index scan, 'comparison cost'  = 2 x 'cpu operator cost'.
My Final week at Flatiron
Published: 2023-03-31 13:17:03

Congratulations on reaching your final week at Flatiron Coding Bootcamp! It's an exciting time filled with mixed emotions as you prepare to complete your intensive program.

During your time at Flatiron, you've undoubtedly worked hard to learn and master various programming languages and tools. You've likely built numerous projects and worked collaboratively with your fellow students. Now, as you approach the end of the program, it's time to reflect on all that you've accomplished and look ahead to what's next.

In this final week, you'll likely be putting the finishing touches on your portfolio and polishing up your skills. You may be reviewing material from earlier in the program to ensure that you're ready for any final exams or assessments. It's also a good time to connect with your instructors and fellow students, to exchange ideas and insights as you prepare to enter the workforce.

As you prepare to graduate, it's natural to feel a mix of excitement and apprehension. You may be eager to start your career as a software developer or to continue your education. At the same time, you may be nervous about finding a job or adjusting to life outside of the structured environment of the bootcamp.

Remember, though, that you've come a long way in a short amount of time. You've demonstrated your ability to learn new skills quickly and to apply them to real-world problems. You've also gained valuable experience working in teams and communicating effectively with others.

So, as you approach the end of your time at Flatiron, take a moment to celebrate all that you've achieved. Recognize the hard work and dedication that you've put in and look forward to the exciting opportunities that lie ahead. And most importantly, stay curious, stay motivated, and continue to learn and grow as a developer. Congratulations again, and best of luck in your future endeavors!
Search By Inequality and range in PostgreSQL B-Tree Indexes
Tags: apacheage, postgres
Published: 2023-03-31 13:02:51

Read This Blog for B-Tree indexes in PostgreSQL and search by Equality in B-Tree:

[B-Tree indexes in PostgreSQL and Search by Equality in It](https://dev.to/farooquememon385/search-by-equality-in-postgresql-b-tree-indexing-dk4)

In this blog Search by Inequality and Search by range in PostgreSQL B-Tree Indexes will be explained.

## Search by inequality

When searching by the condition "indexed-field <=, <, >, or >= expression". we first find a value (if any) in the index by the equality condition "indexed-field = expression" as explained in previous post (the link to that post is given above you can refer to that if you need) and then walk through leaf pages in the appropriate direction to the end.

_The figure illustrates this process for n ≤ 35:_


![Searching with inequality example for n <= 35](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ovplaj6nhyb2fwar4d19.png)

_The "greater" and "less" operators are supported in a similar way, except that the value initially found must be dropped._

_for "less" we move left from the value found by equality condition, and for "greater" we move right to the value we found by equality condition_


## Search by range

When searching by range "expression1 ≤ indexed-field ≤ expression2", we find a value by condition "indexed-field = expression1", and then keep walking through leaf pages from left to right while the condition "indexed-field ≤ expression2" is met; or vice versa: start with the second expression "expression2", and walk in an opposite direction until we reach the first expression.


_The figure shows this process for condition 23 ≤ n ≤ 64:_


![Search by range example 23 <= n <= 64](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y3tcunuhue4b74iqem7i.png)

I hope this post will help you

See More at : [Indexes in PostgreSQL - (Btree)](https://postgrespro.com/blog/pgsql/4161516)

Visit to know about Apache Age a PostgreSQL extension

Apache AGE: [age.apache.org](https://age.apache.org/)
Apache AGE (Github) : [github.com/apache/age](https://github.com/apache/age)
how to filter in the dynamic zone in strapi using graphql?
Tags: javascript, graphql, strapi, help
Published: 2023-03-31 13:00:46

hello, dev's. i need help in strapi. if any one know please help me! thanks 🙂

```js
query GetPosts($datelte: Date!, $dategte: Date!, $searchkey: String) {
  posts(filters: { effectiveDate: { lte: $datelte, gte: $dategte } }) {
    data {
      attributes {
        effectiveDate
        contentSections {
        ... on ComponentElementsEvents {
          title
        	}
        }
      }
    }
  }
}
```

here how can I add a search filter by **searchkey** for the title?

title it's inside a dynamic zone.

[![dynamic zone image][1]][1]
[![filed inside dynamic zone filter][2]][2]


  [1]: https://i.stack.imgur.com/L3jWO.png
  [2]: https://i.stack.imgur.com/7xGeH.png
Auto deploy reactjs application on cpanel using github actions(CI/CD).
Tags: javascript, react, node, github
Published: 2023-03-31 13:00:10

In this video tutorial, I'm going to show you a step by step process on how to auto-deploy your react js application from github to cpanel using github actions. This will enable you to publish your changes from development to production and have your changes reflect on the remote server immediately .

In order to host your react.js app on cpanel, we will assume you have acquired a hosting package with cpanel accessible. In this article, we will be using namecheap shared hosting package but you can use any hosting plan.

Video Tutorial
If you are the visual type like me, go ahead and watch the video below.
Please don't forget to like, share, comment, subscribe and turn on notification as that will give me the motivation to do more awesome videos and tutorials like this.

{% youtube x_GZpOGyJpg%}
1 - Réseau de neurones
Tags: deeplearning, machinelearning
Published: 2023-03-31 12:56:39

Dans ma série sûr comment comprendre l’intelligence artificielle de A à Z . Je vais me focaliser sûr les réseaux de neurones.

Les réseaux de neurones c’est une  technique inspirée de l'organisation du cerveau humain.


Les neurones humains apprennent ⇒ à  travers un processus appelé la plasticité synaptique. C’est la capacité des synapses (les connexions entre les neurones) à se renforcer ou à s'affaiblir en fonction de l'activité neuronale.

L’intelligence artificielle mime cette capacité synaptique .
Par  exemple, en apprentissage par renforcement qui est un type d’intelligence artificielle, on renforce les connexions synaptiques qui sont associées à des récompenses, et on affaiblit les connexions synaptiques qui sont associées à des pénalités.
Query Processing In PostgreSQL
Tags: apacheage, postgres
Published: 2023-03-31 12:47:09

Query processing is the most complicated system in any database management system. Here we'll discuss about how PostgreSQL handles the queries.

All the queries issued by a client is handled by a backend process. This subsystem of backend process consists of five subsystems:

1. Parser: generates a parse tree from an SQL statement in plain text
2. Analyzer: performs semantic analysis of a parse tree and generates a query tree
3. Rewriter: transforms a query tree using rule system
4. Planner: generates a plan tree than can most effectively be executed from the query tree.
5. Executor: executes the query 

![Query Processing](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rg4nmhngcu5xhddsj1nf.png)



Now we'll learn more about them in detail.

## Parser
The parser generates a parse tree that can be read by subsequent subsystems from an SQL statement in plain text. A parse tree is tree whose root node is _SelectStmt_ structure. 
A parser only checks for syntax of a input so it only returns error if there a syntax error in the issued query. This means that all the semantic errors like, wrong table or column names, are skipped in this step.

## Analyzer
Analyzer runs the semantic analysis of the parse tree generated in previous step and it them generates a query tree. The root of the query tree contains the metadata of the query such as the type of query and several leaves corresponding to clauses.

## Rewriter
Rewriter enforces the rule system and transforms the query tree according to the rules stored in the _pg_rules_ system. The input and output of the rewriter are query trees and it can be thought of as a form of macro expansion. Since version 10, PostgreSQL supports rewrite rules which allow you to change how queries are executed.

## Planner
The planner/optimizer in PostgreSQL is responsible for creating an optimal execution plan for a given SQL query. A query can be executed in many different ways, each of which will produce the same set of results. The query optimizer examines each of these possible execution plans and selects the one that is expected to run the fastest. This is based on pure cost-based optimization. 
A plan tree is attached to the plantree list of the PlannedStmt structure and is made up of components called plan nodes which contains information that executor needs for processing. Plannodes.h defines these components.

## Executor
The executor in PostgreSQL takes the plan created by the planner/optimizer and processes it to extract the required set of rows from the table. It does this by recursively processing a tree of plan nodes, where each node is a single query processing operator (join, sort, etc.) that consumes relations and produces relations. The executor mechanism is used to evaluate all four basic SQL query types: SELECT, INSERT, UPDATE, and DELETE. It reads and writes tables via a buffer manager.
Useful Lodash Methods
Tags: javascript, programming, lodash, tooling
Published: 2023-03-31 12:46:33

**Shuffle the elements of an Array**
  

> `shuffle()` method in Lodash to randomize the elements in an array.

```
let people = ["Jane", "Adam", "Nitish", "Joe", "Rakesh", "Will", "Andrew", "Samantha"];
console.log(_.shuffle(people));
// outputs: ['Joe', 'Samantha', 'Adam', 'Jane', 'Andrew', 'Rakesh', 'Will', 'Nitish']
```
**Remove falsey values from an Array**

> `compact()` method to filter out all the falsey values, including false, null, undefined, NaN, the empty string "", and 0. Here is an example:

```
let values = ["Chilly", "Sunny", undefined, '', "Sunny", false, "Cloudy"];
console.log(_.compact(values));
// Outputs: ['Chilly', 'Sunny', 'Sunny', 'Cloudy']
```
**Difference between two Arrays**

> The `difference()` method from Lodash will return a new array that contains all the values from the first array that are not part of the second array.

```
let people = ["Adam", "Nitish", "Joe", "Rakesh", "Will", "Andrew", "Samantha"];
let team_a = ["Adam", "Andrew", "Jane", "Samantha"];
let team_b = _.difference(people, team_a);
console.log(team_b);
// Outputs: ['Nitish', 'Joe', 'Rakesh', 'Will']
```
**Compose object from key-value pairs**

> The inverse of `_.toPairs()` this method returns an object composed from key-value pairs.

```
_.fromPairs([['a', 1], ['b', 2]]);
// => { 'a': 1, 'b': 2 }
```
**Grouping Array elements together**

> The `_.groupBy()` can use to group different elements of any array.

```
_.groupBy([6.1, 4.2, 6.3], Math.floor);
// => { '4': [4.2], '6': [6.1, 6.3] }
```
**Deep comparison between two values**

> Performs a deep comparison between two values to determine if they are equivalent.

```
var object = { 'a': 1 };
var other = { 'a': 1 };
 
_.isEqual(object, other);
// => true
```
MDB Challenge Progress
Tags: mdbootstrap, mdb2023challange, webdev
Published: 2023-03-31 12:46:13

I've just learned Social Media Buttons in MDB UI Kit. It's my 11th day of MDB course.
[https://mdbootstrap.com/learn/mdb-foundations/basics/introduction/](https://mdbootstrap.com/learn/mdb-foundations/basics/introduction/)
Should I add a not-found.jsx file for each page?
Tags: nextjs, javascript, webdev
Published: 2023-03-31 12:46:13

Hello,

I have a not-found.jsx file under the App folder, and on some pages I redirect to the notFound() function for some situations and I see the design. However, no link works. It does not redirect. 

But if I add not-found.jsx in this page folder, it works fine. Do I have to add not-found.jsx to each page individually?

My Next.js version is 13.2.3.
Podcast: Hugging Face
Tags: deeplearning, hardware, transformers, artificialintelligen
Published: 2023-04-03 10:01:23

---
title: Podcast: Hugging Face
published: true
date: 2023-03-31 12:39:58 UTC
tags: deeplearning,hardware,transformers,artificialintelligen
canonical_url: https://julsimon.medium.com/podcast-hugging-face-e2b8ecaba2c3
---

### Podcast: Hugging Face and Intel

This week, I had the pleasure to discuss the amazing collaboration between Hugging Face and Intel on accelerating Transformer training and inference. We also talked about generative AI and quite a few other things :)

[‎Code Together: Hugging Face and Intel - Driving Towards Practical, Faster, Democratized and Ethical AI solutions on Apple Podcasts](https://podcasts.apple.com/us/podcast/code-together/id1510537499?i=1000606728307)
Unlock The Benefits Of Automation Testing Of Salesforce
Tags: automation, testing, salesforce
Published: 2023-03-31 12:39:14

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p8d1tetpbz355hnlbkpp.jpg)
Automation testing for Salesforce helps testers automate their tests quickly and accurately, enabling them to ensure quality and reliability of the applications built using the Salesforce application development framework.

Dive into the world of Automation Testing Salesforce and discover how it can help you streamline your testing process and optimize your software development cycle.

**Benefits of automation testing Salesforce**

1. **Improved Customer Satisfaction**: Automation testing helps to ensure that any issues are identified quickly and efficiently, allowing for the product to be improved quickly. This leads to improved customer satisfaction, as the product is of higher quality.

2. **Greater Flexibility**: Automation testing allows tests to be executed across multiple platforms. This means the product can be tested on different configurations, ensuring any issues are identified quickly and efficiently.

3. **Cost-effectiveness**: Automation testing is more cost-effective than manual testing, as it eliminates the need for manual testers and reduces the time required to complete a test. This, in turn, reduces the total cost of testing.

4. **Reduced Maintenance Costs**: Automation testing helps to reduce the amount of time and money required to maintain the product, as it eliminates the need for manual testing. This, in turn, leads to reduced maintenance costs.

5. **Increased Productivity**: As repetitive tasks can be automated, QA professionals get more time to focus on more productive tasks.

6. **Greater Coverage**: Automation testing limits human intervention and considers more parameters while selecting tests in regression suites.

7. **Improved Reliability**: Automation testing helps ensure the product is reliable, as it allows for tests to be run on different environments and data sets.

8. **Faster Time-to-Market**: Automation testing helps to ensure that the product is released quickly, as it eliminates the need for manual testing. This means the product can be released much more quickly, increasing sales and profits.

**Conclusion**

Opkey is the perfect Automation Testing solution for Salesforce. It helps you to quickly test and validate your applications across browsers and devices, saving you time and money.

With Opkey, you get a reliable, secure, and robust automation testing platform that allows you to create, execute, and report your tests quickly.

So, if you are looking for an automation testing Salesforce solution that can help you save time, money, and resources, looks no further than Opkey.