teleren/devto huggingface dataset:
My Web3 Journey with Solana
Tags: blockchain, rust, nft, solana
Published: 2023-09-14 23:57:15

## Intro
Before joining my current company I had very little to no knowledge about blockchain and nft related stuff. Although it was in my task list of 2022, But not because I wanna learn it , rather I wanted to ignore it 😁. 

Let me clear what i mean. I was seeing a lot of hype around blockchain at that time. Just like we are watching around bun currently. So, what i do is I normally ignore the initial hype, the reason behind this is simple as a developer you can't go after every hype because new technology emerges on a regular basis. And you can't learn all of them. I am peaky on new tech to save time and energy.

I remember when i was learning javascript . I was hearing huge hype around nextjs. I was confused because i just learned about versions of javascript. Like ES5, ES6 and ES-Next. So i was like isn't nextjs same as es-next. Why people are talking so much about this 😅. I eventually learned nextjs after react .When initial hype is gone and i have seen the potential of it.

## Learning Solana
Well enough gossip , lets come to the point . Although blockchain was not in my list I started learning it because of my job and yes it was solana . As you know solana program (smart-contract) uses rust programing language (there is way to do it in python,c also). At that point I was also beginner of rust, Just completed tutorials from rust book . So, I knew its gonna be hard because of the two unfamiliar technology at the same time.

I was a bit lucky because at the beginning there was another developer (part time)  who was doing the program (smart-contract)  related development on rust. So my task was to integrate solana program with nextjs. 
My initial struggle was to grasp the idea of how the program is working (less important), and how it will work in frontend, what should be the project structure , what is the best practice about managing instructions, transactions all those stuff. Unfortunately resources on internet are not enough about solana and I had to surf a lot find any answer and waste a lot of time.

I was not comfortable with Buffer or Raw Data. But after this initial phase my fear was gone and I was confident parsing accounts . Although we were using anchor , but not sure why i was manually parsing data 😅. Maybe because i wanted to know how its working.

After initial integration , most of the things were working, its was not the best but it was working   😛. But after the review we came to know that there is a big gap between whats been asked and what is delivered , you can't blame me it was the rust program 😂. So we had to update the program and lead programmer was not available. After waiting couple of weeks I started taking on it, And completed the task very smoothly and I started living happily here after. What !! hell no…It was full of struggle and a complete misery 🥺.

Will be continued…
combineReducers in redux
Tags: redux, react, nextjs, reactjsdevelopment
Published: 2023-09-14 23:35:56

Do you remember the counter **Reducer **we wrote in the counter  lesson?
What if I want to add another one,
 for example, to the login status

Let him look at him again

```
const counterReducer = (state = 1, action) => {

    console.log(action);
    switch (action.type) {
        case "INCREMENT":
            return state + 1;
        case "DECREMENT":
            return state - 1;

        default:
            return state;
    }
};
export default counterReducer;

```
 The **Reducer **, my friends, is the place where the data in the word `state `
And the way we will change the data
In the `switch code`




add **LoginReducer.js** to reducer folder
```
export default function LoginReducer(state =false, action) {
  switch (action.type) {
    case 'LOGIN':
      return true
    case 'DECREMENT':
      return state - 1
    default:
      return state
  }
}
```
IN **action.js** to `action `folder

```
//the old code
 export const increment = () => ({ type: 'INCREMENT', payload: 1 });
export const decrement = () => ({ type: 'DECREMENT', payload: 1 });

//we add this code 
export const logIn = () => ({ type: 'LOGIN' });
export const logOUt = () => ({ type: 'LOGOUT'});


```

> Note that we did not add the value of x here
Is this permissible? **Yes**
I can add it as well if you want, but here I wanted to tell you that yes, you can not add a value to `payload`

Because I have configured it in LoginReducer.js, please note the code in LoginReducer.js

Finally, create a file allReducers.js in Reducers folder

> ther are many articles ,including official documenter called thes file index.js 
but This makes me nervous
Because the Reikat project already has a file called index

