teleren/devto huggingface dataset:
Purpose of DevOps
Tags: devops, devjournal, beginners, purpose
Published: 2023-05-29 01:32:00

Adopting DevOps Philosophy requires:

Change in mindset + New Tools + New Skills = Prepared for a new fast-paced world.

Purpose of DevOps:

1. Reduces developing and releasing software time.

2. Increases the reliability and quality of the software.

3. Allows teams to work efficiently.

4. More collaboration across teams.

5. Monitor and measure the performance.



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


Thanks for reading this.

If you have an idea and want to build your product around it, schedule a call with [me](https://calendly.com/pragyanatvade).

If you want to learn more about DevOps and Backend space, [follow me](https://dev.to/pragyanatvade).

If you want to connect, reach out to me on [Twitter](https://twitter.com/pragyanatvade) and [LinkedIn](https://www.linkedin.com/in/pragyanatvade/).
Control Node.js versions with Node Version Manager (NVM) to develop SPFx solutions for different SharePoint environments
Tags: sharepoint, sharepointonline, spfx
Published: 2023-05-29 00:36:30

## NVM for Windows

The Microsoft/npm/Google recommended Node.js version manager for Windows.

NVM (Node Version Manager) is a tool that allows you to install and switch between different versions of Node.js on your machine. This can be useful for developing SPFx (SharePoint Framework) solutions that require specific Node.js versions. For example, SPFx v1.17.1 requires Node.js v16 LTS, while SPFx v1.4.1 for SharePoint Server 2019 requires Node.js v8 LTS .

To use NVM for SPFx development, you need to follow these steps :

- Install NVM from https://github.com/coreybutler/nvm-windows/releases or use `choco install nvm` if you have Chocolatey installed.
- Run `nvm install <version>` to install the desired Node.js versions, such as `nvm install 16.13.0` and `nvm install 8.17.0`.
- Run `nvm use <version>` to switch between Node.js versions, such as `nvm use 16.13.0` or `nvm use 8.17.0`.
- Install the SPFx development tools with `npm install -g yo @microsoft/generator-sharepoint gulp`.
- Create a new SPFx project with `yo @microsoft/sharepoint` and follow the prompts.
- Run `gulp serve` to start the local web server and test your SPFx solution.

Using NVM can help you avoid compatibility issues and errors when developing SPFx solutions for different SharePoint environments.

I did an example after running `nvm install 16.18.0` and `nvm use 16.18.0`:

1) I ran in the Powershell cli:

```
npm install gulp-cli yo @microsoft/generator-sharepoint --global
```

2) Created boiler plate web part code
```
yo @microsoft/sharepoint
```
3) Updated SharePoint URL
```
Locate and open the file ./config/serve.json in your project.

{
  "$schema": "https://developer.microsoft.com/json-schemas/core-build/serve.schema.json",
  "port": 4321,
  "https": true,
  "initialPage": "https://enter-your-SharePoint-site/_layouts/workbench.aspx"
}
```
4) Trust local environment. 
```
gulp trust-dev-cert
gulp serve

or  you can use 

gulp serve --nobrowser
```

5) Here is the result

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

Keep learning, testing, and deploying. Then, repeat. Have fun!

Source:
[Setup dev environment](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment)

[Webpart hello world](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/get-started/build-a-hello-world-web-part)
Can't Live without the new Edge Browser 😂
Tags: edge, browser, ai, devtoys
Published: 2023-05-29 00:29:04

