teleren/devto huggingface dataset:
Team Leadership Toolkit: Structured Career Development Overview
Tags: leadership, career, discuss
Published: 2023-06-25 13:11:06

---
 layout: post
 title: "Team Leadership Toolkit: Structured Career Development Overview"
 series: Team Leadership Toolkit
 canonical_url: "https://riedmann.dev/2023/06/14/tltk-structured-career-dev.html"
 cover_image: "https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2vkjzazn0842u0ikpiou.png"
 tags: leadership, career, discuss
 published: true
---

Assuming you're already having frequent 1:1s and less-frequent longer feedback and career-development talks with your team members, it pays to keep a structured overview of everyone's goals, in-flight actions and your thoughts and notes in one place. 

Keeping this overview in a structured, shareable format like a wiki page achieves several things: 
1) It ensures you keep an overview of the full team - especially in larger teams, it is easy to focus on some remarkable people and lose sight of others.
2) It helps you manage upwards - sharing the overview with your own direct lead makes it easy to keep them in the loop on team development, and allows them to notice and chime in early if development opportunities like new projects arise.

To put this into practice you only need to do three things:

1) Create a page in your favorite tool and add a table to track everything you want to track (see mine below).
(For peak async communication share it with direct lead - and only them! - and send them a notification every time you update something.)
2) Update it every time something new comes up - a reached milestone, relevant notes of a 1:1, a growth opportunity you just heard of, or that showerthought on how to help Alice become a great public speaker.
3) Set aside half an hour every month to reflect on the overview - is there someone you didn't think about in a while, some actions you should follow up on, or some great achievement to keep in mind when it's time for promotions?

