teleren/devto huggingface dataset:
What running a half marathon taught me about a career in software development.
Tags: newbie, development, running
Published: 2023-11-05 15:50:49

In june 10h this year it happened the biggest [running event in latin america](https://www.maratonadorio.com.br/#) and I was there to run my secong half marathon ever, but before a explain what a learn I need to go back a few months to give you a small context.

Usually a training block for a half marathon last between 10 to 12 weeks, wich means that i've should be training for it for a least 3 months. The training cycle for a event like this it's challenging in all possible ways, you are constantly out of your confort zone teaching your body to endour longer distances and faster paces. Your sleep and nutrition need to be on point, your schedule need to be organize so you don't miss a training, you need to do strengh training for prevent injuries. Your need to be discipline and select what it's your priority in order to be successful.

![woman running in pink shirt and black shorts](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/75mtzc5ua6zuvk6iblzn.jpeg)

My experience in this secong training cycle was the worst possible, i was in the middle of grieve from a early death of my grandma, my dog got really sick and almost died. My sleep was off, i wasn't eating enough, i miss a lot of training sessions... So the taper week came around and i thougt that i could make up al those lose training sessions in the week that i suppose to be 'resting', it became very clear to me that the goal needed to change, my goal became to be present and enjoy the view and the energy of everyone aroung me. 

The day of the half marathon came, and there i was, in the most magical place i've ever ran, with the most amazing group of people doing their best, and around kilometer 11 i started to feel a lot of pain in my right hip. I't was so intense and sharp that i started to walk and thought about pulling out, but i just kept walking. At the end i was in so much pain that i needed help walking and couldn't train for almost 3 months after.


![woman running in rio de janeiro](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vr8dl9m6re7wzstnhx2r.jpeg)

This taught me the most valueable lesson, you can't show up for a challenge without organizing everything around you that will push you to success. The tech world it's very challenging and sometimes a little bit dissapointing, only if you don't dedicate to practive, build a strong base, nutruir you mind with all the knowlege possible to feel ready and confident to face whatever adversity shows in front of you. A 3 week bootcamp won't give you the amount of strength and endurance that a 12 week cycle will give you, don’t rush try to rush the process of building a strong base, don’t focuse on the fast pace, focus on the long runs, those will give you the heart and lungs for the event. Don't be afraid to show up and give your best in the training, enjoy the cycle and i garantee to you that in the event it will pay off.


![woman running giving you a hand loose sign with hand](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y17wtxqjdiocvweuo2mi.jpg)
PROMEΘEUS - Pyro Detection Global Team
Tags: programming, opensource, ai, cloud
Published: 2023-11-05 15:43:52

Due to recent wild fire outbursts, I believe it's about time we all (engineers/developers) join forces to create a global team for detecting smoke/fire as early as possible.

I already have an ecosystems (platform & framework) which comprises of my own tools, services and 3rd party utilities and solutions.

I am thinking of turning this whole infrastructure into an open-source solution. My hope is that we will all participate and create a mega-project where all good code, processes and practices will be incorporated inside a common environment.

In fact, this is the main goal of the ecosystem that I have now. I developed a Common Operations Platform (COP) for fire prevention, security and beyond.

But, being an open-source engineer at heart and a believer in the community power, I want to take it to the next level!

I have even found a cool name: **PROMEΘEUS**.
Since PROMETHEUS was the ancient Greek god & titan that gave people the knowledge and power of fire (and since I am Greek), I thought it would be cool :-)

