teleren/devto huggingface dataset:
Benchmarking Vector Search Engines
Published: 2022-08-23 14:36:11

As an Open Source vector search engine, we are often compared to the competitors and asked about our performance vs the other tools. But the answer was never simple, as the world of vector databases lacked a unified open benchmark that would show the differences. So we created one, making some bold assumptions about how it should be done. Here we describe why we think that’s the best way.

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

In real-world scenarios, having access to unlimited power and computational resources is never the case. Projects have budgets that have to be tracked, and constraints affect the possibilities, also when it comes to hardware parameters. Unless you work for a FAANG company, chances are you would like to get out most from your VMs or bare-metal servers. That’s why we decided to benchmark the available vector databases using the same hardware configuration, so you can know how much you can expect from each on a specific setup. Does it guarantee the best performance? Probably not, but that makes the whole process affordable and reproducible, so you can easily repeat it on your machine. If you do so, your numbers won’t match the ones we’ve got. But the whole thing is not about measuring the state-of-the-art performance of a specific neural network on a selected task. **The relative numbers, compared to the other engines are far more important, as they emphasize the differences in reality.**

The list will be updated:

Upload & Search speed on single node - [Benchmark](https://qdrant.tech/benchmarks/single-node-speed-benchmark/)
Memory consumption benchmark - TBD
Filtered search benchmark - TBD
Cluster mode benchmark - TBD
Some of our experiment design decisions are described at [F.A.Q Section](https://qdrant.tech/benchmarks/#benchmarks-faq).

Suggest your variants of what you want to test in our [Discord channel](https://discord.com/invite/tdtYvXjC4h)!

Read more details by this [link](https://qdrant.tech/benchmarks/) https://qdrant.tech/benchmarks/
Okteto-pipelines - when you need control over your okteto
Tags: kubernetes, tips
Published: 2022-08-23 14:18:00

Okteto Pipelines add functionality over `okteto.yaml` . It is useful in the following use-cases:
- allow configuration of how ones' [Git repositories](https://www.okteto.com/docs/cloud/deploy-from-git/) get deployed to [Okteto](https://www.okteto.com/docs/welcome/overview/). 
- to deploy artefacts when Okteto Cloud cannot detect how to deploy your application from your [deployment manifests](https://www.okteto.com/docs/cloud/deploy-from-git/#prerequisites) 
- when one needs more control over how application gets deployed.

`okteto-pipeline.yaml` can refer to individual `okteto.yaml` files through relative paths leading to modularity and decoupled control over individual microservices.

####### Example
Consider the following structure
```bash
ms-app
├── backend
│   ├── Dockerfile
│   ├── deployment.yaml
│   ├── okteto.yaml
│   └── src
│       └── app.py
├── frontend
│   ├── Dockerfile
│   ├── okteto.yaml
│   └── src
│       ├── app.html
│       └── app.js
└── okteto-pipeline.yaml

```
To work with `frontend` and `backend` use the individual `okteto.yaml` (`okteto { build | deploy | up | down } -f *end/okteto.yaml`)
To deal with `ms-app` as a whole refer to `okteto-pipeline.yaml`
```bash
❯ cat okteto-pipeline.yaml
icon: https://www.icon-url-addr/icon.png
deploy:
  - okteto build -t ashoka007/ms-app-backend:${OKTETO_GIT_COMMIT} backend
  - okteto build -t ashoka007/ms-app-frontend:${OKTETO_GIT_COMMIT} frontend
  # assume backend/deployment.yaml has updated image tag
  - kubectl apply -f backend/deplyment.yaml
  # assume frontend is already deployed and only image tag needs update
  - kubectl set image deployment/frontend-dep ms-app-frontend=ashoka007/ms-app-backend:${OKTETO_GIT_COMMIT}
  devs:
  - backend/okteto.yml
  - frontend/okteto.yml
```
####### Note
Okteto will run an installation job that clones your Git repository, checks out the selected branch, and executes the sequence of `deploy` commands. The job will fail if any of the commands in the `deploy` list fails.

####### More info
There are a number of environment variables (like `OKTETO_GIT_COMMIT` referred above). Check the [documentation](https://www.okteto.com/docs/cloud/okteto-pipeline) for details
UI5 Web Components && SolidJS
Tags: ui5, webcomponents, solidjs, javascript
Published: 2022-08-23 14:07:31

If you are looking for a Component Framework useable with [SolidJS](https://www.solidjs.com) maybe [UI5 Web Components](https://sap.github.io/ui5-webcomponents/) are the right choice for you.

They have instructions for Vue, React and Angular and hence SolidJS is not so far away from React, it also fits into the stack.

Simply start with [Getting Started](https://www.solidjs.com/guides/getting-started) from SolidJS and add the webcomponents with

```
npm install @ui5/webcomponents --save
```

After that you are good to go.

```
import '@ui5/webcomponents/dist/Button.js'

<ui5-button>Hello world!</ui5-button>
```

What do you prefer for SolidJS?
Entenda o Design Pattern Abstract Factory com C# [Iniciantes]
Tags: csharp, dotnet, programming, braziliandevs
Published: 2022-08-23 14:03:07

Fala pessoal, tudo bem com vocês?

Recentemente tive um desafio pessoal que era aprender um design pattern que já tinha aplicado em um projeto, mas não entendi como funcionava por debaixo dos panos. Pois bem, venho aqui passar o que absorvi nesse tempo e contribuir com a comunidade com o pattern Abstract Factory.😁

Vamos começando por:

### O que é um desing pattern?

Fazendo uma pesquisa rápida na internet você vai encontrar algo como: 

> Design patterns ou padrões de design são soluções já testadas para problemas recorrentes no desenvolvimento de software, que deixam seu código mais manutenível e elegante, pois essas soluções se baseiam em um baixo acoplamento.

Resumindo: São soluções recorrentes de um problema em específico que foram tanto utilizadas que definiram um nome para aquela solução/pattern: Ex: criando classes de repositório que buscam algo em específico, retornando algum objeto. Hmmm, vamos dar um nome para esse padrão: "Repository". Tem toda uma história por trás, então recomendação de leitura é o livro GoF.

Existem 3 tipos de patterns até o momento: Criacional, Estrutural e comportamentais. Nesse artigo iremos falar sobre o pattern criacional Abstract Factory.

### O que é um padrão criacional?

> Os padrões criacionais fornecem vários mecanismos de criação de objetos, que aumentam a flexibilidade e reutilização de código já existente.

### O que é o pattern Abstract Factory?
Diferentemente do **_Factory Method_**, o Abstract Factory permite que você produza famílias de objetos relacionados sem ter que especificar suas classes concretas.

Um exemplo bastante famoso é das fábricas de móveis para casa.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tzsa1965ptit3nvlj17h.png)
 
Pense que você precisa criar um código em que passado uma factory, você precisa retornar objetos específicos dessa factory, porém seu método principal pode receber diversas fábricas de vários tipos de objetos e precisa funcionar normalmente. Nesse caso usaremos o pattern Abstract Factory, que dado uma interface(contrato) nesse método principal, todos que seguirem essa interface funcionará.

Vamos trabalhar com esse diagrama de classes e vamos destrinchar passo-a-passo antes de irmos para o código.

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

Vamos começar pelo inicio - Program e Client
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r56ruue4n0k8lkqtf04t.png)
 
Temos o programa que possúi um código de um client. Esse client Implementa um método ClientMethod() que espera uma interface(contrato) de IMobiliaFactory.

Continua...
AMA with Harshit Surana, CTO & Co-Founder of Chaos Genius
Tags: python, programming, opensource, ama
Published: 2022-08-23 14:02:00



Business Observability has become a key part of product development in the past couple of years. It becomes, at times, the only USP in a market that’s filled to the brim with competing products.

[Aviyel](https://aviyel.com) is organizing an AMA for the community about Business Observability with one of the [Y Combinator](https://www.ycombinator.com/) backed project [Chaos Genius](https://www.chaosgenius.io/). We will be joined by the CTO & Co-Founder - [Harshit Surana](https://www.linkedin.com/in/surana/).

## What’s Chaos Genius ?
Chaos Genius is an open-source business observability platform that allows businesses to monitor thousands of key performance indicators (KPIs) and perform automated root cause analysis for any deviations.

## About the Speaker
Harshit is an engineering leader with extensive experience in creating products and teams from the ground up. He is a ML algorithm pioneer and [best-selling author](https://www.oreilly.com/library/view/practical-natural-language/9781492054047/) endorsed by Google and Microsoft's AI leaders. His work has resulted in significant revenue increases at Fortune 500 companies, an exit, and coverage in major press and industry events.


Join us on August 26th, as we talk about The Open Source Business Observability Platform.

Block your seats here: [https://aviyel.com/events/432/](https://aviyel.com/events/432/)

Wouldn’t be able to make it? Feel free to drop your questions you have in the discussion thread below!👇
What is Web2 and Web3?
Tags: webdev, news, api, software
Published: 2022-08-23 13:48:59

Who would have thought that, two centuries ago in 1820 when the world was so different from what it is today? Not only did we gain motor vehicles and electricity but also a whole new way to go about our daily lives. It all started with one invention-the internet! But wait... Who might not accept just yet that this small little thing called "the web" has changed how we live everyday as humans on earth because now there's another era coming up: Web3 which will be much more interactive than before where people can do pretty much anything they want online without actually being present at their desktops or mobile devices.

The World Wide Web was created in 1990, and it gave people around the globe access to information they never before could. The internet of today is based on centralized servers like those from web 1 era which govern data about users' online activities - including what you post or share with others! With smartphones becoming more popular among everyone; high-speed broadband available everywhere worldwide (for some parts); we have entered into another phase: social networking via these devices—all thanks for this revolutionary technology called “Web 2."

In the world of Web3, or as experts say “Semantic Wall” is a concept that uses blockchain technology to host platforms. Blockchains are digital distributed ledgers which can easily keep track all transactions made within its networked environment – this includes hosting applications for social media networks such as Facebook where users share content with each other using these same cryptocurrencies and NFTs found on Ethereum Smart Contracts; streaming services who use them so nobody would have trouble when paying subscription fees due time restrictions but also appreciate not having their data stored centrally unlike before where everything had been hosted at one place leading into more security risks than ever.

If you want to create an application using the blockchain, there are special companies that specialize in this, such as **[WatchData](https://www.watchdata.io/)** - an  innovative and fast method for interacting with multiple blockchains.
The recent incidents of data breaches have changed people’s mindsets. With Web3, we no longer need to put our faith in a few powerful firms who may or may not protect us from hackers - instead the user control their own information and can sell it back when necessary!

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tcdewwgd0zh6zcmt4k2r.jpg)
My Journey: Part I
Tags: beginners
Published: 2022-08-23 13:48:00

### Introduction
Good morning, everyone! I'm back to share some of the things that I've learned over the past 2 weeks since I started my coding journey. It's been a bit rough to retain so much information in a short amount of time, but it's been fun and I am pushing through. I think all of this work will pay off eventually, so I'm looking forward to learning more!

### JavaScript Basics
_Where should I start with JavaScript?_ It's a programmer language that I've been working on for two weeks now and I think I'm learning it slowly, but surely. I've learned some basic things, such as arrays, objects, and their related methods. It can get pretty complicated the more that they get nested into each other, but learning to navigate them to get the information that you want is key. Methods such as .find() and .filter() seem to be very important as well to finding the information that you want. I still have a lot of things to learn and remember with the basics, but I'm getting into the groove of things I think.

### JSON
This has been the one that I've struggled with the most for some reason. Maybe it's just remembering it all? Either way, I find that persistence is helping me even if it's taking a bit to learn how to use it. For example, knowing when to use POST, GET, PATCH, and DELETE is important and I feel that I'm slowly getting the hang of using them. I've been using them in a lot of school-related projects and I sort of understand, but I seem to struggle with remembering it all right now. If you have any suggestions for memorization, please let me know!

### Wrapping Things Up
Overall, my journey so far has been a bit bumpy and it's taking me longer than I initially thought to remember these things, but I know that I'll get the hang of it all eventually! JSON is a bit hard for me right now, but after working with it for a while I have confidence that it'll be a _lot_ easier. Thank you for taking the time to read my post!
Typescript Series - Array Concat Type
Tags: javascript, typescript, programming, webdev
Published: 2022-08-23 13:43:49

I'd like to start by saying that I am doing this series to learn and understand better Typescript, so feel free to correct me or contact me.

Let's create a type for the JavaScript Array.concat function. A type takes the two arguments. The output should be a new array that includes inputs in ltr order.

Some examples:

```
Concat<[], []>
// []

Concat<[], [1]>
// [1]

Concat<[1, 2], [3, 4]>,
// [1, 2, 3, 4]

Concat<['1', 2, '3'], [false, boolean, '4']>
// ['1', 2, '3', false, boolean, '4']
```

So we know that our inputs should be arrays as well as the return type.

```
type Concat<T extends unknown[], U extends unknown[]> = [...T,... U]
```

`<T extends unknown[], U extends unknown[]>` We first check if both of our inputs are arrays. If so, using the spread operator we spread both input values into a new array `[...T,... U]`.

And there you go, our concat type is done.

Thank you!

you can find me here [My Twitter] (https://twitter.com/sarmunbustillo?t=pztqXmT7DH2pa9lDLjfrdQ&s=09)
Django virtual environment setup in 4 simple steps.
Tags: django, webdev, virtualenvironment, developmentenvironment
Published: 2022-08-23 12:27:16

In this post, I will show you how to setup a django virtual environment in 4 simple steps. 

## Why you need to use a virtual environment.

First, let me start by explaining why it is important to setup a development environment for your django projects. The main reason why you need to setup a virtual environment for your django project is because one of your projects is likely to require a different version of an external library than another one. Hence, installing packages in same place means you can't work with different versions of the same library. In short, creating a virtual environment _separates the dependencies of different projects by creating a separate isolated environment_ for each project.

## 4 steps to setup your django virtual environment.

1. Create a folder where your project will recide.

`mkdir portfolio`

2. Create virtual environment using python tool -virtualenv-.

`virtualenv portfolioEnv`

3. Activate your virtual environment.
Depending on where your activate script recides, you may need to use one of the following ways:

`source portfolioEnv/Scripts/activate` 
or 
`source portfolioEnv/bin/activate`
4. Install django in your virtual environment.
`pip install django`

That's it. You have created a virtual environment for your django project. Happy coding :)
The Roadmap for Full Stack Developers
Tags: webdev, beginners, css, html
Published: 2022-08-23 13:40:00

Hey there, How are you? In this article, you’ll see “frontend developer roadmap and backend developer roadmap or you can say full stack developer roadmap. The roadmaps are divided into three parts, the first part is about common skills which every web developer should know, the second part is about the frontend and the last one is about the backend.

## Required for any path

Internet:
- How does the internet work? [Course Link](https://www.youtube.com/watch?v=zN8YNNHcaZc)
- What is HTTP? [Article Link](https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview)
- Browsers and how they work? [Article Link](https://www.mozilla.org/en-US/firefox/browsers/what-is-a-browser/#:~:text=When%20the%20web%20browser%20fetches,and%20experience%20on%20the%20internet.)
- DNS and how it works? [Video Link](https://www.youtube.com/watch?v=mpQZVYPuDGU)
- What is a Domain Name? [Video Link](https://www.youtube.com/watch?v=qO5qcQgiNX4)
- What is hosting? [Video Link](https://www.youtube.com/watch?v=qaMf4hHR2hg)

Git and GitHub [Course Link](https://www.youtube.com/watch?v=3fUbBnN_H2c).

How to use the Command Line? [Video Link](https://www.youtube.com/watch?v=5XgBd6rjuDQ)

Data Structures and Algorithms [Course Link](https://www.youtube.com/watch?v=8hly31xKli0).


## Frontend Developer Roadmap

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

HTML, CSS, and JavaScript best courses:
- HTML and CSS [Course Link](https://www.youtube.com/watch?v=jS4aFq5-91M).
- JavaScript [Course Link](https://www.youtube.com/watch?v=jS4aFq5-91M).

Package Managers [Course Link](https://www.youtube.com/watch?v=cjoTTSbOuG0).

CSS Preprocessors [Crash Course Link](https://www.youtube.com/watch?v=Zz6eOVaaelI).

JavaScript Framework [Course Link](https://www.youtube.com/watch?v=bMknfKXIFA8).


## Backend Developer Roadmap

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i02l0ybi8m2bsfstmx66.png)
Uso de .nil?, .blank? e .present? em Rails
Tags: ruby, rails, nil, blank
Published: 2022-08-23 13:17:00

Existem algumas formas de identificar o valor de um objeto. Dentre elas, as mais usadas são `.nil?`, `.blank?` e `.present?`

## Uso de .nil

Usamos o `.nil?` para uso de objetos nulos. Perceba que `.nil `só vai ser true quando o próprio objeto também for nil. Importante frisar que uma string vazia **não** é nil.

```
nil.nil?
#  => true

false.nil?
#  => false

[].nil?
#  => false

"".nil?
#  => false

"   ".nil?
#  => false
```


## Uso de .blank

Usamos o `.blank` para identificar itens vazios, como uma string, por exemplo. Seu uso também ajuda a corrigir o erro ao verificar se algo nil está vazio.


```
nil.blank?
#  => true

false.blank?
#  => true

[].blank?
#  => true

[ nil ].blank?
#  => false

"".blank?
#  => true
```


## Uso de .present

Usamos o `.present` para identificar o oposto de `.blank`, ou seja, se está presente.

```
" ".present?
# => false

"fulano".present?
# => true
```
Curated AWS Resources For In-demand AWS Skills
Tags: aws, beginners, advance
Published: 2022-08-23 13:11:00


![AWS Cloud](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q8d85vlq7zrl419hb497.png)
As you look to grow your skills in Amazon Web services(AWS-Cloud), you may be exposed to a lot of resources, failing to understand where to begin your journey from, or equally you may have little or no resources to begin your journey.

If your learning is inspired by your employer, then you stand a better chance of seamlessly aquiring the skills relevant to your company's need, applying them, and later on as you advance your skills, you can be able to advice the company on better ways of utilizing AWS Cloud Resources for the growth of the company (you become a better Solutions Architect for your Company). 

If you are new to cloud enviroment driven by curiosity and urge to learn, then you have to figure everything on your own, I mean how to acquire skills and at the same time figure out where to apply your skills. 

Either way, we all need to know about this AWS Cloud resources that can help us navigate in our cloud journey.

1. **AWS Skills Builder**
AWS skills builder provides you with a learning center to build in-demand cloud skills. It offers both Free and Subscription based courses. 
https://skillbuilder.aws

2. **AWS Educate**
AWS Educate offers hundreds of hours of self-paced training and resources for new-to-cloud learners—including hands-on labs in the AWS Management Console.
https://aws.amazon.com/education/awseducate/

3. **AWS Cloud Quest**
With AWS Cloud Quest, you gain skills through Role-Playing games. 
https://aws.amazon.com/training/digital/aws-cloud-quest/

4. AWS Twitch Platform
With AWS Twitch Platform rather Twitch TV, you gain free live on-demand training.
https://aws.amazon.com/training/twitch/

5. **AWS Re/Start**
AWS re/Start is a full-time, classroom-based skills development and training program that prepares individuals for careers in the cloud and connects them to potential employers. 
https://aws.amazon.com/training/restart/

6. **AWS Academy**
AWS Academy offers courses and learning resources that enable students to develop a range of skills in the AWS Cloud.
https://aws.amazon.com/training/awsacademy/

7. **AWS Workshops**
Gain access to curated workshops. Workshops are hands-on events designed to teach or introduce practical skills, techniques, or concepts which you can use to solve business problems.
https://workshops.aws/

Feel free to add more resources in the comment below. 
Thank you for reading.
Video: Creating Our First Power Automate Flow
Tags: development, video, flow, powerautomate
Published: 2022-09-07 12:26:38

---
title: Video: Creating Our First Power Automate Flow
published: true
date: 2022-08-23 13:00:00 UTC
tags: Development,Video,flow,PowerAutomate
canonical_url: https://barretblake.dev/2022/08/video-creating-our-first-power-automate-flow/?utm_source=rss&utm_medium=rss&utm_campaign=video-creating-our-first-power-automate-flow
---

Another introduction video. This one covers an overview of creating a simple flow in Power Automate.

<iframe title="Microsoft Power Automate - Creating Our First Flow" width="1200" height="675" src="https://www.youtube.com/embed/AFUt1VoNMUc?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

The post [Video: Creating Our First Power Automate Flow](https://barretblake.dev/2022/08/video-creating-our-first-power-automate-flow/) first appeared on [Barret Codes](https://barretblake.dev).