![Overview table of current roles, goals, actions and notes](https://riedmann.dev/img/tltk/personal_dev_overview.excalidraw.svg)

---

The 'team leadership toolkit' is a series of bite-sized articles on techniques I find helpful as a software engineering team lead.

Having shared most of this with peers and mentees in an unstructured way, I've started this to concisely describe the What, Why and How of things that work for me and might be helpful for others. 

What about you?  What's in your 'leadership toolkit'? 
I'd love to hear your comments or posts!
Steps to Recover MySQL Root Password
Published: 2023-06-25 11:37:54



## Introduction
It's not uncommon to lose or forget the MySQL root password, especially if you haven't accessed your server in a while. The following guide provides a step-by-step process for recovering the MySQL root password on an Ubuntu system. We'll also cover some common issues you might encounter during the process and how to address them.

## Stop the MySQL service
The first step is to stop the currently running MySQL service. You can do this by running the following command in the terminal:
```
sudo systemctl stop mysql
```

## Start MySQL
Next, you'll need to start the MySQL server without a password. The --skip-grant-tables option allows us to connect to MySQL without a password and with all privileges.
```
sudo mysqld_safe --skip-grant-tables &
```
_Note: If you face the issue of "Directory '/var/run/mysqld' for UNIX socket file don't exist", you can resolve it by creating the directory:_
```
sudo mkdir /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld
```

## Log in to MySQL without a password
Now, you should be able to connect to MySQL as the root user without a password:
```
mysql -u root
```

## Change the root password
After successfully logging into MySQL, use the following SQL command to change the root password:
```
ALTER USER 'root'@'localhost' IDENTIFIED BY 'New-Password';
```
Replace 'New-Password' with your new root password. Then exit the MySQL shell by typing exit.

## Stop the MySQL service
Now, stop the MySQL service which is running without password verification:
```
sudo mysqladmin -u root -p -S /var/run/mysqld/mysqld.sock shutdown
```
When prompted, enter the new MySQL root password that you set earlier.

## Start the MySQL service
Finally, start the MySQL service as usual:
```
sudo systemctl start mysql
```
Configure terraform with GCP
Published: 2023-06-25 12:46:33

**Context:**
Will configure the terraform with GCP in this post.

**Steps:**

1. Integrate terraform with GCP
2. Enable the required GCP APIs
3. Create a VPC and Subnet


**Integrate terraform with GCP:**

There are multiple ways to authenticate with GCP like gcloud auth or service account& key. Will use `gcloud auth` in this post.

We would be using the below mentioned information in this post.

Terraform resources:
    1. Terraform block
    2. Google, google-beta Provider
    3. API enable resource
    4. Network, Subnetwork resources

GCP information:
    1. ProjectId
    2. Region

**Gcloud auth: **

Create the provider.tf with google provider and required version and run the `gcloud auth login`. 


![authenticateterraformwithgcp](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wmghjrwbex4xqt7dytr9.png)


Proceed for further steps to authenticate terraform with GCP.

![allowgoogleauthlibrary](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ddeideta64mjq89pnfyd.png)


**Enable the required GCP APIs:**

Will use the `google_service_project` resource to enable the required iam, workstation apis.


![enable apis](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/klg41muyf9g8dfgz0gat.png)




**Create a VPC and Subnet:**

Use the mentioned `google_compute_network` , `google_compute_subnetwork` terraform resources to create the VPC and subnets in given gcp project.

![terraformvpcsubnet](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yfw4b8wjtvmbuwcbmcl8.png)



**Resources - References:**


**Final words:**

Feel free to comment your queries here or at [LinkedIn](https://www.linkedin.com/in/dussani-aravind-4858a7266/) . Thanks.
Web based music genre classification
Tags: webdev, python, machinelearning, django
Published: 2023-06-25 12:43:00

written complete documentation on Web based music genre classifaction, it is a web app that classifies music files in different genres. built in python, django framework
link:
https://medium.com/@Raj_Mishra/web-based-music-genre-classification-10842c0afc02
One Million Dollar Project
Published: 2023-06-25 12:19:15

Hello World, this project is my very first ever coding project I've completed since I started learning. I've begun my education through Codecademy and this is the first unit project where I was asked to build some kind of terminal game of my choosing. I chose to recreate the fantastic game that is Who wants to be a Millionaire. 



My code allows you to introduce yourself to the show, explains how the game works, allows you the option of answering a practice question if you so choose, and then playing the game. 



Although I know the concept is basic and the code is messy, I'm very excited to be able to make something that more or less works ha! And share it with people to play. I'm excited to learn more and to make better programs in the future and maybe one day I can look back at this and remember my very first project and see how far I've come. Thanks for reading and happy programming :)

(https://github.com/chris-anderson1/Terminal_Game)
Ultimate Guide To End-to-End Testing With Cypress
Tags: testing, javascript, tutorial, beginners
Published: 2023-06-25 11:16:43

Today’s software applications are getting more complicated, thus every testing team needs to focus on expanding test coverage. To achieve this goal, it is important to use a combination of testing types, such as unit testing, integration testing, system testing, and end to end testing, depending on the software application’s complexity and requirements.

[Here the The Ultimate Guide To End-to-End Testing With Cypress.](https://applitools.com/blog/the-ultimate-guide-to-end-to-end-testing-with-cypress/)
 
End to End (E2E) testing is designed to ensure that all components of a software application are working together correctly and that the system as a whole meets the desired functionality, performance, and reliability requirements.
JavaScript vs. Python: Which Programming Language is Right for You in 2023?
Tags: javascript, python, discuss, career
Published: 2023-06-25 11:07:15


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

**python VS JavaScript**

Python and JavaScript are two powerful programming languages, each with its own strengths and areas of expertise. Python is known for its simplicity, readability, and versatility, making it popular for web development, data analysis, machine learning, and automation. JavaScript, on the other hand, excels in web development, offering interactivity and dynamic content creation. With its extensive libraries and frameworks, Python caters to a diverse range of applications, while JavaScript's popularity lies in its role as the backbone of interactive web pages. The choice between Python and JavaScript depends on project requirements, developer background, and desired outcomes. Understanding their differences helps programmers select the right language for building robust and innovative applications.

[Read Full Blog About ](https://medium.com/@chauhanomprakash7206/javascript-vs-python-which-programming-language-is-right-for-you-in-2023-4bc5f1c54d6a)
Guide to Running a Node Server in Nx Monorepo using PM2 Process Manager
Tags: nx, pm2, node
Published: 2023-06-25 11:01:52


## Introduction

[PM2](https://pm2.keymetrics.io/) is a daemon process manager that will help you manage and keep your application online 24/7.
It has a lot of features that will help you in the process of deploying and maintaining your application.

Additionally [PM2](https://pm2.keymetrics.io/) allows you to run a nodeJS server in [cluster mode](https://pm2.keymetrics.io/docs/usage/cluster-mode/).
Which dramatically improves the performance of your application and allows you to scale your application horizontally.

In this article we will cover the following:

1. Setting up a [Nx monorepo](https://nx.dev/)
2. Setting up a [NestJS](https://nestjs.com/) project within the Nx Monorepo.
3. Running NestJS with [PM2](https://pm2.keymetrics.io/) using [Nx-PM2-Plugin](https://www.npmjs.com/package/nx-pm2-plugin).

It must be noted that the same approach can be used for any nodeJS project within Nx.

## 1. Setting up a Nx Monorepo

In this section we will be setting up a [Nx monorepo](https://nx.dev/) using the [integrated mode](https://nx.dev/tutorials/integrated-repo-tutorial) scheme.

```bash
npx create-nx-workspace@latest myorg --preset=ts
```

A comprehensive guide to setting up the Nx monorepo can be found [here](https://nx.dev/tutorials/integrated-repo-tutorial);

## 2. Setting up NestJS

[Nx](https://nx.dev/) provides a [NestJS](https://nestjs.com/) schematics to setup a NestJS project within the monorepo.

```bash
npm install -D @nx/nest
npx nx g @nx/nest:app my-nest-app
```

A comprehensive guide to setup NestJS within Nx can be found [here](https://nx.dev/packages/nest)

## 3.Running NestJS with PM2

Install PM2 globally.

```bash
npm install pm2 -g
```

Install [Nx-PM2-Plugin](https://www.npmjs.com/package/nx-pm2-plugin)

```bash
npm i nx-pm2-plugin
```

Add the following task to project.json of the NestJS project.

```json
"pm2": {
	"executor": "nx-pm2-plugin:pm2-executor",
	"options": {
		"command": "my-nest-app:serve:production",
		"name": "example"
	}
}
```

You can now run the task using the following command:

```bash
npx nx run my-nest-app:pm2
```

You can monitor the service instances using the following command:

```bash
pm2 monit
```

## Conclusion

[PM2](https://pm2.keymetrics.io/) is a daemon process manager that will help you manage and keep your application online 24/7. It has a lot of features that will help you in the process of deploying and maintaining your application.
In the Era of AI, Is Human Code Review Still Necessary?
Tags: ai, codereview, codequality
Published: 2023-06-25 11:00:00



![Laptop screen with code written on a dark background. Text is out of focus so just a few words can be read.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fiy052z4krtg092fbo80.jpg)

*AI is transforming the way we approach problem-solving and decision-making. With the rise of AI-powered tools and automated code analysis, some may wonder if human code review is still necessary. In the next lines I’ll explore 5 reasons why I believe human code review is still important for improving collaboration and code quality.*

## Complementing AI: The Power of Human Perspective
We can bring to code review what AI still lacks, such as context, experience and domain expertise. So while AI-driven code analysis tools are great recognizing patterns and common errors, we can take into consideration factors they might overlook, such as code readability, maintainability, and scalability.

## Unleashing Creativity and Design Decisions
Code review isn't just about catching bugs. It involves assessing the overall design and architecture. We can dive into the nuances, evaluate design decisions, and offer valuable insights for improvement. They consider

## Opportunity for  Collaboration and Knowledge Sharing

Code reviews foster collaboration and knowledge sharing within development teams. It’s an opportunity for developers to engage in discussions, share insights, and mentor junior members. It creates learning opportunities, spreads best practices, and stimulates the exchange of ideas. Human interactions during code reviews can strengthen team unity.

## Detecting Complex Logic and Edge Cases

AI tools excel at recognizing patterns and spotting common errors. But, they may struggle with intricate logic flaws or anticipating edge cases that need deep understanding of the application's requirements. Developers bring critical thinking to the table, catching potential pitfalls and ensuring the code meets desired business goals.

## Beyond Technical Aspects

Code reviews is more than just technical aspects. They evaluate code readability, maintainability, and adherence to coding standards. We can assess the clarity of comments, naming conventions, and code organization, ensuring the codebase remains understandable and maintainable by the team in the long run.

## Conclusion:

In the age of AI, human code review is still an important resource to have high-quality code and collaboration within the team.

While AI-powered tools automate certain aspects, they can't replicate the critical thinking, domain expertise, and contextual understanding that we can bring to it. By combining AI-driven code analysis with human code review, we can maximize the benefits of both approaches, resulting in stronger codebases, improved collaboration, and well-rounded developers.

Embrace the power of AI tools in code review, but remember that the human touch is irreplaceable.
25+ short videos on creating generative art with SVG
Tags: tutorial, codenewbie, learning, codepen
Published: 2023-06-25 10:55:52

---
title: 25+ short videos on creating generative art with SVG
published: true
description: For the past two and half years I've been creating patterns and textures on CodePen purely with SVG to explore the capabilities of SVG Filters. I've made almost a hundred of these, so I figured why not start explaining the concepts behind each of them?
tags: tutorial, codenewbie, learning, codepen
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zenv1xgdll1ocwa0npmr.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2023-06-25 09:30 +0000
---

For the past two and half years I've been creating patterns and textures on CodePen purely with SVG to explore the capabilities of SVG Filters. I've made almost a hundred of these, so I figured why not start explaining the concepts behind each of them?

Since these patterns are made with very little code (560 bytes or less), I stick to the short format in videos as well (<1 minute).

**You can check them out as [YouTube Shorts](https://www.youtube.com/@finnhvman/shorts)**,

**Or you can view them as [TikToks](https://www.tiktok.com/@finnhvman) if you'd like**.

Here's one of the latest:

{% embed https://www.youtube.com/watch?v=P12AheHoGeY %}

Here are all the pens if you want to check them out: [PetitePatterns (Pure SVG)](https://codepen.io/collection/DRMKdB)
Setup SSH for Github using PowerShell
Tags: github, ssh, powershell, git
Published: 2023-06-25 10:45:07

This is a tutorial on how to setup SSH connection for GitHub using PowerShell.

1. **Generate the SSH key**.
    ```powershell
     ssh-keygen -t ed25519 -C "email@sample.com"
    ```

    When you're prompted to "Enter a file in which to save the key", you can press Enter to accept the default file location which is: `C:\Users\<windows UserName>/.ssh/id_ed25519`, or you can specify your desired file location / file name.

    When done, 2 files should be generated.
    _1 private key_ file and _1 public key_ file (file with `.pub` extension).

1. **Start up the ssh-agent**.
    ```powershell
     Start-Service ssh-agent
    ```

1. **Add the SSH Key to the ssh-agent**.
    ```powershell
     ssh-add <path to your private SSH Key>

     # if you generate to the default file location
     ssh-add c:/Users/<WindowsUserName>/.ssh/id_ed25519
    ```

1. **Clip / Copy your public SSH key**.
    ```powershell
     Get-Content c:/Users/<WindowsUserName>/.ssh/id_ed25519.pub | Set-Clipboard
    ```

1. **Add your public key to your github account**.
    5.1. In the upper-right corner of any page, click your profile photo, then click **Settings**.

    5.2. In the "Access" section of the sidebar, click  **SSH and GPG keys**.

    5.3. Click **New SSH key** or **Add SSH key**.

    5.4. In the "Title" field, add a descriptive label for the new key. 

    5.5. In the "Key" field, paste your public key.

    5.6. Click **Add SSH key**.

1. **Test the connection**.
    ```powershell
     ssh -T git@github.com
    ```
    You might see a warning like this.
    ```powershell
     The authenticity of host 'github.com (IP ADDRESS)' can't be established.
     ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
     Are you sure you want to continue connecting (yes/no)?
    ```

    if so, verify that the fingerprint the message matches you public key fingerprint. And if it does, type `yes` then enter.

    If successful, you should see a message like this.
    ```powershell
     Hi <github userName>! You've successfully authenticated, but GitHub does not provide shell access.
    ```

---

## Extra

After setting up your SSH, and still could not connect or keeps getting an error (especially the error below.)

```powershell
...
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
...
```

Try setting up your SSH config.

### Setting up SSH config

Go to your `c:/Users/<WindowsUseName>/.ssh` directory and check if a `config` file (no extension) is present.

If not, create one. If it already exist, edit.
And in the file, add the following text.
```
Host *
	Hostname github.com
	IdentityFile ~/.ssh/<private key filename>
```

Then try accessing git again.

Hope this helps!

--- _END_ ---
Docker vs Virtual Machine Analogy
Tags: docker, devops, learning, writing
Published: 2023-06-25 10:30:24

## Introduction

Hey guys, I have just started learning Docker, so I wanted to share this analogy that came to my mind. I believe analogies make things much clearer and easier to remember than anything else ever could.

## Overview of Virtual Machines

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

- Let's talk about VMs first. Virtual Machines use something called a hypervisor on top of hardware.
- A `Hypervisor` is a piece of software that manages hardware resources across virtual machines. One may think of a Hypervisor as an "HR manager" 😂.
- On top of the hypervisor, we have the `virtual machine`, each with its own underlying OS running applications. This is great if we want to run different services/applications on different operating systems, but it also comes with *disadvantages* such as:
  - Consuming a lot of resources, as every virtual machine has to run a separate operating system.
  - Slow startup time.

## Overview of Docker

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

- Now, Docker has an operating system on top of which we have the Docker engine.
- The `container engine` is what unpacks the container files and hands them off to the operating system kernel.
- On top of the container engine, we have applications that use the underlying operating system available on the server. Containers only contain the necessary files to run a specific application, which makes them:
  - Very lightweight.
  - Very fast and compact.
  Whereas VMs use a separate operating system.
- Now, with advantages come some disadvantages, which are:
  - If the OS running on the server is Linux, then applications must also be Linux-based. They can be of different distros as Docker uses the underlying operating system's kernel.
 
By the way, this is what makes Linux extremely fast, as instead of using multiple OSes, it uses the kernel of a single OS to manage and isolate different applications.

## The Analogy
- Now that we have an overview of how both technologies work, here's the analogy:
- One may think of a Virtual Machine as a shop that specializes in giving services of a single product category (like an electronic shop or furniture store). Imagine if I had to sell dairy products from a pharmacy; I can't do that, right? I would have to build a new shop to sell dairy products.
- Now, enter Docker. We can see it as a shopping complex, with different shops running under the same building (different applications running on the same underlying operating system). I may open as many different shops as I wish (subjected to availability of hardware resources).

Follow for more, As I learn more about Docker I'll post more Analogies