teleren/devto huggingface dataset:
Egoless Programming
Tags: webdev, programming, productivity
Published: 2023-08-10 12:21:55

In the dynamic landscape of software development, a transformative concept is gaining prominence: "Egoless Programming." Rooted in collaboration and humility, this approach transcends individual ego to prioritize collective success. This article delves into the tenets of egoless programming, its impact on project quality, and its role in cultivating a harmonious development environment. A fresh perspective that could steer developers toward more efficient and fulfilling horizons.

Egoless programming," also known as "programming without ego" in French, is a concept in the field of computer programming that encourages developers to embrace a humble and collaborative approach when creating software. The fundamental idea behind egoless programming is for developers to set aside their ego, biases, and personal desires in order to work together constructively and produce high-quality code.

The key principles of egoless programming include:

**Focus on Results, Not Individuals**: Emphasis is placed on achieving project objectives rather than seeking personal credit or recognition. Programmers prioritize what's best for the software and its users, rather than their own glory.

**Embrace Constructive Criticism**: Programmers should be open to feedback and suggestions from peers. They should be willing to challenge their own code and make improvements based on received feedback.

**Team Collaboration**: Egoless programming promotes effective collaboration and communication among team members. Programmers should be ready to share knowledge and learn from others, rather than monopolizing expertise.

**Continuous Learning**: Programmers acknowledge that there's always something new to learn and discover. They should be open to continuous learning and skill improvement.

**Minimize Code Ownership**: Instead of clinging to specific code as if it were their exclusive creation, programmers should encourage code sharing and collective improvement.

Egoless programming can contribute to code quality enhancement, reduce conflicts within the development team, and foster a more positive and collaborative work environment. Ultimately, the focus is on creating high-quality software rather than individual programmer ego.
Simplifying Complex TypeScript Types with the 'Unpack' Helper: Improve Developer Experience
Tags: typescript, productivity, coding
Published: 2023-08-10 12:10:57

#Introduction

In the world of TypeScript, developers often deal with numerous types and interfaces. Modern IDEs offer substantial assistance in understanding these complex structures, yet sometimes it's still not enough. Whether dealing with extended interfaces or nested types, reading through them can become hard. That's where the 'Unpack' helper comes into play.

#The Unpack Type Helper

The Unpack type helper is designed to simplify complex TypeScript interfaces, especially those involving nested or extended interfaces. Below is the definition of the helper:

```Typescript
type Unpack<T> = {
  [K in keyof T]: T[K] extends object ? Unpack<T[K]> : T[K]
}
```
Alternatively, you can use a shorter version, thanks to [Olaoluwa Mustapha](https://dev.to/olaolu) for pointing out that mapped types will return their argument as-is if it's a primitive type:

```Typescript
type UnpackAlt<T> = {
  [K in keyof T]: UnpackAlt<T[K]>
}
```

##How it Works

The Unpack type accepts a generic type parameter T, representing the complex interface you want to simplify.
 
By using the [K in keyof T], the helper iterates over all keys within the specified type.

The ternary condition T[K] extends object ? Unpack<T[K]> : T[K] checks if the current property is an object. If it is, the type helper recursively applies itself, drilling down into nested objects. If it's not an object, the property type is simply returned.

#Example

Working with complex interfaces that extend other interfaces or contain nested structures can sometimes lead to a lack of clarity. Let's look at a concrete example to understand how the Unpack type helper can help.

Consider the following interfaces:

```Typescript
interface Base {
  _id: string
}

interface Info {
  contact: {
    email: string
  }
  socials: {
    twitter: string
  }
}

interface User extends Base, Info {
  name: string
}
```

These interfaces might be common in a user management system. If you try to hover over a variable of type `User`, you may only see `Interface User`, without a clear breakdown of its structure.

Now, let's use the Unpack type helper:

```Typescript
type UnpackedUser = Unpack<User>
```

By creating an UnpackedUser type, you can hover over it and see the fully expanded structure:

```Typescript
type UnpackedUser = {
    name: string;
    _id: string;
    contact: Unpack<{
        email: string;
    }>;
    socials: Unpack<{
        twitter: string;
    }>;
}
```

Notice how the Unpack type helper breaks down extended and nested interfaces, providing a clear view of the structure. This enhances understanding and maintainability, offering a streamlined solution to working with complex TypeScript types.
Configuring HDLC on a Cisco router
Published: 2023-08-10 12:09:49

Hello!

How are you doing?

The objective of this post is to practice how to configure HDLC on the network using Cisco routers.

You can better understand this configuration if you already know WAN (Wide Area Network) and point-to-point protocols (PPP), for instance.

Cisco defines HDLC (High-level Data Link Control) as a group of data link (Layer 2) protocols used to transmit synchronous data packets between point-to-point nodes.

HDLC is a bit-oriented protocol that helps to transmit data reliably and efficiently. However, companies prefer PPP over Cisco HDLC for many reasons, including that the latter is Cisco proprietary and creates limitations when working with non-cisco devices. Also, even though today there are other methods to transmit data more securely, HDLC is still used and certifications such as CCNA request that you have some knowledge.

Today, we will configure HDLC in a simple network with 2 routers.

Let’s go!


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


**1- Assign IP addresses to the router serial interfaces and turn them on with the command** `<no shut>`.

**Router 1:**
`R1#conf t
R1(config)#int serial 2/0
R1(config-if)#ip address 10.1.1.1 255.255.255.0
R1(config-if)#no shut`

**Router 2:**
`R2#conf t
R2(config)#int serial 2/0
R2(config-if)#ip address 10.1.1.2 255.255.255.0
R2(config-if)#no shut`

**2- Check if both routers can ping each other.**


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


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

Yes, they can ping each other.

**3- If you run the command** `show int serial 2/0`, **you will see that HDLC is enabled by default on the interface on Cisco routers, therefore, it is not needed to add any additional command.**


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

However, if you find issues on your network and while troubleshooting you find that one serial interface is using HDLC encapsulation and the other interface is running PPP, you can enable HDLC manually. You can do that in interface config mode with the command <encapsulation hdlc>.

Example:

`Router#conf t
Router(config)#int serial 2/0
Router(config-if)#encapsulation hdlc`

**4- Running `<sh run>` we can see that a clock rate is already assigned. We only need to enable the clock rate when we are using a back-to-back cable, and it is enabled on the DCE (Data Communication Equipment) side.**

**Router 1:**

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

**Router 2:**

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

That was simple, wasn’t it?

Thank you for reading!
Use Cases of Graph Databases
Tags: apacheage, agensgraph
Published: 2023-08-10 12:09:22

Graph database is a dynamic technology that may turn complex information into useful insights in the field of data management and analysis. They are well suited for a wide variety of applications due to their distinctive capacity to visualize connections, relationships, and patterns. Let's examine five powerful use cases that highlight the strength of graph databases.


## Graph Indicator:

This method reveals the best course of action or result in line with user needs by looking for patterns within the data. Graph Indicator offers a dynamic way to investigate data patterns and enhance decision-making processes, making navigating through complicated data settings intuitive.

## Graph Vision:

Graph Vision, brings data to life by displaying it as a graph structure made up of nodes and edges. Our comprehension of related data patterns is deepened by this graphical portrayal. Graph Vision facilitates effective data management across large networks by demystifying complicated linkages and providing insights that guide strategic choices.

## Intelligence Graph:

Intelligence Graph, builds on prior knowledge to produce clever solutions. By turning gathered knowledge into actionable intelligence, this method helps people make intelligent choices. By converting information into tactical benefits, Intelligence Graph helps people handle challenging situations more successfully.

## Hyper-Connection:

In this era of dispersed data, intuitive insights can be quickly obtained from complex datasets using graph databases, which also excel at evaluating interconnected relationships. Regardless of the complexity of the data, Hyper-Connection reveals hidden insights inside complicated information networks, assisting in the development of well-informed decisions.

## Fraud Detection:

Anomalies that are concealed within large data networks are found using graph technology. With the help of this technology, fraud rings' suspicious activities are found and reduced. Graph databases are excellent at spotting fraudulent activity that would go undetected by closely examining links and trends.
Introduction and characteristics of Python
Published: 2023-08-10 12:07:35

Introduction to Python
Python is a high-level scripting language that combines interpretation, compilation, interactivity, and object-oriented.

 

Python design
Python is an interpreted language: This means that there is no compilation in the development process. Similar to PHP and Perl languages.

Python is an interactive language: This means that you can directly execute and write your program interactively at a Python prompt.

Python is an object-oriented language: This means that Python supports an object-oriented style or programming technique where the code is encapsulated in an object.

Python is a language for beginners: Python is a great language for junior programmers. It supports a wide range of application development, from simple word processing to WWW browsers to games. It is highly readable. Compared with other languages, English keywords are often used. Some punctuation marks in other languages have a more distinctive grammatical structure than other languages.

 

History of Python’s development

Python was designed by Guido van Rossum at the National Institute of Mathematics and Computer Science in the Netherlands in the late 1980s and early 1990s.

Python itself is also developed by many other languages, including ABC, Modula-3, C, C++, Algol-68, SmallTalk, Unix shell and other scripting languages, etc.

Like the Perl language, the Python source code also follows the GPL (GNU General Public License) agreement.

Python is now maintained by a core development team, and Guido van Rossum still plays a vital role in guiding its progress.

 

Python characteristic
1.Easy to learn: Python has relatively few keywords, simple structure, and a clearly defined grammar, making it easier to learn.

2.Easy to read: Python code is more clearly defined.

3.Easy to maintain: Python’s success lies in its source code is fairly easy to maintain.

4.An extensive standard library: One of the biggest advantages of Python is its rich library, cross-platform, and compatible with UNIX, Windows and Macintosh.

5.Interactive mode: With the support of interactive mode, you can enter the language that executes the code and get the result from the terminal, and interactively test and debug code snippets.

6.Portability: Based on its open source characteristics, Python has been ported (that is, to make it work) to many platforms.

7.Scalable: If you need a piece of critical code that runs fast, or you want to write some algorithms that you don’t want to open, you can use C or C++ to complete that part of the program, and then call it from your Python program.

8.Database: Python provides interfaces to all major commercial databases.

9.GUI programming: Python supports GUI that can be created and ported to many system calls.

10.Embeddable: You can embed Python into a C/C++ program, allowing users of your program to have the ability to “script”.
Web Development Companies in Saudi Arabia
Published: 2023-08-10 12:02:13

It can be challenging to select a reputable web developer from Saudi Arabia's tiny pool. In order to save you the trouble of researching different development businesses, we have put together this list of the finest **[Web Development Companies in Saudi Arabia](https://pairroxz.com/blog/top-companies/web-development-companies-in-saudi-arabia/)**.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fu4uo635eywnfmfs9ypd.png)
What are Benefits of AWS?
Tags: aws
Published: 2023-08-10 11:50:51

Key Components of AWS:

Compute Services: AWS provides scalable computing resources that allow businesses to run applications without the need for physical hardware. Amazon Elastic Compute Cloud (Amazon EC2) offers virtual servers with varying capacities to meet specific computing needs.

Storage Services: AWS offers versatile storage options, from object storage (Amazon S3) for data archiving and retrieval, to block storage (Amazon EBS) for persistent storage of data associated with EC2 instances.

Database Services: AWS offers managed database services like Amazon RDS (Relational Database Service) for SQL databases and Amazon DynamoDB for NoSQL databases, streamlining database management and scaling.

Networking Services: Amazon Virtual Private Cloud (Amazon VPC) enables users to create isolated network environments within the cloud, while services like Amazon Route 53 provide domain registration and routing capabilities.

Analytics and Machine Learning: AWS provides a range of tools for data analytics, such as Amazon Redshift for data warehousing and Amazon EMR (Elastic MapReduce) for big data processing. Additionally, Amazon SageMaker facilitates machine learning model development and deployment.

Security and Identity Services: AWS prioritizes security with services like AWS Identity and Access Management (IAM) for user management and access control, and Amazon Inspector for security assessment.

Developer Tools: AWS offers a suite of developer tools to facilitate application development and deployment, including AWS CodeDeploy, AWS CodePipeline, and AWS CloudFormation.

Reliability: With data centers located in multiple regions worldwide, AWS ensures high availability and fault tolerance, providing a reliable and robust infrastructure for businesses.

**[AWS Course in Pune
](https://www.sevenmentor.com/amazon-web-services-training-institute-in-pune.php)**
SaralPath senior software developer
Tags: jobs, latestjobs
Published: 2023-08-10 11:30:39

[Senior Software Developer](https://www.saralpath.com/jobs-openings.html) at a company named "SaralPath." As a senior software developer at SaralPath, you would be responsible for leading and participating in the design, development, and maintenance of software applications. Your expertise would contribute to the growth and success of the company's projects. You would likely work closely with other team members, including junior developers, to ensure high-quality code, efficient solutions, and timely delivery of software products.
How is the database landscape changing – and how can you be the first to know about it?
Tags: survey, database, developer
Published: 2023-08-10 11:05:17

The database landscape is constantly evolving, from migrating to the cloud to introducing continuous delivery with DevOps, and from incorporating Platform Engineering approaches to using Generative AI. The pace of change is also faster than ever, and it’s bringing more and more challenges with it.

But how are those changes affecting the daily work of data professionals now, and what changes are coming up that you need to know about?

To find out, we’re launching [The State of the Database Landscape survey](https://rd.gt/survey). It will reveal what’s going on, why it’s going on, and what you can do to meet the new challenges – and you can be among the first to find out what it reveals.


## Be part of our survey and see how your experience compares with your peers

Since 2016, we’ve surveyed the global tech community and published The State of Database DevOps Report. From its inception, more than 10,000 IT professionals have contributed, with the resulting insights featuring in many key industry publications such as ZDnet, Computer Weekly, The New Stack, and many more.

With new challenges arising for database management and development, and emerging business needs and trends, we’re going deeper with our latest survey and exploring a range of topics:

- Database platforms and practices
- Continuous Integration and Delivery
- Database security and monitoring,
- Cloud migration
- Generative AI
- Platform Engineering

We’re curious to see the impact of multi-platform database environments as well as new technologies penetrating the market, such as AI and how it’s being used. Has it created tangible benefits, for example, such as teams working more efficiently, and what are the problems it brings with it?

## Find out all of the answers first

If you’re interested in discovering what’s happening out there, you can receive a preview of the survey results before they’re published. Just take part in the survey to make sure you read them first. The survey runs until the end of September and we anticipate publishing the results in January.

We’re interested in hearing from developers and DBAs as well as senior management and IT leaders, and the questions have been tailored to suit all levels, regardless of your technical background.

**The State of the Database Landscape survey will run until midnight BST on September 31. So share your experience by [taking part](https://rd.gt/survey).**
Host your own 🖊️blog, chat, community and courses for FREE🆓.
Tags: webdev, community, learning, moodle
Published: 2023-08-10 11:00:42

We made it after a long work; we installed our own moodle instance.
But why should you register with our instance?
There are mutliple reasons for this; first of all you can chat privately with all people; no one will know your private messages.
Then here is the best way to host your own blog for FREE.
{% embed https://learn.xn--schchner-2za.de/ %}
{% embed https://technik.xn--schchner-2za.de/index.php/blog/2023/08/09/moodle-installieren/ %}

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

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


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





But the best thing is that you can create your own courses by adding different materials; here you can create quizzes, community, public chat, file, book, assignment, poll and much more!

That's why we would be happy if you register on our Moodle instance for free and then give courses on technology or just chat with your friends privately or in a community.

How do you find that?
Feel free to write it in the comments!
Thank you, schBenedikt
Clickable Button Effect using HTML & CSS
Tags: html, css, youtube, tutorial
Published: 2023-08-10 10:37:58

Hey, there! 👋

Just dropped a new video on YouTube! Learn how to create an interactive (clickable) button effect using HTML and CSS under 4 minutes. We'll cover the concepts from making the button adaptive to ensuring its accessibility for users.

## YouTube

{% embed https://youtu.be/uv0sCTsR7No %}

## CodePen

{% codepen https://codepen.io/dostonnabotov/pen/qBQGbvj %}

## 🔗 Links:

✅ YouTube URL: https://youtu.be/uv0sCTsR7No
✅ Source code: https://codepen.io/dostonnabotov/pen/qBQGbvj
Why do you do open source?
Published: 2023-08-10 10:31:58

It’s raining night, I hunched over my office desk and tried to write some a feature for my open source project. My cat was sleeping next to me.I start thinking why am I doing open source? 

Honestly, I don’t have a good answer something like to create a better world.  But I know I love open world it means you can create anything on this world. But where I am live place it’s a closed society.  However I can create an open project it’s quite important meaningful thing for me. 

What do you think of open source? Could you tell me?
Open Source ABCs: Fork
Tags: opensource, discuss, 100daysofoss
Published: 2023-08-10 10:29:00

---
title: Open Source ABCs: Fork
published: true
description: Join our #100DaysOfOSS blog series as we explore the world of Open Source Software (OSS) from A to Z! Every week, we'll discuss two new letters of the English alphabet. Share your thoughts, ideas, and favorite OSS projects for each letter. Let's celebrate the power of open source together! 
tags: opensource, discuss, 100DaysOfOSS
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fxwg4ygmybnni1tpwdx3.png
# Use a ratio of 100:42 for best results.
published_at: 2023-08-10 10:29 +0000
series: 100DaysOfOSS
canonical_url: https://opensauced.pizza/docs/community-resources/open-source-abcs-fork/
---

Welcome to our [#100DaysOfOSS series](https://dev.to/opensauced/100daysofoss-growing-skills-and-real-world-experience-3o5k). Until October 31, we'll be doing  Open Source Software (OSS) terms from A to Z. We'll be diving into a different letter of the English alphabet, uncovering OSS concepts, and sharing our thoughts on them.

Today, we're covering the letter "F" for Fork. 

**Fork**: Forking is the process of creating a new independent project from an existing open-source project. It allows developers to take the existing codebase in a new direction or make modifications while maintaining the original project's core principles.

Now, we want to hear from you! What other OSS terms can you think of that start with the letter "F"? 

Remember to use the hashtag #100DaysOfOSS if you share on social media, and don't forget to tag us [@saucedopen](https://twitter.com/saucedopen) so we can follow along.
An Engineer Getting Started at Communicating More Effectively
Tags: selfimprovement, learning, professionaldevelopm, communication
Published: 2023-08-31 17:45:07

---
title: An Engineer Getting Started at Communicating More Effectively
published: true
date: 2023-08-10 10:27:48 UTC
tags: selfimprovement,learning,professionaldevelopm,communication
canonical_url: 
---

[![](https://cdn-images-1.medium.com/max/2600/0*GiSd5g6tlSQVlyUV)](https://augustokrosa.medium.com/an-engineer-getting-started-at-communicating-more-effectively-61e52d5021a0?source=rss-fab031e08990------2)

Being a Great Communicator is a Crucial skills if You Are Starting in Technology

[Continue reading on Medium »](https://augustokrosa.medium.com/an-engineer-getting-started-at-communicating-more-effectively-61e52d5021a0?source=rss-fab031e08990------2)