```
import { combineReducers } from 'redux'
import LoginReducer from './LoginReducer'
import reducer from './reducer'

export default combineReducers({
    LoginReducer,
    reducer
})
```

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6yqiravhj3aq0s6s4f9m.png)
Understanding Different Network Types: Beyond Topologies
Tags: ccna, cisco, course, network
Published: 2023-09-14 23:00:00

**Introduction:**  
In today's interconnected world, understanding the nuances of network types is crucial. While many are familiar with network topologies, the concept of network types often remains elusive. This post will delve into the significance, differences, and applications of various network types.

---

**Why Different Network Types Matter:**  
1. **Technical Perspective:** As a network technician, it's essential to distinguish between different network types to ensure efficient support and management.
2. **Operational Perspective:** Different network types cater to varying operational needs, from small home setups to expansive corporate infrastructures.

---

**Key Network Types Explained:**  

1. **SoHo (Small Office/Home Office):**  
   - Typically found in homes or small offices.
   - Generally supports fewer than 10 devices.
   - Often consists of a modem, wireless router, and various connected devices like PCs, smartphones, and smart TVs.

2. **LAN (Local Area Network):**  
   - Found in specific geographical locations like a building or a campus.
   - Connects devices in close proximity.

3. **WAN (Wide Area Network):**  
   - Spans larger geographical areas, connecting multiple LANs.
   - Can connect offices in different cities or countries.
   - Ensures seamless communication across vast distances.

4. **Hybrid Networks:**  
   - A combination of on-premises equipment and cloud services.
   - Offers flexibility and scalability.

---

**On-Premises vs. Cloud Networks:**  
While on-premises networks give organizations full control over their infrastructure, they also bear the entire responsibility for installation, administration, deployment, support, business continuity, disaster recovery, and risk management. On the other hand, cloud networks operate on a shared responsibility model, where a cloud service provider handles many of these tasks, offering ease of management and reduced risks.

---

**Conclusion:**  
Different network types cater to varying needs, from individual users to large corporations. Understanding these distinctions is essential for anyone involved in network management, design, or support. As the world leans more towards hybrid and cloud solutions, it's crucial to stay updated on these evolving network structures.

Stay tuned for more insights into the world of networking in upcoming posts!
We Updated Our "Year Club" Badges!
Tags: meta, design, badges
Published: 2023-09-14 22:44:05

