teleren/devto huggingface dataset:
Why I decided on software development.
Published: 2020-12-11 19:33:44

   It was March 2020, I was sitting with my coworkers at Boeing, a company I never thought I'd be able work at, and I thought to myself "This is it. I've figured out my path. I know what I'll be doing for the rest of my working life. It's all settled now!" You know what happened after that. 

   The aviation industry collapsed in on its self, and thousands of people were laid off, including me. That left me stuck. I didn't have the kind of work experience to compete with the thousands of other people who had just been laid off too. I tried for a while, but without even a hint of success. The jobs that I got close to getting wouldn't even pay my bills. I had to have a serious reckoning with myself, to try to figure out what I wanted to do.

   I decided I was tired of the ups and downs of manufacturing, and so knew I was going to go back to school, it was just a matter of deciding what to study. I went back and forth with myself, and what I wanted out of my new career. I thought about becoming an electrician, or an HVAC tech, which would provide the opportunity to start my own business. But i was exhausted by the schedule of manufacturing, days tend to start at 5 or 6 in the morning, and knew that construction would be the same. 

   So that left me to fall back on things I had experimented with in high school, IT and web design. So again I evaluated what i wanted out of my career, and settled on the main difference I felt between the two: the ability to work from home. I felt that web design, and later software engineering, offered more flexibility, and that was something that I liked a lot. As a massive plus it would bring me within a close proximity to a dream I had mostly given up on since starting a family: designing my own video games. And so I went looking for programs and ended up settling on flatiron. I am very excited to be on this journey, and see where the path will take me.
Looking for a new position Python Backend Developer
Tags: python, backenddevelopment, backend
Published: 2024-06-28 12:41:45

Hello everyone,

My name is Abdulrahman Saeed Elshafie, a data-driven marketer turned Python backend developer. With over a year of experience in digital marketing, I have leveraged my passion for customer insights and analytical skills to transition into Python development, focusing on building user-centric solutions. I am eager to contribute my combination of marketing expertise and technical skills to a dynamic team.

My passion for customer insights extends beyond marketing; I'm excited to use my technical skills to build intuitive and user-friendly backend experiences. Some examples of my work include:
- Web Automation (Selenium): Developed a tool that streamlined job description creation, reducing the time required by 50%.
- Marketing Intelligence (Google Search API): Built an automated tool to retrieve company rankings based on user-provided keywords, enhancing SEO and marketing strategies.
- Data Science (STEG Dataset): Analyzed unbalanced data to identify patterns of electricity and gas theft, utilizing Scikit-learn to improve machine learning model performance and handle imbalanced datasets effectively.


I am actively learning Flask and FastAPI to further enhance my backend development capabilities. My commitment to continuous learning drives me to stay updated with the latest technologies and best practices.

I am eager to contribute to a dynamic and growing team, leveraging my combination of marketing and Python skills to achieve organizational goals. 

If you have any available opportunities or know someone who does please let me know and let's connect to discuss how my background can benefit your organization.
 
