teleren/devto huggingface dataset:
How pair programming can change your coding experience
Tags: webdev, beginners, programming, motivation
Published: 2023-02-07 09:49:55

As a self-taught developer, I have mostly spent my time doing online courses, following tutorials, coding and building projects alone. I hardly got any feedback to know if I was learning the right technologies or writing clean code.

This situation changed when I joined [The Collab Lab](https://dev.to/the-collab-lab/the-collab-lab-tcl-49-recap-429d). It was my closest experience to a “real developer job”, as I had the chance to work in a team building an app.

During that time I had several pair programming sessions with 3 different colleagues. So every week two of us would sync remotely (as each of us was located in a different country) to have a discussion about the issue we had to solve. 

![Remote call gif](https://community.codenewbie.org/remoteimages/uploads/articles/k8qisronvdkhzw3y7irh.gif)

 I like preparing pair programming sessions in advance so the way I proceed was reading the issue in detail, doing some research and noting down some potential solutions to be discussed with my colleague.

How did we do pair programming remotely? We hopped on a video screen share call, where one of us was acting as the driver and the other one as the navigator. What does this exactly mean and what does each of them do? 

![Driver & navigator image](https://community.codenewbie.org/remoteimages/uploads/articles/vsu0m7wtu2kr6h03k5zp.png)

The **driver** takes full control of the keyboard and is responsible for writing the necessary code to complete the task. This person will also speak out loud the thinking process behind the code.

The **navigator** pays attention to the driver's code and offers guidance, suggests new ideas and finds answers to the questions that might be raised during the process. 

>  The driver has a low-level code thinking approach, while the navigator has a bird-eye view on the code.

During pair programming sessions, developers can swap roles so that each of them has the chance to experience both perspectives (two modes of thinking) and learn.

What did I learn from the whole experience? 

- Be open and eager to learn.
- Embrace doubt and possibility.
- See another person's problem solving approach opens up your mind/ideas.
- Don't be afraid of sharing your ideas or asking questions.
- Communication is key to make your code or ideas understandable.
- Take breaks when both get stuck.
- It is not about teaching nor mentoring, but looking for a solution and growing together.
- The driver (seek agreement before proceeding) and navigator (asking, not telling) approach.
- Collaboration, team work.

Pair programming has definitely been a much more efficient, enriching and fun experience than all hours I spent coding by myself. If you are a codenewbie, I can only recommend you start with pair programming sessions as soon as possible to learn faster.
Tips for a Beginner?
Tags: beginners
Published: 2023-01-22 18:21:33

In February I am starting a coding bootcamp offered through the University of Denver. After several years finding zero challenge, or creativity in my career I have decided to takes steps to find a new path. In the past I took a job as a Product Analyst for a third party Health Insurance marketplace, after I explicitly explained I had zero experience in web development. I was pushed into the deep end of web development without any experience, and a promise from my new employer to train me on the job. I quickly found myself under expectations that I preform at the same level as my peers that had higher education, and years of experience, and found myself floundering. 

What I did learn from this experience is that I ENJOYED coding. I enjoyed the problem solving, the creativity in how I solved those problems, and the ability to see in real time how my code actually looked and operated. 

As I start on this path of learning to code, I am seeking out tips for beginners. I found this [tweet](https://twitter.com/flaviocopes/status/1596445830159876096?s=20&t=Ku2LhQFFAuwX0g5LclDSrQ) from @flaviocopes with tons of tips that really helped calm my nerves about taking on this learning journey. 

The tips I related to the most:
• Be patient. you won’t learn quickly. it will take time.
• When doing tutorials, type the code. Don’t do copy/paste. Subtle but big difference. The code will be yours
• When doing tutorials, type the code. Don’t do copy/paste. Subtle but big difference. The code will be yours

What are some tips and tricks you have found helpful along your learning journey?
Creating reports from MariaDB databases
Tags: mariadb, database, reporting, dotnet
Published: 2023-02-07 09:26:48

Learn how to easily bind report generator List & Label to MariaDB data to create comprehensive reports and other output in various formats.

## What is MariaDB?
MariaDB is a free relational database system created from a fork of MySQL. It is compatible with MySQL in almost all respects and can thus be connected in the same way.

## Creating reports from MariaDB data sources
List & Label can be easily bound to MariaDB data. This allows you to create comprehensive reports based on your existing MariaDB data. Relational links are also supported, allowing you to drill down or drill through your data.

## How can List & Label be linked to MariaDB data sources?
Since the release of version 28 in 2022, List & Label  offers the `MariaDBConnectionDataProvider`.

A minimal sample for using the new provider would be:

```
using MariaDBConnectionDataProvider provider = new MariaDBConnectionDataProvider(
    $"server={address};userid={userid};password={password};database={database}")
{
    using ListLabel LL = new ListLabel();
    {
        LL.DataSource = provider;
        LL.Design();
    }
}
```

which gives the following result in the Designer:

![result mariaDB query in designer](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d2dsxv1y4p4u9v17ylt4.png)

If you do not want to provide all but only some tables in Designer, you can also use the [DbCommandSetDataProvider](https://docu.combit.net/net/en/combit.ListLabel~combit.Reporting.DataProviders.DbCommandSetDataProvider.html) to connect to MariaDB databases.

## More about MariaDB and List & Label
You can also find more valuable information about using List & Label in the [.NET Tutorial](https://docu.combit.net/net/en/Tutorial.html).

It doesn’t matter if you have a classic Windows desktop or a modern web application using ASP.NET - the List & Label [data providers](https://docu.combit.net/net/en/combit.ListLabel~combit.Reporting.DataProviders_namespace.html) can be used in both worlds.

###Want to see more or try it for yourself?
Have a look at the [Online Demo](https://www.combit.com/list-label-online-demo/) or get the fully-functional [List & Label trial](https://www.combit.com/trial/) if you want to try it yourself

Please leave a reply to this post if you have any questions about creating reports with List & Label based on data from MariaDB databases or if you are missing information on this topic.
Getting started in programming
Tags: webdev, beginners, programming, career
Published: 2023-02-07 09:12:16

**Getting started in programming** can seem overwhelming, but it can be a rewarding and fulfilling career path. Whether you're looking to build websites, develop mobile apps, or automate processes, there are many reasons why you should consider learning to code. In this article, we'll cover the basics of programming and provide some tips to help you get started.

**What is programming?**

Programming is the process of designing, writing, testing, and maintaining computer software. It involves using a programming language to write instructions that a computer can understand and execute. There are many different programming languages, each designed for different purposes, but the most popular ones include Java, Python, C++, and JavaScript.

Why should you learn programming?

There are many reasons why you should learn programming, including:

1. Career opportunities: The demand for software developers and IT professionals is high, and it's a growing field with many job opportunities.
 
2. Creative outlet: Programming allows you to turn your ideas into reality and create something from scratch.
 
3. Problem-solving skills: Programming requires critical thinking and problem-solving skills, which can be applied to other areas of your life.
 
4. Financial rewards: Software developers and IT professionals are typically well-paid, and the salaries in the field continue to grow.

**How to get started in programming**

1. Choose a programming language: Decide which programming language you want to learn. There are many resources online that can help you choose the right language based on your goals and interests.
 
2. Invest in resources: Invest in books, online courses, or attend a coding bootcamp to learn the basics. Make sure to choose a reputable source and set a schedule for your learning.
 
3. Practice: The best way to improve your programming skills is to practice, practice, practice. Try to build small projects or work on existing ones to gain practical experience.
 
4. Join a community: Join online forums or attend meetups to connect with other programmers and get help when you need it.
 
5. Keep learning: Technology is constantly evolving, so it's important to continue learning and stay up-to-date with the latest developments in the field.

**Conclusion**

Even though learning to program might be difficult, it can also be fascinating and gratifying. You can quickly master programming with the correct tools and a strong commitment to studying. Ask for assistance, get involved in a community, and constantly pushing yourself to grow personally and reach your objectives. Good fortune!
ONES Product Overview
Tags: projectmanagement, productivity, agile
Published: 2023-02-07 09:08:31

ONES provides an all-in-one solution for software development teams to plan and track, manage tests and collaborate. 
✨Visit our website to learn more: https://ones.com

ONES Project is a project management tool to keep everything well-organized. ONES Wiki is a knowledge management tool that supports real-time collaboration and versatile content editing. ONES TestCase supports test management throughout the whole test life cycle to ensure quality software release.
Setting minimum and maximum values for DxMaskedInput in Blazor
Published: 2023-02-07 08:56:56

Hello👋 fellow Blazor developers, I am seeking help with setting minimum and maximum values for DxMaskedInput tag in Blazor. I am currently using the following code:

```
<DxMaskedInput @bind-Value="@_dealSize"
               CssClass="cw-320"
               Mask="N2"
/>
```

I want to set the minimum and maximum values for _dealSize, but I am encountering an error when trying to use the following code example that uses the ValueChanged event:

```
<DxMaskedInput Value="Value"
            ValueChanged="@((int newValue) => OnValueChanged(newValue))"
            Mask="@NumericMask.Currency">
</DxMaskedInput>
<DxButton Enabled="@IsEnabled">Update Value</DxButton>

@code {
    int Value = 0;
    bool IsEnabled = false;

    void OnValueChanged(int newValue)
    {
        Value = newValue;
        if (newValue != 0)
            IsEnabled = true;
        else IsEnabled = false;
    }
}
```

The error I am encountering is:

```
{"EventId":111,"LogLevel":"Error","Category":"Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost",
"Message":"Unhandled exception in circuit \u0027WRZkSd3ggsKGlKKJZfwrV9sDpWQEmJjBFDRYdMjbsoc\u0027.",
"Exception":
"System.InvalidOperationException: 
DevExpress.Blazor.Internal.Editors.Models.MaskedInputModel requires a value for the \u0027ValueExpression\u0027 property. 
It is specified automatically when you use two-way binding(\u0027bind-Value\u0027).    at 
DevExpress.Blazor.Internal.Editors.Models.MaskedInputModel\u00601.CheckValueExpression()    at 
DevExpress.Blazor.Internal.Editors.Models.DataEditorModel\u00601.CreateFieldIdentifier()    at 
DevExpress.Blazor.Internal.Editors.Models.DataEditorModel\u00601.OnValidationStateChanged()    at 
DevExpress.Blazor.Internal.Editors.Models.DataEditorModel\u00601.ApplyParameterChanges()    at 
DevExpress.Blazor.Internal.ParameterTracker.EndUpdate()    at 
DevExpress.Blazor.Internal.Editors.Models.DataEditorModel\u00601.EndUpdate()    at 
DevExpress.Blazor.Base.DxDataEditor\u00601.SetParametersAsync(ParameterView parameters)",
"State":{"Message":"Unhandled exception in circuit \u0027WRZkSd3ggsKGlKKJZfwrV9sDpWQEmJjBFDRYdMjbsoc\u0027.",
"CircuitId":"WRZkSd3ggsKGlKKJZfwrV9sDpWQEmJjBFDRYdMjbsoc",
"{OriginalFormat}":"Unhandled exception in circuit \u0027{CircuitId}\u0027."}}
```

If anyone has experience with this, I would greatly appreciate any help or suggestions. Thank you in advance!🙏
Building Blocks - Amnic Monthly Newsletter
Tags: cloudnative, news, opensource, devops
Published: 2023-02-07 08:40:15

Excited to announce the release of Building Blocks February 2023 - Amnic's Monthly Newsletter! This month, we cover the ever-evolving world of cloud cost optimization, including the move towards a "shift left" approach. We also highlight the top developer tools of 2022 as listed by StackShare and delve into how companies are moving towards sustainable software development practices.

Link to view the Newsletter - https://blog.amnic.com/building-blocks-february-2023/

To stay up-to-date on major news and trends in the developer community, you may sign up for our monthly email digest at: https://blog.amnic.com/

#cloudcost #greensoftwaredevelopment #
NFT App Landing Page Design
Tags: design, nft
Published: 2023-02-07 08:38:49

[NFT App Landing Page ](https://dribbble.com/shots/20584375-NFT-App-Landing-Page-Design
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xulbj1wdbyxa1lzqt18o.png))
How to publish data on-chain with Chainlink?
Tags: solidity, chainlink, web3, api
Published: 2023-02-07 08:30:21

## TL;DR:
All that you need to fetch a response from an API endpoint and publish it on-chain using Chainlink.

## Recipe
### How does it work?
Q. How do you read off-chain data on-chain?
A. Write it to a state variable on-chain!

Here is the workflow:

In the smart contract, you'll need to:
1. Specify the validator contract address, (Chainlink's) LINK token contract address, and a `jobId`.
2. Construct your API call in the Chainlink request object.
3. Store the data in the callback function--after the validator fetches the GET request response, it will call the smart contract's callback function with the value, and remember to save that value to a state where you can query later.

Here are the steps:
1. Write a Solidity smart contract that saves your data in a state variable. Here is a boilerplate smart contract you can copy from the [Chainlink tutorial](https://docs.chain.link/getting-started/advanced-tutorial)

2. Replace the API url in the following line of code:

```
// Set the URL to perform the GET request on
req.add(
    "get",
    "https://min-api.cryptocompare.com/data/pricemultifull?fsyms=ETH&tsyms=USD"
);
```

3. If you need to pass in params, pass them in the function and construct the URL accordingly. Here is an example using the boilerplate code above:

```
function requestVolumeData(string memory _fsymbol) public returns (bytes32 requestId) {
    Chainlink.Request memory req = buildChainlinkRequest(
        jobId,
        address(this),
        this.fulfill.selector
    );

    // Set the URL to perform the GET request on
    req.add(
        "get",
        abi.encodePacked(
            "https://min-api.cryptocompare.com/data/pricemultifull?fsyms=",
            _fsymbol,
            "&tsyms=USD"
        )
     );

    ......
```

4. If the API response returns a JSON object (most likely). Define the path of the data in the response.
```
req.add("path", "data,total"); // {data: {total: 123}}
```

5. There is one required param missing from the example, which you need to add before sending the request:
```
    req.addInt("multiply", 1);
```

6. If the Goerli testnet validator from Chainlink does not work, try to use this node validator: https://github.com/oraclelabs-link/chainlink-node-public-jobs/tree/master/ethereum-goerli

7. Remember, you need to send LINK tokens to the smart contract you deployed, otherwise all transactions will fail.

8. If you encounter other issues, go to Chainlink support Discord to get answers.

## ingredients
Here are all the resources that you need:

- Tutorials: [Doc](https://docs.chain.link/getting-started/advanced-tutorial) | [Video](https://youtu.be/AtHp7me2Yks)

- [Faucet for testnet LINK tokens](https://faucets.chain.link/)

- [Alternative (working) node validator](https://github.com/oraclelabs-link/chainlink-node-public-jobs/tree/master/ethereum-goerli)

- [Use Remix to deploy](https://remix.ethereum.org/)

- [Here is a working sample on Goerli Etherscan](https://goerli.etherscan.io/address/0x03968ca1dfea7b1c180681bd6a927577258c6ce8#code)
The Global Access Modifier (Organize Your C# Code)
Tags: dotnet, csharp, beginners, productivity
Published: 2023-02-07 08:28:06

As you know , in C# , methods , properties and functionality in general is encapsulated in namespaces , and to access them , you need to stick a **Using Directive** to import the namespace in which resides the functionality you are looking for , but often times , you find yourself adding the same namespace again and again , which is a bit redundant and annoying , so for that , C# 10 introduced a new feature known as **Global Using Directives** , this feature solved the redundancy of importing a namespace every time you want to use it.
With global directives , you import it once , and then access it wherever you want in your project source code.

Enough for the introduction , let's see it in action.


## Global Using Directives !

To make a using statement global , all you have to do is to just precede the using statement with the **global** access modifier , but make sure all the global using directives are added to the top of the code file , don't put them after normal using statements , make sure the global directives are the first lines in your code file.

You can take this example as a rule to follow:

```

//THIS IS WRONG
using Microsoft.AspNetCore.Mvc;
global using Microsoft.EntityFrameworkCore;

```

This previous example is false , and the compiler will complain by showing a compile-time error saying:

> A global using directive must precede all non-global using directives (CS8915)


Now if you reverse the order of the previous example:

```

//THIS IS CORRECT
global using Microsoft.EntityFrameworkCore;
using Microsoft.AspNetCore.Mvc;

```

The compiler will not complain anymore , and now you can access `Microsoft.EntityFrameworkCore` globally anywhere in your project files , without having to import the namespace every time you wanna use **EntityFrameworkCore**.



**You may be asking , is there a specific file to hold the global using directives , or do you just put them in any C# file ?**

The answer is , you can put global using directives in any C# file you want , like program.cs , but , a better practice is to create a separate file in the root directory of your project , and call it **GlobalUsings.cs** , it should only contain the global using directives that you may find yourself importing to your code files perpetually , you can take this as an example:


```

global using System.Text;
global using Microsoft.AspNetCore.Mvc;
global using Microsoft.EntityFrameworkCore;
global using System.Encoding;
global using ServerProject.Models;

```
The content in **GlobalUsings.cs**.

This content varies depends on your project type , the packages you might be using , and the structure of your project.

Global using directives really assist in keeping your code files more arranged and less cluttered with using statements.

This feature is extremely handy and easy to use , so start using it more often within your projects , your code will look eventually cleaner and less chaotic.
What happens when you type google.com in your browser and press Enter?
Published: 2023-09-05 12:09:50

---
title: What happens when you type google.com in your browser and press Enter?
published: true
date: 2023-02-07 08:27:06 UTC
tags: 
canonical_url: https://codenego.tech/what-happens-when-you-type-googlecom-in-your-browser-and-press-enter
---

This post will give you an overview of what happens whenever you try to access a web page through a web browser...

Whenever you entered a URL such as [www.google.com](http://www.google.com) into your web browser, the browser sends a request to DNS in order to translate the beautiful and easily remembered URL ([google.com](http://google.com)) into the IP Address (e.g 127.243.753.12) of the server in which the web page is stored. When the IP is identified, a TCP/IP (Transmission Control Protocol/Internet Protocol) is established. This ensures that data is transmitted successfully and efficiently between your device and the server it is trying to access.

The moment a **TCP/IP** connection is made, the next is the **FIREWALL** (which checks for incoming and outgoing network traffic based on certain set of rules) which will check if the request is allowed through to the server.

Once the request is cleared by the **FIREWALL** , your request will be sent to the **LOAD BALANCER** which will distribute network traffic among other servers (2 or more) so that a single server will not be overloaded with traffic which might cause a server break down or SPOF (single point of failure).

After passing through the **LOAD BALANCER** , the request will be sent to the web server which will handle your request and server the necessary css, html and javascript needed to make up the website.

The web server then sends the request to the application server, which is responsible for executing any server-side code and querying the database to retrieve any necessary information.

When that is done, the application server sends the request to the database, which retrieves the requested data and sends it back to the application server. The application server then formats the data and sends it back to the web server, which returns it to the user's browser to be displayed as the Google website.

It's also important to note that, the request is using HTTPS (HTTP Secure), a security protocol that encrypts the transmitted data, adding an extra layer of security to the process. The SSL (Secure Sockets Layer) certificate which is used to encrypt the traffic is also verified by the browser.