The core platform is already open-source. It is the Meta-OS, GreyOS (See more at https://github.com/g0d/GreyOS).

The requirements are mainly just: JS, PHP, Python and HTML5. But in the back-end various technologies and programming languages can be combined such as Java, Kotlin, C/C++, Rust, etc.

I welcome you to invest some of your time and check a few videos and media links showcasing what the current system does and how it also integrates devices like drones, cameras, IoT and satellite systems to achieve its goal.

References:
- https://www.youtube.com/watch?v=eDvF2iAdp2w

- https://www.youtube.com/watch?v=mbsz8OKlKww

- https://www.youtube.com/watch?v=Gxsj2QncWDI

- https://www.youtube.com/watch?v=Q0Bm-LvBu-k&t=143s

- https://www.youtube.com/watch?v=au1jK7Mo0QM

- https://www.youtube.com/watch?v=RNd2HqHSsz0

- https://www.facebook.com/cnn/videos/5003962303040361/

- https://respond-a-project.eu/robots-and-unmanned-vehicles/

What do you all think about the initiative?

Best,
George Delaportas
My Unexpected journey into data science
Tags: datascience, productivity, learning, discuss
Published: 2023-11-05 15:39:43

My journey into data science, I would say, is quite different from most stories out there because unlike most in the field, I wasn't always interested in data science.


But Imagine getting a call from your boss and being informed you’ve been promoted to a data science position, Who am I to say No? 😊

_Originally published at [melbite](https://melbite.com/Evans-Nyamai/unZ6U8LzOUdwUP7iseKm )_


### A brief story of my software development life

During my school days, I wanted to be an architect, I like complex structures and roads. But I wasn’t meant to be one. I didn't get good enough grades for the course. That's when I went to option 2 on my career list, **“IT”**


2018, I learned everything that came my way from C, C++, Python, Java, PHP, and Javascript. Then I discovered my interest existed in web dev. COVID-19 was with us and soon everyone was on lockdown. That’s when I grew my skills. Over 15 hours a day writing code. Tiresome, right? But I enjoyed learning.

### Money, The leading factor

Just like most graduates dream, the goal is to make money either through building a startup or employment. After a few months of job search, I landed a web development Instructor position at a pan-African Institution. Since then have gone through a series of growth, promotions from assistant instructor to module Lead, and now a data science position.


### My experience in Data Science
My data science position came as an unexpected promotion. I received a call from my boss 


**Boss:** “ Evans, you are now the data admin”
**Me:** “Mmm, Okay Susan”
**Boss:** “Plan to report to office in 2 days” 
**Me:** “Mmmh, Okay”


This was the shortest notice ever received from my boss. She never cared about my skills in data science but she believed in me. The only tool I knew was a few functions in a spreadsheet. I had zero skills in making decisions based on data. Since then, have been doing research, spending countless hours perfecting my new art, and making better decisions. Experimenting with different tools used in data science such as Excel and Tensorflow.


### Lessons am learning.
Learn how to learn - Learning how to adjust and learn new skills will land you in better positions and broaden up your knowledge.
Learning in the Job - most skills are learned in the job. Just apply for that position and be flexible to learn on the job.
Come out of your comfort zone -Push yourself to try new things, and never say no to things that will bring growth.


### Conclusion.
Accepting the new position has brought a significant change in my life. Learning new skills such as predictions, and better decision-making. In general. Data science is a fascinating and interesting world of its own. I can't wait to face all the challenges that come with it, and learn new skills 😊

Are you learning or did you learn new skills in the job just like me? 😊 Share your experience below 🚀
C# - Dynamic Querying with Lambda Expressions and Expression Trees
Tags: csharp, programming, tutorial
Published: 2023-11-05 15:30:00

Lambda expressions and expression trees can be used to build dynamic queries at runtime. This is especially valuable when you want to construct complex queries based on user input or when dealing with dynamic data sources.

Here's an example:

```csharp
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public class Program
{
    public static void Main()
    {
        var people = new List<Person>
        {
            new Person { Name = "Alice", Age = 30 },
            new Person { Name = "Bob", Age = 25 },
            new Person { Name = "Charlie", Age = 35 },
        };

        // Create a dynamic query based on user input
        Expression<Func<Person, bool>> dynamicQuery = CreateDynamicQuery("Age", 30);

        // Apply the dynamic query to filter the data
        var filteredPeople = people.AsQueryable().Where(dynamicQuery);

        foreach (var person in filteredPeople)
        {
            Console.WriteLine($"{person.Name}, Age: {person.Age}");
        }
    }

    public static Expression<Func<Person, bool>> CreateDynamicQuery(string propertyName, int value)
    {
        var parameter = Expression.Parameter(typeof(Person), "p");
        var property = Expression.Property(parameter, propertyName);
        var constant = Expression.Constant(value);
        var body = Expression.GreaterThanOrEqual(property, constant);

        return Expression.Lambda<Func<Person, bool>>(body, parameter);
    }
}
```

In this example:

- We define a `Person` class to represent individuals with a `Name` and `Age`.

- We create a dynamic query using a `CreateDynamicQuery` method that takes a property name and a value. This method builds an expression tree dynamically to represent the query condition (`Age >= 30` in this case).

- We use the dynamic query with `Where` to filter the list of people based on the user-defined criteria.

This approach allows you to construct queries dynamically based on user input or other runtime conditions, making your code more flexible and adaptable to various data filtering requirements. It's especially useful when building data-driven applications or systems where query criteria are not known at compile time.
Spotting Silent Pod Failures in Kubernetes with Grafana
Tags: kubernetes, devops, cloud, programming
Published: 2023-11-05 15:22:19

## Unnoticed Pod Failures in Kubernetes

One of the critical issues in Kubernetes operations is the pod's deployment failures. Kubernetes pods can fail due to various reasons such as CPU constraints, memory constraints, Image pull errors, node failures etc.

![node-failure](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/76qx6zcnvaz4p7f9qeqe.png)

The main problem is that these problems will have a negative impact on the applications in production, ultimately leading to a bad impression.

## How to Spot Failures?

Discord is one of the primary communication channels for many teams. If Kubernetes cluster failures are reported on Discord, it will attract the attention of developers, who can then fix them immediately. Creating a pathway from Kubernetes clusters to Discord servers would allow addressing unnoticed failures.

## Finding the Pathway
We explored various options for establishing a notification pathway from the Kubernetes cluster to the communication medium. There are multiple tools and products available for this, such as Botkube, Grafana and InfluxDB.

We chose Grafana over other options because it is an open-source analytics and monitoring platform. Grafana has an alert feature, a detailed dashboard for visualizing Kubernetes clusters, and the ability to customize alerts and set up thresholds. All of these features are available in the free version of Grafana.

Continue reading the full article here https://journal.hexmos.com/spotting-kube-failures/
What is an RTOS?
Tags: programming, computerscience
Published: 2023-11-05 15:06:55

RTOS (Real-Time Operating System) is an OS for critical systems that need to process data and events e a defined time.
In this system, we trade speed for predictability. All processing must occur within the defined constraints. We have the guarantee that task x will run in n time. A task in this context is a set of program instructions loaded into memory.
These systems can be hard (operate within tens of milliseconds or less) or soft (operate within a few hundred milliseconds, at the scale of a human reaction), depending on how predictable they need to be. In a hard RTOS, a late answer is a wrong answer.
Size is a lot smaller being in the megabyte range instead of the gigabyte.

**Task switching**
Tasks are only switched if a higher priority needs to be run, instead of switching in a regular clocked interrupt, in a round-robin fashion. Even with minimal thread switching, interrupt and thread switching latency is kept at a minimum.

**Interrupts**
Only interrupt handlers have a higher priority than tasks and block the highest priority task from running. Because of this, they are typically kept as short as possible. Because they interrupt the running task, the internal OS object database can be in an inconsistent state. To deal with this, RTOS either disables interrupts, while the internal database is being updated (this can cause interrupts to be ignored) or creates a top-priority task to process the interrupt handler (increases latency).

**Memory allocation**
Memory allocation is especially important because the device should work indefinitely, without ever needing a reboot. For this reason, dynamic memory allocation is frowned upon because it can easily lead to memory leaks. Dynamic allocation and releasing of small chunks of memory will cause memory fragmentation, reducing the efficient use of free memory (if a big chunk of memory is requested, it might not be possible to be allocated although enough global free memory is available) and allocation latency (allocated memory is typically represented as a linked list, with more fragments, the number of iterations required to find a free memory fragment increase). This is unacceptable in an RTOS since memory allocation has to occur within a certain amount of time.
Memory swap is not used because mechanical disks have much longer and unpredictable response times.

**Where are they used?**
- Flight display controller
- Extraterrestrial rovers
- Emergency braking systems
- Engine warning systems
- Magnetic resonance imaging
- Surgery equipment
- Factory robotics systems

**References**
https://en.wikipedia.org/wiki/Real-time_operating_system
https://www.windriver.com/solutions/learning/rtos
https://www.digikey.com/en/maker/projects/what-is-a-realtime-operating-system-rtos/28d8087f53844decafa5000d89608016
Day 6 Hackerrank Questions
Published: 2023-11-05 15:06:53

The Day was spent solving some questions on hackerrank, learning how to use the platform. I did an interview coding test there, I was able to solve the questions i.e. passing all the test cases. Though I did not know if I qualified. 


Hackerrank seems like a good place for beginners at least. I may use the platform in the future either to learn c++ or to get a certificate.
Découvrez Nx avec Younes Jaaidi
Tags: nx, productivity, architecture, extremeprogramming
Published: 2023-11-05 14:53:42


![Finies les apps, pensez libs avec Nx!](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/euxbj2c1yubbh3zxb83d.jpg)

Au DevFest de Nantes (2023), j'ai pu assister à l'excellent talk de Younes. Il nous explique la plus-value de l'eXtreme Programming avec un découpage du projet sous forme de librairie et l'utilisation d'Nx.

![Plus d'Uluru](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ywk6t6o32fsklj78rp71.jpg)

_Avez-vous la réf ?_ 🐼

Exactement ! On va pouvoir travailler en mono-repo tout en découpant notre application en librairie indépendante et réutilisable. Nous serons accompagnés d'Nx pour la maîtrise du tout.

## L'eXtreme Programming ?
_est une méthode Agile._

`Equilibre entre réalisation et gestion de projet.`

![Description de l'eXtreme Programming](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r3hfar05h20gmilxzehe.jpg)

## Un constat simple

> Comment éviter le plat de Spaghettis des différents composants et s'assurer d'une architecture maintenable, simple et évolutive tout au long du projet ?

![Panda ne trouve pas ça simple.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mqncbgo401xeekg3ch7k.jpg)

**Simple, simple... C'est ce qui est le plus complexe au final dans un projet !**

![Questions](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yber0c1m03b5n6mlfekq.jpg)

![Liaison en Spaghettis du code](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3lx5038lo41sx0l297ew.jpg)

> Bref bien des soucis au fil du temps que l'on connaît que trop bien …

## Une solution ?

- Adopter une architecture sous forme de librairie vers un esprit plus hexagonal.

- Adopter un nouveau compagnon que ce soit pour un nouveau projet ou sur de l'existant (petit à petit 🐦‍⬛ …).

![Nx love](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d3z9t5k3lecgjzpic1i9.jpg)

Nx vous aidera à visualiser votre architecture, vos dépendances, à gagner du temps sur le run des tests, à développer rapidement des fonctionnalités via les librairies de différentes technologies, à ne publier qu'une partie de vos libs pour d'autres apps (si besoin), à intégrer des nouveaux devs efficacement, et bien d'autres avantages. 

_(Psst ! 🐼 Prochainement, je vous partagerai un petit article BD focus sur les avantages Nx)_ 

Je vous conseille d'aller voir la rediffusion du talk sur la chaîne Youtube du DevFest de Nantes: **40 min de démo et d'humour** !

En attendant la vidéo ?
Suivez le travail de Younes et retrouvez ses workshops sur **[marmicode.io](https://marmicode.io/)**.

![Bonne journée !](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u4w9manslypq88e2azq3.jpg)
Hiring a Backend Developer
Tags: discuss, career
Published: 2023-11-05 14:51:56

Hi all, 

I am looking for a backend developer who is interested in taking on a new challenge by building an app while leading a team.

This individual must be a self-starter, responsible, disciplined, good-natured, communicative, and have a high level of technical understanding when it comes to app development. A huge advantage is to love video games, as that is what my company revolves around.

My budget is $150,000 (salaried) + 3% equity for the developer, which can be negotiated if chosen.

The app you will be building will be a betting app for people who want to bet on themselves while playing video games. The app will need a way to support streaming, connection to game APIs, a monetary system where people can exchange money, its own social media system, Xbox / Playstation / Steam account integration, a beautiful UI, and more. 

As I said, I am looking for a true self starter who cares about the video game industry and wants to be well-compensated for building a beautiful app. 

Please comment or DM me with your portfolio and CV if you are interested. Thanks!!
Total number of Vowels and Count of each individual vowel A,E,I,O,U in the string "Guvi Geeks Network Private Limited"
Published: 2023-11-05 14:49:32

# Define the input string
input_string = "Guvi Geeks Network Private Limited"

# Convert the string to lowercase to make it case-insensitive
input_string = input_string.lower()

# Initialize variables to store counts
total_vowels = 0
count_a = 0
count_e = 0
count_i = 0
count_o = 0
count_u = 0

# Iterate through the characters in the string
for char in input_string:
    if char in "aeiou":
        total_vowels += 1
        if char == "a":
            count_a += 1
        elif char == "e":
            count_e += 1
        elif char == "i":
            count_i += 1
        elif char == "o":
            count_o += 1
        elif char == "u":
            count_u += 1

# Display the results
print("Total Vowels:", total_vowels)
print("Count of 'A':", count_a)
print("Count of 'E':", count_e)
print("Count of 'I':", count_i)
print("Count of 'O':", count_o)
print("Count of 'U':", count_u)
Mastering Git: A Beginner's Guide to Version Control
Tags: git, githunt, githack, versioncontrol
Published: 2023-11-05 14:04:19

Welcome to the world of Git, a powerful version control system that helps you manage and track changes in your projects. Whether you're a coding novice or a seasoned developer, understanding Git is crucial for efficient collaboration and project management.

*Chapter 1: Getting Started (Basics)*

**1. Repository**

Git is all about repositories - digital project folders. To create a new one, use:

```bash
git init
```

To grab an existing one from the web:

```bash
git clone <repository-url>
```

**2. Clone**

Clone is like making a copy of a project. Use it to snag a remote repository:

```bash
git clone https://github.com/example/repo.git
```

**3. Commit**

Think of commits as snapshots of your project. To save your changes:

```bash
git add <filename>
git commit -m "Your commit message here"
```

**4. Push**

Push is for sharing your local changes with others:

```bash
git push origin master
```

**5. Pull**

Pull is for grabbing changes others made:

```bash
git pull origin master
```

**6. Branch**

Branches let you work on different parts at the same time:

```bash
git branch <branch-name>
git checkout <branch-name>
```

**7. Merge**

Merge combines changes from one branch into another:

```bash
git checkout master
git merge <branch-name>
```

**8. Remote**

Remote is the centralized repository where everyone collaborates:

```bash
git remote add origin <repository-url>
```

**9. Fetch**

Fetch gets changes from the remote without merging:

```bash
git fetch origin
```

**10. HEAD**

HEAD points to the latest commit in your working branch:

```bash
git log
```

*Chapter 2: Advanced Techniques*

**1. Rebasing**

Rebasing helps tidy up your commit history:

```bash
git checkout feature-branch
git rebase master
```

**2. Stash**

Stash is for saving changes not ready to be committed:

```bash
git stash
```

**3. Cherry-picking**

Cherry-picking lets you apply specific commits:

```bash
git cherry-pick <commit-hash>
```

**4. Submodules**

Submodules include external projects in your repository:

```bash
git submodule add <repository-url> <path>
```

**5. Hooks**

Hooks are scripts that run at key Git points:

Create `pre-commit` in `.git/hooks/` with your script.

**6. Gitignore**

.gitignore excludes files from version control:

```bash
touch .gitignore
```

Edit to specify files to ignore.

**7. Reflog**

Reflog logs all changes to your repository:

```bash
git reflog
```

**8. Bisect**

Bisect helps find when a bug was introduced:

```bash
git bisect start
git bisect bad
git bisect good <commit-hash>
```

**9. Tagging**

Tags mark specific points in history:

```bash
git tag -a v1.0 -m "Version 1.0"
```

**10. Interactive Rebase**

Interactive rebase lets you modify commits:

```bash
git rebase -i HEAD~3
```

Mastering these basics and advanced Git concepts will empower you to efficiently manage your projects and collaborate seamlessly. Feel free to reach out if you want more details or explanations on any concept. Happy coding!