Find my [LinkedIn](https://www.linkedin.com/in/abdulrahman-elshafie/) and [GitHub](https://github.com/AbdulrahmanElshafie).

You can contact me through [email](mailto:sabdo6177@gmail.com) and [WhatsApp](https://wa.me/201018625142)
AI And The Route To What’s Good For Humanity
Tags: ai
Published: 2024-06-28 12:38:36

The article highlights the importance of ensuring equitable access to artificial intelligence (AI) technology as it continues to evolve. Gregory Francis, the CEO of Access, a global policy advisory firm, emphasizes the need for governments to take a proactive approach in addressing the disparity between the privileged few who embrace new technologies and the masses who yearn for their benefits.

Francis stresses that with the advent of artificial general intelligence (AGI), it is crucial for governments to establish guiding principles that promote inclusive access to this cutting-edge technology. He cautions against a scenario where a few dominant players monopolize the benefits of AI, urging for a unified global approach akin to efforts in environmental protection and tax governance.

The article also underscores the value of human capital in driving AI innovation, advocating for investments in training and digital literacy. Francis emphasizes the need for corporations to support government initiatives with expertise, regulation, and empathy towards consumers.

To foster collaboration between businesses and policymakers, Francis calls for mutual flexibility and experimentation, rather than rigid demands. He suggests that governments strategically choose which tech domains to engage with, noting that investing in the creative sector could yield quicker returns than focusing on complex infrastructure.

The article serves as a reminder that the potential of AI to benefit all nations may remain unrealized without a concerted global effort. By following the guiding principles outlined by Francis, governments can work towards ensuring equitable access to this transformative technology and unlock its full potential for the betterment of humanity.

Citations:
[https://groups.google.com/g/maxshirt/c/29W5eZDJZLs](https://groups.google.com/g/maxshirt/c/29W5eZDJZLs)
What was your win this week?
Tags: weeklyretro
Published: 2024-06-28 12:30:00

👋👋👋👋

Reflecting on your week -- what's one thing you're proud of achieving?

Every win matters -- no matter the size 🎉

Examples of 'wins' include:

- Landing a new job!
- Initiating a fresh project
- Squashing a persistent bug
- Remembering to take out the trash on time 🗑️

![homer grunting and taking out trash](https://i.giphy.com/media/v1.Y2lkPTc5MGI3NjExa3huaGQyNW1pOTU3YmR5ejQxN2s2bHg2eWN4Z3pweWM4ZXM0ZGliZSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/l2Jeg2UYi9opZqxJS/giphy.gif)

Happy Friday!
Parsing Python ASTs 20x Faster with Rust | by Evan Doyle
Tags: python, programming, dataengineering, webdev
Published: 2024-06-28 12:22:07

Rust is making Python packages much faster nowadays. Now the Tach package also joined that party. Evan Doyle shared why moved, how analyzed why Tach is slow and what part in this article.

{% embed https://www.gauge.sh/blog/parsing-python-asts-20x-faster-with-rust %}
Validando input file e select com Yup
Tags: yup, javascript, tutorial, typescript
Published: 2024-06-28 12:19:49

Fala, galera! Estava implementando aqui um formulário com validação Yup e me deparei com dois campos que nunca tinha trabalhado: `select` e `input file`.

Procurei algumas formas de fazer a melhor validação desses campos e confesso que achei bem escasso essas informações. Então vou deixar registrado aqui caso alguém queira uma fonte de ajuda na hora de implementar esses campos.

Bom, o formulário que implementei é esse:
![UI Formulário](https://github.com/jardelima/tab-news-images/blob/main/images/ui-yup.png?raw=true)

E a solução que implementei foi essa:
![Código Yup](https://github.com/jardelima/tab-news-images/blob/main/images/model-yup.png?raw=true)

___
### O que eu usei
- O [Yup.mixed()](https://github.com/jquense/yup?tab=readme-ov-file#mixed) trata todos os tipos, mas você também consegue tipar para receber algo específico.

- O [Yup.oneOf()](https://github.com/jquense/yup?tab=readme-ov-file#schemaoneofarrayofvalues-arrayany-message-string--function-schema-alias-equals) me ajudou a setar corretamente as `options` do meu `select` e a validar se o campo estava preenchido, se não tivesse preenchido ele retornava uma mensagem de erro personalizada.

- O [Yup.test()](https://github.com/jquense/yup?tab=readme-ov-file#schematestname-string-message-string--function--any-test-function-schema) eu adicionei para validar o `input file`. Nele eu precisava verificar se o campo estava preenchido e se era um `.pdf`, e também tem o retorno de mensagens de erro personalizadas. 

Essa foi uma solução que eu desenvolvi para o que era necessário. 

**Sugestão**: Se você tem alguma sugestão de melhoria ou qualquer que seja, comenta aí.

**Ressalva**: Também deve haver validação no backend para prevenir alteração no tipo do arquivo via proxy.

___

**Palavras-chave**: yup, input file, select, validate, how to validate input file with yup, how to validate select with yup.
React vs. Svelte: A Quick Comparison of Frontend Technologies
Tags: webdev, beginners, react, svelte
Published: 2024-06-28 12:19:21

As a web developer, choosing the right frontend framework can significantly impact the efficiency, speed and performance of your projects. While React is pretty popular, Svelte is a close alternative. In this article, I’ll compare Svelte and React, and highlight their key differences and benefits

[Svelte](https://svelte.dev/), Which is made by Rich Harris, is a new frontend framework that shifts much of the work to compile time which results in highly optimized vanillaJS at runtime, eliminating the need for a virtual DOM unlike React and reducing the bundle size at the end.
[React](https://react.dev/), developed by Facebook, is a popular library for building user interfaces,  and applications. It uses a virtual DOM to efficiently update the UI in response to state changes.

**Key Differences between Svelte and React**:

- **Virtual DOM Usage**: React uses virtual DOM for updating changes in the app while Svelte does not use virtual DOM 
- **JSX Syntax**: React uses JSX which is a combination of JavaScript and XML/HTML while Svelte doesn't use JSX


**Comparisons of Svelte & React**:
1, **Performance**:

- **Svelte**: Directly updating the DOM lead to faster runtime performance and smaller bundle sizes.
- **React**: Virtual DOM provides efficient UI updates but also results in larger bundle sizes.

2, **Learning Curve**:

- **Svelte**: Easier to learn with straightforward reactive assignments and simple state management.
- **React**: harder learning curve due to JSX and the virtual DOM concept.

3, **Use Cases**:

- **Svelte**:  when making high-performance applications where bundle size and runtime speed are critical.
- **React**: when making complex applications with extensive state management needs and a robust component structure.


**Who wins**? : It depends on your project! React for experience and support due to large community, or choose Svelte for speed and ease of use.



**My Expectations for HNG Internship with React**
I look forward to gaining knowledge and experience from colleagues and coordinators, mastering React powerful features and best practices in the HNG Internship. I’m also very excited to work on real-world projects, collaborate and work with other developers, and deepen my understanding of Frontend development.



For more information about the HNG Internship, visit the [HNG Internship homepage](https://hng.tech/internship) and explore [HNG Premium services](https://hng.tech/premium).

This article is written and published by [Olanrewaju Olajide](https://monyasau.netlify.app)
Paddler - open-source llama.cpp load balancer (self-host LLMs in production)
Tags: opensource, devops, ai
Published: 2024-06-28 12:16:20

Paddler is an open-source load balancer and reverse proxy designed to optimize servers running [llama.cpp](https://github.com/ggerganov/llama.cpp). 

Typical strategies like round robin or least connections are not effective for [llama.cpp](https://github.com/ggerganov/llama.cpp) servers, which need slots for continuous batching and concurrent requests. 

Paddler overcomes this by maintaining a stateful load balancer that is aware of each server's available slots, ensuring efficient request distribution. Additionally, Paddler uses agents to monitor the health of individual [llama.cpp](https://github.com/ggerganov/llama.cpp) instances, providing feedback to the load balancer for optimal performance. Paddler also supports the dynamic addition or removal of [llama.cpp](https://github.com/ggerganov/llama.cpp) servers, enabling integration with autoscaling tools.

## Feature Highlight

### Aggregated Health Status

Paddler overrides `/health` endpoint of `llama.cpp` and reports the total number of available and processing slots.

![Paddler Aggregated Health Status](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xwszderic83gm8zu08qj.png)

### Buffered Requests (Scaling from Zero Hosts)

Load balancer's buffered requests allow your infrastructure to scale from zero hosts by providing an additional metric (requests waiting to be handled). 

It also gives your infrastructure some additional time to add additional hosts. For example, if your autoscaler is setting up an additional server, putting an incoming request on hold for 60 seconds might give it a chance to be handled even though there might be no available llama.cpp instances at the moment of issuing it.

Scaling from zero hosts is especially suitable for low-traffic projects because it allows you to cut costs on your infrastructure—you won't be paying your cloud provider anything if you are not using your service at the moment.

![Paddler Scaling From Zero Hosts](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fe0r5m7hk35i5cwmfgi0.png)

### State Dashboard

Although Paddler integrates with the StatsD protocol, you can preview the cluster's state using a built-in dashboard.

![Paddler Dashboard](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8e3gkjfjool73k1eqcr0.png)

## Final Thoughts

The project is gaining some traction. Let me know if you also use it in prod, and I will highlight your project in the repo. Thank you all for giving me feedback on it so far. I always appreciate it. :)

{% cta https://github.com/distantmagic/paddler %} Give us a star on GitHub {% endcta %}
Understanding a Common Backend Golang Problem: Pointers
Published: 2024-06-28 12:10:11

When developing backend applications in Golang, one common problem that alot of developers often face involves the use of pointers. While pointers can be incredibly powerful, they can also introduce complexities and bugs if not handled correctly. In this short article, we'll explore a typical pointer-related issue in Golang and how to address it.

The Problem: Nil Pointer Dereference
A common issue in Golang that almost drove me crazy when i first started learning is the "nil pointer dereference" error. This occurs when a program attempts to read or write to a memory location through a nil (uninitialized) pointer. This can lead to runtime crashes, which are particularly problematic in backend services where stability critical.

Example
Imagine you have a struct representing a user in your backend service:

```go
type User struct {
    Name  string
    Email string
    Age   int
}
```
You might have a function that initializes a user and performs some operations on it:

```go
func updateUser(user *User) {
    user.Name = "Kendrick lamar"
    user.Age = 30
    fmt.Println("User updated:", user)
}
```
If you call this function with a nil pointer, it will cause a runtime panic:

```go
func main() {
    var user *User
    updateUser(user)
}
```
Solution: Proper Pointer Initialization
To avoid nil pointer dereference, ensure that pointers are properly initialized before dereferencing them. You can initialize the User struct either directly or using the new keyword:

```go
func main() {
    user := &User{}
    updateUser(user)
}
```
or

```go
func main() {
    user := new(User)
    updateUser(user)
}
```
Both of these approaches ensure that the user pointer is not nil, thus preventing the nil pointer dereference error.

Conclusion
Pointers are a powerful feature in Golang, but they require careful handling to avoid common pitfalls like nil pointer dereference. By ensuring proper initialization and checking for nil values, you can write more robust and error-free backend code. Remember, the stability of your backend services often depends on these small but crucial details. I'm hoping to learn more about golang during my [HNG internship](https://hng.tech/internship), been having trouble upskilling and i know that this program will help me. You can find HNG talents [here](https://hng.tech/hire). Jay out.
JavaScript: Interceptando objetos com Proxy
Tags: braziliandevs, javascript, node, beginners
Published: 2024-06-28 11:58:31

Eae gente bonita, beleza? Continuando a nossa série de posts descobrindo novas funções no JavaScript dessa vez irei falar sobre o Proxy e como usar suas funções mais básicas para poder interceptar ações em objetos.

## Tabela de conteúdos

* [Como assim interceptar?](#como-assim-interceptar)
* [Na prática](#na-pratica)
* [Conclusão](#conclusao)
* [Referências](#referencias)

## Como assim interceptar?

Bom caso você não saiba exatamente do que estou falando nós vamos "participar" ou melhor dizendo executar uma função entre o momento que a ação de ler ou atribuir valores é feita até a sua conclusão e para isso iremos ultilizar o objeto [Proxy](https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Proxy). 

> É importante dizer que não vou passar método a método do objeto. A ideia é conhecer ele e ir explorando conforme a necessidade.

## Na prática

Vamos ao que interessa, executar o código e ver na prática tudo funcionando, abaixo vou colocar um trecho de código com o proxy interceptando as ações dos objetos e algumas explicações

```javascript
const pessoa = {
    nome: 'Cristian',
    saldo: 0,
    idade: 25
};

const objetoComProxy = new Proxy(pessoa, {
    set: (target, propertyKey, newValue) => {
        console.log('set', { target, propertyKey, newValue })
        target[propertyKey] = newValue;
    },
    get: (object, prop) => {
        console.log('get', { object, prop })
        return object[prop]
    },
});

pessoa.saldo = 100 // nada acontece, nenhum log é mostrado

// primeiro o get será logado para buscar o valor da propriedade e em seguida o set
// pois estamos usando o objeto com proxy
objetoComProxy.saldo += 100; 
/**
 * LOG:
 * get { object: { nome: 'Cristian', saldo: 100, idade: 25 }, prop: 'saldo' }
    set {
    target: { nome: 'Cristian', saldo: 100, idade: 25 },
    propertyKey: 'saldo',
    newValue: 200
    }
 */

console.log(objetoComProxy.nome); // get { object: { nome: 'Cristian', saldo: 200, idade: 25 }, prop: 'nome' } e depois Cristian

```

É importante notar que apesar do objeto original ter sido alterado também as funções do Proxy não são executadas, apenas no objeto "proxyado".

## Conclusão

Apesar de um texto bem simples a ideia de hoje foi poder conhecer sobre o Proxy e também aumentar a nossa caixa de ferramentas do JavaScript. Fique a vontade para deixar dúvidas e sugestões.

## Referências

* [Proxy MDN](https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Proxy)

-------

Espero que tenha sido claro e tenha ajudado a entender um pouco mais sobre o assunto, fique a vontade para dúvidas e sugestões abaixo!

Se chegou até aqui, me segue la nas [redes vizinhas]
(https://cristiansilva.dev/).

<img src="https://media.giphy.com/media/xULW8v7LtZrgcaGvC0/giphy.gif" alt="thank you dog" />
Website Design in Siliguri
Tags: digitalamarketing, website, websitedesign, websitedevelopmen
Published: 2024-06-28 11:52:56

`https://g.co/kgs/CnPA7Bi
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ooqyafptk0gm0in91rsu.png)
![Uploading image](...)`Being a [digital marketing company in Siliguri](http://www.technoimagine.in/) we are offering the best digital marketing services. Our expert team specializes in building bespoke strategies customize to your brand's needs .From SEO and SEM to social media management and content marketing, we've got you covered. Reach your target audience effectively and maximize your ROI. Let's start on a journey towards digital success together, contact us now to take your brand to the next level.
Looking for the best [website design in Siliguri](http://www.technoimagine.in/)? You have come to the right place. Our team of skilled designer builds custom-made website design that not only align perfectly with your objectives but helps your brand identity stand out from your competition. Let us help your brand stand out from the competition and reflect its unique identity. Contact us.
Address-  First Floor, Infinity Square, Sevoke Rd, Ward 43, Siliguri, West Bengal 734001
visit our site - [http://www.technoimagine.in/](http://www.technoimagine.in/)
Top 5 Free APIs That Developers Will Give Up Pizza For🍕🍕
Tags: productivity, api, developer
Published: 2024-06-28 11:49:50

### API Use in 2024 and Trends

The adoption of APIs continues to surge in 2024 as their importance in driving innovation and enabling seamless data integration becomes more widely recognized. Key trends include:

**Increased Adoption of GraphQL APIs:** Preferred for its efficient data fetching capabilities.
**Expansion of API Marketplaces and Ecosystems:** Easier access to a variety of APIs.
**Enhanced API Security and Authentication:** Strengthening data protection with advanced protocols.
**API-Led Integration and Composable Architectures:** Facilitating the creation of flexible, modular systems.
**APIs in IoT and Edge Computing:** Crucial for the functionality of IoT devices and edge applications.

### What is an API?

An API (Application Programming Interface) is a set of protocols, tools, and standards used in building software applications. It specifies how software components should interact, enabling developers to integrate data or functionalities from external sources into their own applications seamlessly.

### Benefits of APIs for Developers

**Using APIs offers several key advantages:**

**Reduced Development Time:** APIs provide pre-built functionalities, accelerating the development process.
**Cost Savings:** Many APIs are free, reducing overall development costs.
**Access to Diverse Data and Services:** APIs offer extensive data and services, enhancing application features.
**Improved Productivity:** APIs allow developers to focus on core functionalities instead of common features.
**Scalability:** APIs are designed to handle high traffic, making scaling applications easier.

### Top 10 Free APIs for Developers in 2024
Here are the top 10 free APIs that developers should consider in 2024:

**Unsplash API**

Access a vast library of high-quality, royalty-free images, perfect for integrating stunning visuals into applications to enhance user experience.
Website: [Unsplash API](https://unsplash.com/developers)

**Twilio API**
Enables sending and receiving SMS, MMS, and voice messages, making it essential for creating SMS-based apps, two-factor authentication, and voice-enabled features.
Website: [Twilio API](https://www.twilio.com/docs/usage/api)

**Stripe API**

Facilitates secure handling of online payments, subscriptions, and invoicing, making transaction processes smooth and secure for users.
Website: [Stripe API](https://stripe.com/docs/api)

**Giphy API**

Provides access to a large collection of animated GIFs and stickers, adding fun and engaging content to chat apps, social media platforms, and entertainment websites.
Website: [Giphy API](https://developers.giphy.com/docs/)

**Mailgun API**

Efficiently send, receive, and track emails, making it perfect for building email-based applications like newsletters, contact forms, and transactional emails.
Website: [Mailgun API](https://documentation.mailgun.com/docs/mailgun/api-reference/intro/)

...[read more](hyscaler.com/insights/free-apis-for-developers-in-2024-2/)