[Link to Official Bing Website](https://www.bing.com/codex?toWww=1&redig=048CCBD6E2B844D089CD5FD37D315E5C)

Welcome back to the dark side! I'm going back to my PC love ❤️
Modern and Useful React Snippets
Published: 2023-06-27 18:18:28

---
title: Modern and Useful React Snippets
published: true
date: 2023-05-29 00:00:00 UTC
tags: 
canonical_url: https://blog.antoni.ai/modern-react-snippets
---

## TailwindCSS type-safe component

> **TIP:** Select "MyComponent" in VSCode and press `cmd + d` several times to
> select all occurances of "MyComponent". Then type in the name of your
> component.

```tsx
import { cn } from "@/lib/utils";

interface MyComponentProps extends React.ComponentProps<"div"> {
  // Custom props go here
}

const MyComponent = ({
  className,
  children,
  ...props
}: React.PropsWithChildren<MyComponentProps>) => {
  return (
    <div className={cn("", className)} {...props}>
      {children}
    </div>
  );
};

export { MyComponent, type MyComponentProps };
```
Introduction to React.js
Tags: webdev, react, javascript, programming
Published: 2023-05-28 23:49:06

##Introduction
React is a popular open source javascript framework that uses components. React was created by a software engineer at Facebook named Jordan Walke. 
As react gained popularity over the years, it began to shape the web development space and it gained much more relevance amongst developers.

##Setting up the environment
To set up your react environment you will require the following:

- An editor with [vscode](https://code.visualstudio.com/) being a popular editor amongst developers.
- Secondly, you will need to install [node.js](https://nodejs.org/en)

##What are components?
Components are the constituents of a React application and can be sub-divided into functional and class components. 

**Functional Components**
A functional component works with properties commonly known as props to accept an input that will render what out user interface(UI) may eventually look like. 

![An example of a functional component](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/divxhv6uz0hrtgyf46w8.png)

**Class Components**
Components written using ES6 classes in place of functions are called class components. We will now rewrite the functional component using classes.

![A class component](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oud5viebqckpvhx71hc1.png)

While we have expanded on both components, the question then lies in how do I then know when to use which component?

With progression in your development journey it will become clearer when you'll need to add logic for event handlers, manage local state and when you'll need to add lifecycle methods. Else, I'll suggest using functional components.

##Conclusion
In this article we have looked extensively on what components are and walked through installing our code editor and node.js. In the next article, we will look at using properties(props) and destructuring in react.
LLMOps, GenerativeOps or AgentOps? Distinguishing the challenges in contemporary LLMOps
Published: 2023-05-29 02:00:28

---
title: LLMOps, GenerativeOps or AgentOps? Distinguishing the challenges in contemporary LLMOps
published: true
date: 2023-05-28 23:32:56 UTC
tags: 
canonical_url: https://dataroots.io/research/contributions/llmops-generativeops-or-agentops-distinguishing-the-challenges-in-contemporary-llmops
---

The term "LLMOps" is debated - while it does encapsulate the operational challenges of deploying and managing large language models, it's the powerful, generative, and interactive nature of contemporary LLMs that present distinct challenges and opportunities. Moreover, the "large" aspect of LLMs may be temporary as the open-source world continues to shrink model sizes. As such, the focus of "LLMOps" might shift to other subsets of Ops that more accurately describe the operations challenges:

**GenerativeOps:** This term emphasizes the generative aspect of large language models, which refers to their ability to create new, coherent, and contextually relevant outputs. It underscores the operational challenges and considerations associated with managing these generative capabilities, such as controlling the model's output, ensuring the quality and relevance of generated content, and monitoring for potential misuse.

**Language Model Ops:** This term captures the idea that the operations are specifically for language models. However, this term might be too broad, as it could also apply to simpler, non-generative language models that don't require the same level of operational complexity as large, generative ones.

**AgentOps:** This term focuses on the interactive nature of large language models, framing them as "agents" that users interact with. It highlights the need for operations that support and manage these interactions, ensuring that the model behaves appropriately and provides value in its interactions with users.

In summary, each term emphasizes a different aspect of large language models:

- LLMOps focuses on the scale and operational complexity.
- GenerativeOps highlights the unique generative abilities and associated challenges.
- Language Model Ops is a more general term that might apply to a broader range of models.
- AgentOps emphasizes the interactive nature of these models and the need for operations that manage these interactions.

While LLMOps is a fitting term given the operational aspect of dealing with these large-scale models, the focus of LLMOps may shift towards more narrow "Ops" challenges in the very near future, making the current term obsolete
AGESQL | CLI Tool For AGE (Demo)
Tags: apacheage, postgres
Published: 2023-05-28 10:37:37

Welcome Back Guys!

In the last blog we learned how to install and setup age cli on our systems. Now we will see how to run and query it to perform different operations.

Let's get on with it.

So first of all make sure postgresql server is running and create a database in it if one doesn't already exist.

Now, open terminal from age directory inside AGE_CLI folder and run the following command:

**./agesql demo**

This command will start the AGESQL. **"demo"** here specifies the database name which will be used to send queries. You have to replace this demo db name with your own database name.

After running the command, the next lines will change a bit, prompting you to enter queries to run.

Now to run cypher queries, first we have to type the backslash character **"\"** and hit the Return key so that CLI can enter the mode to understand cypher queries.

Next, we have to write queries and get results.
( Remember to end queries with a semicolon **";"** )

The following screenshot of terminal shows an example of a sample query.

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



So that's how you can use AGE CLI Tool to write cypher queries to the database. Will come back with more interesting stuff. Stay Tuned...

https://age.apache.org/
https://github.com/apache/age
https://github.com/apache/age/tree/AGE_CLI

Bye!
INDIAN STARTUP FUNDING ANALYSIS
Published: 2023-05-28 21:37:08

Introduction
India has a vibrant startup ecosystem, with many new companies receiving funding to grow and expand their businesses. In this article, we will use Exploratory Data Analysis (EDA) techniques in Python to analyze startup funding in India from 2018 to 2022. EDA is an approach to analyzing and understanding data that focuses on discovering patterns, relationships, and trends. By visualizing and summarizing the data, we can gain insights into the startup funding landscape in India and identify key trends and patterns. Using Python libraries such as Pandas, matplotlib, and Seaborn, we will explore the data and share our findings.
HYPOTHESIS TESTING
Null: Having the most number of startups in a city doesn't mean having the highest amount of funding (city).
Alternate: The higher number of startups in a city reflects the amount of funding the city receives.

The study shows the number of startup companies in India for the period between 2018 and 2021. In 2018, 526 companies started. In 2019, there were 84 companies started. In 2020, there were 947 companies started. In 2021, there were 1195 companies or brands. The total number of all companies started through the whole period is 2,752 companies.

 
The study shows that among the first 10 sectors with the highest number of startups “I.T & Engineering” is the first one with 940 companies. The second highest is “Financial” with 452 companies, followed by “Commerce” with 449 companies. The sectors with the lowest number of companies or startups are “Hospitality” with 62 companies or startups and “Education” with 54 companies or startups.


The study shows the 10 cities with the highest number of startups, Bangole is the first city with many number of startups, followed by Mumbai, followed by Delhi, followed by Gurgoan and the last one is Haryana.
FIGURE 3. STARTUP PER CITY
 
The study shows that the total funding amount in US dollars is $279.58bn for the whole period under the study and 386 startup fundings were undisclosed.
100 Days Coding Challenge - Day 9: FreeCodeCamp JavaScript Algorithms and Data Structures
Tags: javascript, programming, algorithms, 100daysofcode
Published: 2023-05-28 21:30:14

## Day 9

Well, today I finish the basic JavaScript, I have to say that I learn a lot of things I shouldn't know, and now, it's time to play Stardew Valley to have fun :)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6qsb35nb39d7g4g8jsdo.png)
O incidente de $5 milhões do Datadog
Tags: cloudcomputing, monitoramento, segurança, aprendizados
Published: 2023-05-28 21:28:03

A Datadog é uma plataforma de monitoramento e segurança essencial para aplicações em nuvem. Com uma configuração adequada, somos capazes de obter um rastreamento abrangente, métricas e registros de aplicações, infraestrutura e serviços de terceiros. Essas informações são fundamentais para garantir a estabilidade dos serviços, evitar períodos de inatividade e proporcionar uma excelente experiência ao usuário.

No entanto, mesmo operando em três provedores de nuvem (AWS, Azure e Google Cloud) em cinco regiões, a plataforma enfrentou um período de inoperância de 14 horas. Infelizmente, a comunicação com os clientes durante o incidente deixou a desejar, tudo isso resultando em um custo estimado de aproximadamente 5 milhões de dólares - praticamente equivalente à receita de um dia da empresa.

A interrupção do serviço foi causada por uma atualização do sistema operacional. O Ubuntu Linux realiza atualizações regulares de suas distribuições para a versão estável mais recente, e o problema ocorreu durante a atualização para a versão 22.04 do sistema operacional, que incluía uma atualização de segurança do processo systemd.

O problema não foi a atualização em si, afinal, ele envolvia mudanças no systemd:  

ATUALIZAÇÃO DE SEGURANÇA: vulnerabilidade de estouro de buffer em format_timespan()
- debian/patches/CVE-2022-3821.patch: time-util: correção de estouro de buffer
- CVE-2022-3821

ATUALIZAÇÃO DE SEGURANÇA: vulnerabilidade de vazamento de informações em systemd-coredump
- debian/patches/CVE-2022-4415.patch: não permitir que o usuário acesse despejos de núcleo com uid/gid/capacidades alterados
- CVE-2022-4415

Embora as atualizações em si fossem necessárias e visavam aumentar a segurança das VMs, a reinicialização do processo systemd-networkd inadvertidamente apagou as rotas de rede, resultando na desconexão dos nós e na indisponibilidade dos serviços. Essa reação em cascata também afetou os nós responsáveis pelo controle das redes.

Convido a leitura que deixei como fontes, nela esta uma análise mais profunda do ocorrido (do site Pragmatic Engineer) e o postmortem da Datadog. O que aprendemos dessa inoperância é importância de uma cuidadosa implementação de atualizações e de uma comunicação clara e eficiente com os usuários para minimizar os impactos negativos e proteger a reputação e os resultados financeiros da empresa.

Leia mais:
🔗 Análise do incidente no site Pragmatic Engineer: https://newsletter.pragmaticengineer.com/p/inside-the-datadog-outage
🔗 Postmortem da Datadog: https://www.datadoghq.com/blog/2023-03-08-multiregion-infrastructure-connectivity-issue/
Upsearching directory tree
Tags: shell
Published: 2023-05-28 10:14:24

---
title: Upsearching directory tree
author: ''
published: true
publishDate: Sun May 28 2023
displayDate: 28 May
cover: 'https://i.ibb.co/swkd4P2/ccc.jpg'
description: Upsearching directory tree
tags:
  - shell
id: 1483581
date: '2023-05-28T10:14:24Z'
---

## Upsearching directory tree

Sometimes I want to be able to find a particular file in a directory tree. I wrote a shell function called upsearch that is used to search for a file or directory from the current working directory upwards to root ("/") in the directory tree. This function can be handy in scenarios where you are trying to find a file or directory that exists at some level up in your directory structure, but you're not sure exactly where.

```bash
upsearch () {
  slashes=${PWD//[^\/]/}
  directory="$PWD"
  for ((n=${#slashes}; n>0; --n )) do
    test -e "$directory/$1" && echo "$directory" && return
    directory="$directory/.."
  done
}
```

Here's how the function works:

- **`slashes=${PWD //[^\/]/}`**

  This line is counting the number of slash (**`/`**) characters in the current working directory path (**`$PWD`**) by removing all non-slash characters. The result is stored in the slashes variable. This is used to determine the maximum depth to search upwards in the directory tree.

- **`directory="$PWD"`**

  This line sets the directory variable to the current working directory.

- **test -e "$directory/$1"`**

  Inside the for loop, this checks if the file or directory specified as the argument to the upsearch function (**`$1`**) exists in the current directory.

  If the file or directory exists (**`test -e returns true`**), it prints the directory path and then exits the function (**`return`**).

  If the file or directory does not exist, the directory variable is updated to point one directory higher (**`$directory/..`**). This moves the search up one level in the directory structure.

  The loop repeats until it finds the file or directory, or it has searched up to the root directory.

## Usage

```bash
➜ upsearch .git
➜ upsearch Makefile
```

This can now be used by other functions:

## Examples

#### cdrepo

```bash
cdrepo () {
  cd $(upsearch .git)
}
```

If we're located somewhere inside a git repo then we can quickly jump to the root of the repo

#### m

```bash
m () {
  mf=$(upsearch Makefile)
  if [[ ${#mf} -gt 0 ]]; then
    cd $mf
    make $1
  else
    echo No Makefile found. Nothing to do
  fi
}
```

Here we can run make from anywhere, and it will upsearch for the nearest Makefile and run it with the argument passed to the function. If no Makefile is found while traversing up the directory tree, it will print a message and do nothing.

## Usage

```bash
➜ m help
```
AFFiNE is a next-gen knowledge base, an open source alternative to Notion & Miro
Tags: webdev, beginners, opensource
Published: 2023-05-28 20:48:36

more great news: AffineOfficial @AffineOfficial

AFFiNE is a next-gen knowledge base, an open source alternative to Notion & Miro. Need support or want to get involved?Join our community: https://t.co/9P5clHU


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

head over to the next news about AFFiNE
Node Express Template
Tags: node, typescript, express, zod
Published: 2023-05-28 20:01:12

🔗 **Exciting News! Introducing the Node Express Template for Node.js Web Applications!** 🔗

Are you a developer looking to streamline your Node.js Express projects? Look no further! I'm thrilled to share the Node Express Template, a game-changing repository designed to boost your development productivity and ensure code reliability.

📁 **Key Features:**

✨ **TypeScript Magic:** Harness the power of TypeScript, enabling type-safe and error-free development for your Node.js applications.

🔍 **Robust Validation with Zod:** Ensure data integrity and validate inputs effortlessly using the Zod library. Say goodbye to runtime errors and embrace secure and reliable code.

🛠️ **Middleware Galore:** Benefit from an extensive collection of middleware options, including body parsing, CORS, and logging. Simplify development and enhance security without compromising on flexibility.

📂 **Scalable Folder Structure:** Enjoy a well-organized and scalable codebase with a folder structure optimized for easy navigation and maintainability.

🚀 **Getting Started:**

1️⃣ **Clone the Repository:** Get started by cloning the repository.

2️⃣ **Install Dependencies:** Navigate to the project directory and install the dependencies.

3️⃣ **Empower with Configuration:** Customize your project's configurations to fit your specific needs. Seamlessly adapt to various environments with ease.

4️⃣ **Rock Solid Error Handling:** Handle errors gracefully using specialized middleware, ensuring a smooth user experience and quick debugging.

🚀 Supercharge your Node.js Express projects with the Node Express Template today! 🚀

Check it out here: [GitHub Repository](https://github.com/nisabmohd/node-express-template)

Join the community and elevate your development experience with TypeScript, Zod, and an array of powerful middleware options. Let's build robust and secure applications together! 💪🚀
Space Impact
Tags: gamedev, c, cpp, windows
Published: 2023-05-28 19:46:02

The Classic Nokia 3310 game written in Plain C.

Project Link - https://github.com/shahfarhadreza/space-impact


![Space Impact Game](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8669c3axbnmijmst1xgj.png)
Hello Dev.to
Tags: beginners, careerdevelopment
Published: 2023-05-28 19:43:24

Olá a todos,

Meu nome é Ramon Lummertz e estou muito animado para começar esta nova jornada de compartilhar meus pensamentos e experiências sobre tecnologia e carreira com vocês. Para aqueles que não me conhecem, sou coordenador do Curso de Análise e Desenvolvimento de Sistemas da ULBRA Torres e também trabalho na Betha Sistemas.

Entre 2014 e 2017, tive o hábito de escrever sobre práticas de educação para o Grupo de Educadores Google, um grupo de educadores certificados pelo Google. Por vários motivos, acabei interrompendo essa prática. No entanto, recentemente, ao ouvir o podcast "Olá Gabs", senti um impulso para compartilhar novamente minhas ideias e experiências.

Inicialmente, pensei em começar um podcast, mas ao avaliar o "pré" e o "pós" podcast, questões de roteiro e produção, percebi que talvez não fosse o melhor caminho para mim neste momento. Então, decidi voltar às minhas raízes e começar a escrever novamente.

Por isso, estou aqui, pronto para (re)começar a escrever sobre tecnologia e carreira. Estou ansioso para compartilhar minhas ideias, experiências e aprendizados com vocês e espero que possamos aprender juntos ao longo desta jornada.

Os assuntos que abordarei em meus artigos incluirão carreira, inteligência artificial (IA), desenvolvimento móvel e criptomoedas. São temas que estão no centro da evolução tecnológica atual e que têm um impacto significativo em nossas carreiras e vidas.

Espero que vocês se juntem a mim nesta jornada e estou ansioso para começar a compartilhar e aprender com todos vocês.

Até breve,

Ramon Lummertz