We have been very pleased to add a few new badges to our repertoire as of late, including the [Icebreaker](https://dev.to/devteam/announcing-the-icebreaker-badge-20k3) and [Warm Welcome](https://dev.to/devteam/introducing-the-warm-welcome-badge-4hnh) Badges. During our excitement around creating new badges, we thought it was high time to present a little makeover to some older badges!

## Introducing... our new "Year Club" Badges!

![Year Club Badges](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z8ip33gohl49ox5qh2je.jpg)

**These badges are awarded upon your yearly anniversary of becoming a DEV member and were built to celebrate your longevity on our platform.** 

If you already earned any Year Club badges, they are now updated to this new look, to help match the rest of our brand identity here on our platform.

Also, as we continue to update our badges, you may notice that the more you engage, the more you unlock new badges! When you stay active on DEV, we hope you are: (1) fulfilled by our community (2) being recognized for how much your participation and knowledge helps make DEV a better place.

---

We hope you all enjoy our badge refreshes and will see you again soon for more badge updates! 

PS: Don't forget to check out our new [Community Badge Page](https://dev.to/community-badges) to view all of the other badges we have available on our site.

**Cheers,**
**The DEV Team**
TypeScript and the NOT (!) operator in the context of an if statement
Tags: javascript, beginners, programming, typescript
Published: 2023-09-14 21:42:05

A quick write up on better understanding of the `!` (NOT) operator in JavaScript / TypeScript. 

I had to find a way to stop a `null` value from progressing to the next statement in a TypeScript file. 

In order to do this I used the `!` operator as follows:

```ts
const name = await doingsomethingasync

\\"name" can be a string, number or null
\\The if statement below catches the null value keeping TypeScript happy!

if (!name){
	throw new Error("name is null")	
} 
```

So what's happening here exactly?

Placing a `!` infront of a value does two things

1. The value gets coerced to a boolean
2. It then gets inverted

So, if `name` is a string, as a coerced boolean it evaluates to `true` (remember JavaScript `truthy` and `falsy`), inverting it means the statement `!name` will evaluate to `false`. 

Likewise, if `name` is a number, it's coerced to a boolean which evaluates to `true`, then inverts to `false`.

However, if `name` is `null`, it's coerced to a boolean evaluation of `false` (remember `null` is `falsy` value), when inverted it will evaluate to true.

This approach ensures the `if` statement targeting the `null` condition will only execute when `name` is `null`, permitting a continuation of the program otherwise. 

All in all, `!` is thoroughly useful tool to have in the toolbox.


![Musab Hussain Banner | Musab Hussain, a software developer, writer, lifelong learner and solopreneur](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ic1wsf5ytvxb4ipf8xkk.jpg)
Top Featured CodeNewbie Posts (9/14/23)
Tags: codenewbie, beginners
Published: 2023-09-14 21:56:31

---
title: Top Featured CodeNewbie Posts (9/14/23)
published: true
description: A round up of the most-read and most-loved contributions from the CodeNewbie community this past week
series: TopCN
tags: codenewbie, beginners,
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hhvferame4ibesaga976.jpg
---
_Every other week, we'll round up the CodeNewbie tag's top posts based on traffic, engagement, and a hint of editorial curation. Hope you enjoy!_ 

{% embed https://dev.to/grace_harders/its-time-to-end-the-biggest-programming-myth-42lp %} If you still think programming is a solo sport, think again! @grace_harders is here to change your mind. 

---

{% embed https://dev.to/barrymichaeldoyle/if-i-could-start-my-dev-career-again-essential-tips-for-newbies-5fbb %} @barrymichaeldoyle started his Dev Career back in 2010, but what would he change if he could start it all over again?

---

{% embed https://dev.to/quine/how-i-made-my-first-coding-contribution-as-a-complete-beginner-2g8f %} Over at @quine, they recently made a new hire! Come check out Lorenzo's story of becoming a first-time coding contributor accompanied by his insights on how you can do the same.

---

{% embed https://dev.to/inovak/the-spectrum-of-developer-entrepreneurship-566p %} @inovak shows us how there’s a wide spectrum of entrepreneurial paths for developers, each with varying risks and rewards.

---

{% embed https://dev.to/evergrowingdev/what-happens-when-you-let-go-in-programming-surprising-results-2pdd %} What would you do if somebody told you to forget everything you know about programming? @evergrowingdev demonstrates how it just might be the key to greater heights. 

---

_That's it for our top CodeNewbie posts for this week! Follow the [CodeNewbie Team on DEV](https://dev.to/codenewbieteam) for more content and discussions... and be sure to keep an eye on this series in the future - you just might be in it!_
THE TOOLS I LEARNT DURING MY FIRST TWO WEEKS OF LEARNING PROGRAMMING
Tags: beginners, html, github, coding
Published: 2023-09-14 21:36:09

**FIRSTLY**,I was first introduced to BASIC COMMAND LINE TOOLS  and it FUNCTIONS and with which I will be listing them below right here and there functions which is really helping me in many situations. 
They include the following:
cd: Change directory.
ls or dir (Windows): List files and directories in the current directory.
pwd or echo %cd% (Windows): Print the current working directory.
mkdir: Create a new directory.
touch or echo > filename (Windows): Create an empty file.
rm or del (Windows): Remove files and directories.
mv or move (Windows): Move or rename files and directories.
cp or copy (Windows): Copy files and directories.
Basic Git Commands
git init :
git status
git add .
git commit -m "commit message"
git remote add origin {repo_url}
git push -u origin master
  
**SECONDLY**, I was introduced to BASIC GIT COMMAND and their FUNCTIONS which I will also be listing right here.
They include: 

git init: Initializes a new Git repository in the current directory.
git clone {repository_url}: Creates a copy of a remote Git repository on your
local machine.
git add . or git add {files(s)}: Stages changes for commit. You can specify
individual files or use '.' to stage all changes.
git commit -m "{commit message}": Commits the staged changes to the repository
with a descriptive message.
git status: Shows the status of your working directory, including untracked files
and changes ready to be committed.
git log: Displays a history of commits in the current branch, including commit
messages, authors, and timestamps.
git branch: Lists all branches in the repository and highlights the current
branch.
git checkout {branchname}: Switches to a different branch. You can also use this
command to create a new branch.
git merge {branchname}: Combines the changes from one branch into the current
branch.
git pull: Fetches changes from a remote repository and merges them into the
current branch.
git push: Pushes your local changes to a remote repository.
git remote -v: Lists all remote repositories configured for the current project.
git fetch: Downloads changes from a remote repository but does not merge them
into your local branch.
git reset {file}: Unstages changes in the specified file, or you can use --soft,
--mixed, or --hard options to reset commits.
git rm {file}: Removes a file from the working directory and stages the deletion for the next commit.
git stash: Temporarily saves changes that are not ready to be committed, allowing
you to switch branches or perform other operations.
git tag {tagname}: Creates a new tag for a specific commit, often used for
marking releases.
git remote add {name} {url}: Adds a new remote repository with a specified name
and URL.
name can be origin
git --help or git <command> --help for more detailed information on each command.


With this little things above I've gained more knowledge on programming and more of GIT also .
Any sober devs on here?: CodeNewbie Podcast
Tags: codenewbie, discuss, podcast, career
Published: 2023-09-14 21:26:51

[Brian Jenney](https://twitter.com/yourCodeCoach), Senior Software Engineering Manager at Clorox, came on the podcast yesterday to discuss his path towards sobriety, your best self, and confident leadership.

On the podcast, Brian was vulnerable with us about his journey to sobriety and how this journey has into shaped a really positive relationship to engineering.

He shared: 

> ### “On this side [of sobriety] is me feeling great.
> ### I’m getting up.
> ### I’m feeling like I got tons of time.
> ### I enjoy movies now.
> ### I’m writing code.
> ### I feel proud about myself.
> ### So the feeling of pride is what kept me going.
> ### I thought, "I need more of this."

Listening to this episode was, we hope, life-affirming to all those struggling with addiction right now. At DEV, we are unsure that we have engaged much with our sober community yet on this platform, but we know y'all are here! We would love the opportunity to have y'all meet each other in the comment section (_if you want_) so we can celebrate you.

Our question for y'all today is:

## How has sobriety positively influenced your coding practice?


---

_Also, ICYMI— find that episode below or wherever you get your podcasts_:

{% embed https://www.codenewbie.org/podcast/mastering-leadership %}

---

_Send us your thoughts below and don't forget to give it a listen here or wherever you listen to your podcasts!_ 💜
Tech Community Manager e os seus desafios
Tags: community, devrel, braziliandevs
Published: 2023-09-14 21:17:42

Pouco se encontra conteúdos sobre Tech Community Manager, e quem dirá sobre os desafios a serem enfrentados na posição. 

Mas, eis me aqui, e vamos lá falar sobre essas "dores".

Antes de tudo, falo aqui com conhecimento de causa, se quiser olhar meu perfil profissional no LinkedIn, verá minha extensa experiência na área, quase que mais de 5 anos, percorrendo essa jornada. 

Vamos lá:

> Hoje o mercado de TI como um todo está em forte recessão de contratação de mão de obra, principalmente com o foco no Brasil.

Isso infelizmente também atinge a profissão de CM, porém, a noticia boa é que, o mercado internacional, continua contratando e muiiiito. E eu sou um belo exemplo disso. 

_

> dica: todas as minhas vagas de CM, foram através do LinkedIn, tendo o perfil em inglês e minhas buscas direcionadas quase que 100% pro mercado gringo.
_

Dito isso:

1. **Falta de budget aplicável para eventos e dentre outras funções do CM**: uma galera da área tem sofrido com isso e tendo que fazer mágica com muito pouco, para atingir métricas enormes. 

2. **Métricas irreais para a realidade da comunidade**: muitas das vezes pode ocorrer dos números e metas não serem (erradamente) definidas pelo CM em questão, e fugindo completamente da realidade aplicável na comunidade. 

3. **Ausência ou poucas ferramentas eficazes**: como construir sem alicerce? um dos braços de ser CM é contar com ferramentas que apoiem a otimização do seu trabalho ou pelo menos o mínimo viável possível. 

4. **Documentações em outros idiomas**: todos já sabem aqui o quão é importante ter inglêes, bla bla, assunto datado, porém, nos CM, também não fugimos disso, e a maioria de documentações importantes estão em inglês. 

5. **Descaracterização da função de CM**: olha na verdade essa aqui teria que ter sido a primeira, porque isso inclusive, dá um ótimo artigo aqui (me cobrem pra escrever um sobre). Muitas empresas e até próprios setores que apoiam o trabalho do CM, confunde muito sua atuação com alguém de Marketing ou Social Media, coisas inimagináveis distantes do que o CM deve desempenhar, e deixando o foco da comunidade em si, em segundo plano.

Posso ficar aqui citando diversos problemas enfrentados pela área, mas esses são os que mais me afetaram nessa longa e eterna caminhada na área. 

Já deixei aqui como promessa, escrever um próximo artigo sobre a REAL função de um Tech CM e suais aplicabilidades, beleza?

Espero que gostem, e que vençamos esses desafios!

Me acompanhe nas redes @larideoliiveira no YT, IG e X.
TxtToHTML - Review
Tags: javascript, webdev, programming, beginners
Published: 2023-09-14 21:07:07

I started a review on a tool titled *TxtToHTML* (https://github.com/bhavik001/TxtToHTML), as stated by the author. The file is as at it's infancy stage

*"TxtToHTML is a Command Line Tool which convert .txt file as well as the directory containing .txt to .html file. This project was created with the help of Node.js and open source, cross-platform runtime environment for executing JavaScript code."*

**The program works as intended though some features works better than others. it does not reflect the ability of the tool to perform its intended tasks.**

###Issue 1 -  Quite difficult to run
Running the tool is not beginner friently, in order to run the program I had to open a code editor and run it through that terminal. I was unable to run it through a local terminal aside for a code editor.

###Issue Issue 2 - ReadMe was somewhat confusing
ReadMe can be a bit confusing specially with steps 6 - 8. as it mentions it coverts a txt file to html thorugh directories, I had to traverse through the entire file in order to get the proper output that was intended. A lot of Trial and error occured during this process.

###Issue 3 - Output does not properly convert a single file
A custom output feature was placed unfortunately it did not work a s intended. If the file is located in the main folder it will duplicate the entire folder and now will have multiple repeating files, documents in the main directory it also throws an error if a folder is being converted

##Missing Features


###  Runtime conversion
This somehow relates to the program being beginner friendly, in order to successfuly run the program an entire process needs to be followed. A feature that would work wonders with thiis would be a possibility if the program runs and converts during runtime. the page to open would be ideal once the convertion is completed.

###  Visual Design Improvment
Another missing feature would be to improve the ability to add design to the converted html file. After opening the file manually it shows site with texts on it. Improvement in this end would be ideal.

## End Remarks
It was very amazing to see a program that works properly at this early and I have no doubt that this program would improve even more as time goes by. I have to give **kodus**. The seamless functionality and potential for future enhancements make this program an invaluable resource for both current and future users. look forward to witnessing how it evolves and continues to benefit users in the future.