teleren/devto huggingface dataset:
It's the Final Stretch of the GitHub + DEV 2023 Hackathon 🎉
Tags: githubhack23, github, meta
Published: 2023-05-18 18:52:33

---
title: It's the Final Stretch of the GitHub + DEV 2023 Hackathon 🎉
published: true
description: Final weekend reminder for the GitHub + DEV 2023 Hackathon.
tags: githubhack23, github, meta
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ip41t03soyq59hfw9g2g.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2023-05-16 17:34 +0000
---
**The GitHub + DEV 2023 Hackathon on DEV closes next Tuesday May 23rd, 2023 @ 11:59 PM UTC 📣 Don't miss out!**

[Click here to find all the info you'll need ✨](https://dev.to/devteam/announcing-the-github-dev-2023-hackathon-4ocn)

10 runners up will win a limited-edition profile badge, $250 USD cash (or the equivalent value in your local currency) and a $150 USD gift code to the DEV shop. Five Grand Prize winners get a limited-edition profile badge, $1,500 USD in cash, and $300 USD at the DEV shop!

If you'd like to tell us how your project is coming or meet the other participants, check out the GitHub + DEV 2023 Hackathon [community discussion thread](https://dev.to/devteam/community-discussion-thread-github-dev-hackathon-2023-5410).

If you need help with your project or have a question about the hackathon rules or GitHub, pop into the [help thread](https://dev.to/devteam/github-dev-hackathon-2023-help-thread-1pf). Members of the DEV and GitHub teams are there to assist you.

Good luck, all participants 🍀
Sloan's Inbox: Navigating Career Confusion in ICT Domain
Tags: discuss, career, ict
Published: 2023-05-18 18:07:36

Hey there! Guess who? It's Sloan, your friendly neighborhood DEV Moderator 🦥

Welcome to a new installment of Sloan's Inbox, your go-to place for sharing advice and observations. Whether it's career development, office politics, industry trends, or improving technical skills, we've got you covered. So, let's continue our journey of learning and growth together.

As always, I'm here to dive into your questions, comments, and thoughts. So, let's get to it!


### Today's question is:

> What advice or suggestions would you offer to a 58-year-old engineer who is experiencing confusion about their future and career options in the ICT domain?
> 

Let's show our kindness and expertise! Share your thoughts and let's help a fellow DEV member out!

---


*Want to submit a question for discussion or ask for advice? [Visit Sloan's Inbox](https://docs.google.com/forms/d/e/1FAIpQLSc6wgzJ1hh2OR4WsWlJN9WHUJ8jV4dFkRDF2TUP32urHSAsQg/viewform)! You can choose to remain anonymous.*
Building a Social Media Website - Part 2: Ideas and Set up.
Tags: nextjs13, react, nextjs, tailwindcss
Published: 2023-05-18 17:58:39

_Bonjour _and welcome to the second article of our series on building a social media website using NextJS 13, Zustand, Tailwind CSS, Apollo Client, and React i18n. In this article, we'll discuss how we found inspiration for the design of our social media website and go through the setup process to kickstart our project.

## **I- Finding Ideas for the Design**

To start, we wanted a foundation for our social media website. We discovered a [free GraphQL API](https://graphqlzero.almansi.me/api) that provides **users**, **posts**, **comments**, **albums**, and **photos**. This API is the only one that accepts both Queries and Mutations.

Then we need to find a matching template for these elements. While exploring various free ones on the internet, we found them to be lacking the specificity we desired. Eventually, we decided to take inspiration from the design of **[Instagram](https://www.instagram.com/)** and made modifications to tailor it to our needs. We began by sketching out the different pages and dividing them into components. Some components would be reused across multiple pages, layouts, as we will see a crucial concept for NextJS 13.

## **II- Setting up the Application**

To begin our coding journey, we'll need a reliable code editor. In this case, we'll use **Visual Studio Code** (VS Code) due to its popularity and extensive features.

Next, let's dive into the setup process for our project. First, we need to initialize NextJS 13. Open your terminal or command prompt and run the following command:

```
npx create-next-app@latest
```

This command will set up a new NextJS 13 project for us along with Tailwind CSS directly.

Next, we need to incorporate Zustand for state management, Apollo Client for GraphQL integration, and React i18n for internationalization. Install the necessary packages by running the following commands:

```
npm install zustand apollo-client react-i18next
```

Now that we have our project set up, it's important to establish version control. Create a new repository on GitHub and initialize it with the relevant Git commands:

```
git init
git add .
git commit -m "Initial commit"
git remote add origin [repository-url]
git push -u origin master
```

Lastly, to set the right mood for coding, it's always helpful to have an inspiring playlist🎶. Find your favorite coding playlist or discover a new one that keeps you focused and motivated.

Now that our foundation is in place, we are ready to move on to the next article, where we will explore **_creating routes using NextJS 13_**.

If you liked this article, please consider leave a like and a comment, we will really appreciate it. Stay tuned for the upcoming article and happy coding!

`---NathLowe`
FIRST POST HERE
Tags: webdev, developers, frontend, ux
Published: 2023-05-18 17:42:57


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ciibl7peqweyc1rs4ytx.png)
My name is **Daniel**,
I am a FrontEnd developer and UX Engineer. 
Since this would be my first post  here, I thought I should make a formal introduction and better understand the platform and learn how things here work.
I am open to new opportunities as well as learning since we learn new things everyday.

I look forward to the great value I will be gaining being a member of this platform and moreso, the little impact or contributions I will be making in my own part towards the growth of this platform. 

Peace.
Learning Nodejs the right way.
Published: 2023-05-18 17:42:32

Hey guys
I created a page on [buymeacoffee](https://www.buymeacoffee.com/codewithisaac/), you can have a look at it [here](https://www.buymeacoffee.com/codewithisaac/)
Checkout my article about the common mistakes made when learning Nodejs
Link: [Learning Nodejs the right way.](https://www.buymeacoffee.com/codewithisaac/the-mistake-i-learning-nodejs)
Thanks
Creating a kubernetes cluster and deploying nodejs + mssql container from ACR.
Tags: devops, kubernetes, azure, cloud
Published: 2023-05-18 16:46:39

So i have been told that kubernetes is called K8s(kaites).

That it saves developers and operators a great deal of time and effort, and lets them focus on building features for their applications, instead of figuring out and implementing ways to keep their applications running well, at scale.

So i decided to explore it today in azure.At this point a have a full stack node and mssql app in my container registry in azure.

I went ahead and created a K8s cluster on azure.
![tree](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e2m4waer65bol9x1yatd.png)


![k8s](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2qzap4xv51exl11l2vaj.png)

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

![create](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/00h8azd6sj0rdoh3u4jn.png)
Using powershell,i set the credentials and subscription.

```
az account set --subscription xxx-xxxxx-xxxx-xxx--xxxx
```
Download cluster credentials.
```
az aks get-credentials --resource-group sqltest --name aksname
```

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

To see the nodes available

![jjdkdkd](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4opkv0j8jb33vnb0ooui.png)



Next is to create a yaml file for the k8s deployment.
Using vim editor, i create a node_mssql.yaml file


![yml file](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ly85vcxniwky4x1hpiy8.png)


yaml file


![file](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9wtitcrlec478yf0tall.png)



Now create deployment 

```
kubectl apply -f nameofyamlfile
```


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








Then paste the externalIP into the browser and the port exposed.

```
http://20.87.92.55:3000
```

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


I cant believe i just did that!!
Models in Python
Tags: python
Published: 2023-05-18 16:07:21

Models are an essential part of many Python applications, allowing us to represent and work with data in a structured way. In this tutorial, we'll cover the basics of creating and using models in Python. 

## What is a Model?
A model is a representation or blueprint that describes the structure and behavior of a real-world entity or concept. In Python, models are typically created using classes, which define the attributes and methods that represent the model's properties and actions.

## Why use Models?
Models help organize and manipulate data efficiently. They provide a way to encapsulate related data and operations, making code more modular, reusable, and maintainable. Models also allow us to apply complex algorithms and techniques to analyze and process data effectively.

## Defining a Model Class
In Python, models are often defined as classes, which act as blueprints for creating instances (objects) of the model. To create a model class, define it using the class keyword followed by the class name. For example:

```
class Car:
    # class definition
```

## Adding Attributes
Attributes represent the characteristics or properties of a model. To add attributes to a model class, define them within the class body. For example:

```
class Car:
    def __init__(self, make, model, year):
        self.make = make
        self.model = model
        self.year = year
```

## Implementing Methods
Methods define the actions or behaviors associated with a model. You can define methods inside the model class, just like regular functions. For example, let's add a method to our Car class that allows us to start the engine:

```
class Car:
    def __init__(self, make, model, year):
        self.make = make
        self.model = model
        self.year = year

    def start_engine(self):
        print("Engine started!")
```

## Creating an Instance
To work with a model, we need to create an instance (object) of that model. To create an instance, call the class name as if it were a function, passing any required arguments defined in the class's __init__ method. For example, let's create an instance of the Car class:

```
my_car = Car("Tesla", "Model S", 2023)
```

## Accessing Attributes
Once we have an instance, we can access its attributes using the dot notation (instance.attribute). For example, to access the make of my_car, we can use my_car.make. Let's print the car's make, model, and year:

```
print(my_car.make)   # Output: Tesla
print(my_car.model)  # Output: Model S
print(my_car.year)   # Output: 2023
```

## Calling Methods
Similarly, we can call the methods defined in the model class using the dot notation (instance.method()). For example, let's start the engine of my_car:

```
my_car.start_engine()   # Output: Engine started!
```

Congratulations! You have now learned the basics of creating and using models in Python. Models provide a powerful way to structure and manipulate data in your applications. Remember to experiment and explore further to deepen your understanding. Happy coding!
Employees Earning More Than Their Managers | LeetCode | MSSQL
Tags: leetcode, codenewbie, beginners, mssql
Published: 2023-05-18 16:05:23

## The Problem

Given a company's Employee table, we are tasked to write an SQL query to identify the employees who earn a higher salary than their managers. Each row in the Employee table provides the employee's ID, name, salary, and the ID of their manager.

Table: Employee

| Column Name | Type |
|-------------|---------|
| id | int |
| name | varchar |
| salary | int |
| managerId | int |

## The Solution

We'll be examining two SQL solutions to this problem. Each takes a slightly different approach to identify employees earning more than their managers.

### Source Code 1

The first code snippet uses a nested `SELECT` statement in the `WHERE` clause. The subquery finds the salary of each employee's manager, and the main query compares this to the employee's salary:

```sql
SELECT e.name AS Employee
FROM Employee e
WHERE e.salary > (
    SELECT m.salary
    FROM Employee m
    WHERE m.id = e.managerId
)
```
With a runtime of 746ms, this solution beats 76.97% of other solutions. This method can be a bit slower due to the nested subquery which executes for every employee.

![first source code](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hrgdidj7jda61dpq5izo.png)

### Source Code 2

The second solution uses a `JOIN` clause to combine rows from the Employee table where the employee's `managerId` matches the manager's `id`. It then uses a `WHERE` clause to compare the salaries:

```sql
SELECT e1.name AS Employee
FROM Employee e1 JOIN Employee e2 ON e1.managerId = e2.id
WHERE e1.salary > e2.salary
```
This solution has a faster runtime of 662ms, beating 94.99% of other solutions. By using `JOIN`, we effectively reduce the number of operations as we avoid executing a subquery for each row.

![second source code](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ac8bun23hm4knnytvcha.png)

## Conclusion

While both solutions provide the correct answer, the second one performs better due to its use of `JOIN` to avoid multiple subquery executions. However, it's essential to understand that the choice of method depends on the specific requirements and constraints of your database or problem scenario.

You can find the original problem at [LeetCode](https://leetcode.com/problems/employees-earning-more-than-their-managers/description/).

For more insightful solutions and tech-related content, feel free to connect with me on my [Beacons page](https://beacons.ai/ranggakd).

{% embed https://beacons.ai/ranggakd %}
3 Best Woodworking Techniques Every Craftsman Should Master
Published: 2023-05-18 15:22:12

Woodworking is a timeless craft that combines artistry, precision, and skill to create beautiful and functional pieces. Whether you're a beginner or a seasoned craftsman, mastering essential woodworking techniques is crucial for bringing your woodworking projects to life. In this article, we will explore three of the best woodworking techniques that every woodworker should strive to master. These techniques will not only enhance the quality of your work but also expand your creative possibilities in the world of woodworking.

Dovetail Joinery:
Dovetail joinery is a classic woodworking technique that creates strong and visually appealing joints. This method involves interlocking trapezoidal-shaped tails and pins, creating a tight connection that resists pulling apart. Dovetail joints are commonly used in constructing drawers, cabinets, and boxes. Not only do they provide exceptional strength, but they also add an aesthetic appeal to the overall design of the piece. Mastering the art of dovetail joinery requires patience, precision, and the use of specialized hand tools or router jigs. Once perfected, this technique will elevate your woodworking projects to the next level.

Mortise and Tenon Joints:
The mortise and tenon joint is another fundamental technique widely used in woodworking. This technique involves creating a rectangular hole (mortise) in one piece of wood and a corresponding projecting tongue (tenon) on another piece. When fitted together, they form a strong and durable joint. Mortise and tenon joints are often employed in constructing furniture frames, tables, chairs, and doors. This technique offers excellent structural integrity and can withstand the test of time. There are various types of mortise and tenon joints, such as through mortise and tenon, blind mortise and tenon, and haunched mortise and tenon. By mastering this technique, you can ensure the longevity and stability of your woodworking projects.

Hand Planing and Shaping:
While power tools have become prevalent in modern woodworking, the art of hand planing and shaping is a skill that every woodworker should develop. Hand planes allow craftsmen to smooth and shape wood surfaces with precision and control, creating a beautiful finish. Additionally, hand tools such as chisels, rasps, and spokeshaves provide the ability to shape intricate details and contours that may be challenging to achieve with power tools alone. The tactile experience of working with hand tools adds a unique connection to the wood and allows for greater finesse in the final result. Incorporating hand planing and shaping techniques into your woodworking repertoire will enhance your craftsmanship and enable you to create truly personalized and refined pieces.

3D Woodworking is a great tool for woodworkers. Using particular 3D Woodworking Plan you can take exact measurements, view project parts, have better insight and build your project easily. 

[(https://3dwoodworking.org/)]
(https://3dwoodworking.org/)
DevC++ project problem
Published: 2023-05-18 15:35:54

I have a DevC++ project that has a file that #includes  netinet/in.h in it, but the compiler can't find this in.h library! The <> brackets that surround the .h include are <> and will not allow the #include to show up in this post. The <> indicate that this library should be in the compilers library of system files. This project was from an old c code book on algorithms, so maybe the code in not compatible with the newer compiler?  How do I solve this library problem?
syd
Do you keep forgetting to link your CSS file? Try this simple trick!
Tags: webdev, css, html, development
Published: 2023-05-18 15:10:15

Ask any developer about one of the most frustracting things about web development, and you'll hear one thing again and again:

> My HTML couldn't read my CSS file, and I spent 3 hours trying to fix it, only to find out that I forgot to link my CSS to my HTML 😡

What this means is that, to make any sort of styling into your HTML, you'll have to add this line if you have CSS in a different file:

```html
<link rel="stylesheet" href="style.css">
```
All too often though, developers tend to create their CSS file, but completely forget to include the `link` line. This has been a [cause for frustration for countless developers](https://twitter.com/search?q=forgot%20html%20link&src=recent_search_click)

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

If you're one of those developers who constantly forgets to link their CSS file to the HTML, I have a neat trick for you!

## What can we do about it?

The trick is quite simple really: Instead of creating the CSS file, add the `<link>` line in your HTML *first* and let VS Code create the file for you! Let me show you an example.

First let's create a project with an HTML file. No CSS yet.


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

Your HTML contains a `div` which looks like this:

```html
<div id="hello">Hello world!</div>
```

Now, instead of creating the CSS file and linking it (which you'll probably forget), add the `link` tag in your HTML first!

```diff
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>My site</title>
+    <link rel="stylesheet" href="style.css"/>
</head>
```

Now here's the trick:

Drag your mouse where the `link` line is, click the Control/Command button on your keyboard and click the CSS file name.

![](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l8ptp2zzm6hppngq3bdz.gif)

VS Code will tell you that this file doesn't exist (duh!) and will conveniently show you a big blue button to create the file!


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


And there you have it! You have a brand new CSS file *and* it's linked to your HTML file!

What do you think of this trick? Give it a try!
Maintainers want to do creative work that matters and makes an impact
Published: 2023-05-18 15:00:00

_In late 2022, Tidelift fielded its second [survey](https://tidelift.com/open-source-maintainer-survey-2023) of open source maintainers. Hundreds of maintainers responded with thoughts about getting paid for their work, the security and maintenance practices they have in place for their projects, and where they need help most, along with a host of other interesting insights. In this post, we share the sixth of eleven key findings. If you don’t want to wait for the rest of the results, you can [download the full survey report right now](https://tidelift.com/open-source-maintainer-survey-2023)._

Over the years, as we’ve explained the concept of open source to people who are unfamiliar, one common question often comes up: “why do maintainers work on these projects if they aren’t being paid for it?”

In our previous maintainer survey, we asked maintainers what they enjoy about being an open source maintainer, and in our new survey we asked the same question again to see if the answers had changed.

![Maintainers want to do creative work that matters and makes an impact](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ppsahlnqflmrvt04wde2.png)

**The number one answer in this year’s survey was “getting to work on projects that matter to me,”** which was cited as something enjoyed by a remarkable 83% of maintainers, up from 59% in our previous survey.

While last time the top answer was “making a positive impact on the world,” this came in a close second in our new survey, followed once again by “allows me to fulfill a need for creative, challenging, and/or enjoyable work,” “improving my coding skills and knowledge of software,” and “I enjoy learning.”

While other answers like “working with peers and my community,” “knowing my work is used in important organizations and projects,” and “building my reputation and resume” all were answered by similar percentages of maintainers in our previous survey and this new one, there were two other big movers up this year.

“Receiving recognition for my work” was mentioned by only 43% of maintainers in our last survey, but this time around was mentioned by 57% of respondents. And while we pointed out in our previous survey that “getting paid for my work” was the LEAST cited reason for enjoying being a maintainer, there was a slight—but noticeable—increase this year from 21% to 35%. It is nice to see getting paid moving up the list of things maintainers enjoy about the work, and we hope this percentage will continue to accelerate.

We hope you found some useful and actionable information in this blog post. If you’d like to get notified as future posts come out, please give us a follow. Or if you don’t want to wait, [download the full survey results today](https://tidelift.com/open-source-maintainer-survey-2023) and [RSVP for the webinar](https://upstream.live/top-findings-from-the-tidelift-2023-state-of-the-open-source-maintainer-report) on **Thursday, May 18 at 3 p.m. ET**, where we’ll be unveiling the top findings from the survey.
Stickerpack for developers
Tags: design, developers, news
Published: 2023-05-18 14:59:19


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e37k0mis3yc2l38e0emi.jpeg)
This is one of those kind of stories of how we didn't plan to make stickers, but we did...It all started when we decided to drop off new corporate summer merch (of course we picked t-shirts🤫). And while we were generating merch ideas a brilliant thought came to yuor minds. Why not create stickers? [So here they are](https://dribbble.com/shots/21443934-dev-family-stickerpack)