teleren/devto huggingface dataset:
Simplifying Your Node.js setup with pnpm
Tags: node, tooling
Published: 2023-04-03 17:39:08


With so many tools available to manage Node.js installations it can be hard to choose the best option. So, do you still need a tool like nvm or volta in 2023?

Let me introduce you to [pnpm](https://pnpm.io/), my new go-to package manager. It's not only fast and disk-space efficient but also replaces npm or yarn for managing Node.js projects. And guess what? pnpm can handle your Node environment and directly install or update Node.js too! That's right, with just one tool, we can manage everything - project dependencies and the Node.js environment.

First, let's get the latest version of pnpm up and running with this simple command:

```bash
curl -fsSL https://get.pnpm.io/install.sh | sh -
```

Once that's done, selecting the version you want to use is simple:

```bash
# Install LTS release
pnpm env use --global lts

# Install Node.js 16
pnpm env use --global 16
```

So, although pnpm is mainly a package manager, it's turned out to be great for managing my Node.js environment too. With its efficient disk space usage, faster installations, simple configuration, and better compatibility, pnpm has become my go-to choice. Give it a try, and experience the benefits for yourself!
Everything you need to know about IP Telephony
Tags: community, network, mobile
Published: 2023-04-03 17:38:11

IP telephony is a modern communication technology that allows people to make calls over the internet.

It has become increasingly popular in recent years, as it offers a range of benefits over traditional phone systems. In this article, we will explore what [IP telephony](https://internetport.se/ip-telefoni/) is, how it works, and why you should use this communication technology.

## What is IP Telephony?

IP telephony, also known as voice over internet protocol (VoIP), is a method of transmitting voice and multimedia content over the internet.

Instead of using traditional copper wires, IP telephony uses internet protocol (IP) networks to transmit voice data in digital form. IP telephony can be used on a range of devices, including computers, smartphones, and tablets.

## How does IP Telephony work?

IP telephony converts voice signals into digital data, which is transmitted over the internet.

The data is transmitted in packets, which are then reassembled at the destination.

This process is known as packet switching. To use IP telephony, a user needs a device that supports VoIP, an internet connection, and a VoIP service provider.

VoIP service providers offer a range of features, such as call forwarding, call waiting, voicemail, and video conferencing.

Some providers also offer virtual phone numbers, which allow users to receive calls from any location in the world. The cost of IP telephony varies depending on the provider and the features offered.

## Why you should use IP telephony?

1. Cost-effective: IP telephony is generally cheaper than traditional phone systems, as it uses the internet to transmit data, which is often cheaper than using traditional phone lines.

2. Flexibility: IP telephony allows users to make and receive calls from any location in the world, as long as they have an internet connection.

4. Advanced features: IP telephony offers a range of features that are not available with traditional phone systems, such as video conferencing, call forwarding, and voicemail.

6. Integration with other systems: IP telephony can be integrated with other communication systems, such as email and instant messaging.

8. Scalability: IP telephony can be easily scaled up or down, depending on the needs of the organization.

## Conclusion:

IP telephony is a modern communication technology that offers a range of benefits over traditional phone systems.

It is cost-effective, flexible, and offers a range of advanced features.

However, it does have some disadvantages, such as reliance on internet connection, security, and quality of service. Overall, IP telephony is a valuable tool for businesses and individuals looking to communicate over long distances.
There are some similarities between coders and athlete
Tags: webdev, productivity, javascript, beginners
Published: 2023-04-03 17:29:24


I've always given one important advice 
##### Practice Everyday 

but how to actually implement it? -> 

Athletes are a great example. 

---

### 1. Routine 

Everyday is planned and structured for athletes.

**Coders** who have a planned routine tends to procrastinate less and get more work done.

---

![Routine work](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mhsu862nv64w7v1qfqet.jpg)

---

### 2. Consistency 

A kid playing football can't instantly become Ronaldo

the kid has to practice a lot and stay consistent even if he is losing all the games

**The same is the with coding**

---

![Consistency](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1pt2zsk6dptzjvxjd4pv.jpg)

---

### 3. Rest & Recover 

Athletes don't practice all day all long

Don't binge-watch your coding tutorials you'll think you are understanding but you are actually not... Take breaks 

---

![rest and recover](https://www.themanual.com/wp-content/uploads/sites/9/2022/03/your-complete-guide-to-rest-and-recovery.jpg?p=1)

---

### 4. Compete 

As an athlete, Competition pushes your performance to your highest potential 

While Coding.. Compete with yourself, push yourself to learn new Concepts, build apps, teach others, and work harder.

---


![Compete](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4igmegic2i0sk9h1w7b4.jpg)

---
--- 
## Support us 
Don't miss the amazing video we've embedded in this post! Click the play button to be inspired

{% youtube 8dIXp-eEUtM %}

---
---
## For more information

 

1. Subscribe my Youtube Channel 
[https://www.youtube.com/@democode](https://www.youtube.com/@democode) 

2. Check out my Fiver profile if you need any freelancing work
[https://www.fiverr.com/amit_sharma77](https://www.fiverr.com/amit_sharma77)

3. Follow me on Instagram
[https://www.instagram.com/fromgoodthings/](https://www.instagram.com/fromgoodthings/)

4. Check out my Facebook Page 
[Programming memes by Coder](https://www.facebook.com/programmingmemesbycoders)

5. Linktree
[https://linktr.ee/jonSnow77](https://linktr.ee/jonSnow77)

 

---
---

{% instagram CqObFa6PR0l %}
Questions about creating a web query system
Published: 2023-04-03 17:17:15

1- How did you get the relationship between Searching and rendering results working

My partner and I have not yet implemented a working querying system. Although the search bar and front-end looks are all there and functioning, we have not yet been able to finish the product on the backend side. This step will be done soon, within this week in fact.

2- Draw a diagram on draw.io for user interaction pattern. What happens from user input, through machine sending value, to re-rendering on the page

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

3- Think of a real world use-case from industry (Media streaming, youtube, corporate, cable company provider, web platform, etc) where micro-service architecture could fit into their business context. How could we use this approach to solve a real problem at a company currently using a monolithic design architecture?

A lot of major tech companies are simply monolithically built and incorporate microservices when necessary. An example listed above that would benefit from micro-services would be Netflix, since there are always lots of titles that change on there. Specifically, the loading of thumbnails and descriptions for shows can be outsourced to a microservice that delivers the content when it loads. Other suggestions could be Uber delegating the price determination of a ride to an algorithm microservice that determines the price based on their set metrics.

4- More questions you have / things your stuck on

How to do backend query with search-bar :c
Anyone else a little lost in the growth of Dev.to?
Tags: webdev, discuss
Published: 2023-04-03 17:15:48

So I've been a member of Dev.to since 2018. I wrote my first post on Aug 17, 2018. Just to give you a reference that I've been on here for a while. 

When it was first starting up, it was so easy to get your post to grab attention and to get feedback. Not saying that's not the case for some of us still but I can imagine some of us feel it much harder now. 

I've been feeling a little lost in the crowd when Dev.to grew to what it is today. A name that everyone in the industry knows and loves. 

Many of us rely on for news, socializing and learning. But the spark for me was some what lost when I started finding that the place I once knew had started to change and the people I interacted with seems to also be pushed away or perhaps grew tired of the lack of attention to their post. 

Change is a wonderful thing, it's brought so much great things. At the same time change can be a little uncomfortable for some of us. 

My own personal story, I felt like part of something special.  I had a voice to be heard, where now it can often feel like I'm in the middle of the crowded lines, trying to tell my story over the voices of the crowd hoping to be heard. 

I'm sure it's probably just me feeling this way but for the slight chance there are others out there that feel the same way, I'd love to hear your story.

What are some ideas on how platforms can grow, while still making sure that their users feel valued across the board? 

I dream of when I have this problem in the future when my own projects take off (fingers crossed!) and I hope to learn from all of you on what you think it would take. 

One idea I had was to open up additional parts of the site for those who have been here (selfish thought? or just an idea 🤷🏻‍♂️) for a certain period of time or maybe meet some other criteria (make it fair as possible). 

Does that push others away to feel unfair? It's not an easy topic to solve and I would imagine that they've had some long hard discussion over some of these issues already as Dev.to. 

Perhaps that is why we have badges and mod center, but I feel like they do not answer the issue of how to keep your user base feeling welcomed? The more users you get the harder it becomes. 

I was just wanting to vent and reach out in hope it kick starts my journey back to Dev.to posting. I would love to be inspired again.
Resolvendo problemas no HackerRank: Saltando em nuvens (2)
Tags: javascript, beginners, programming
Published: 2023-04-03 17:12:13

Olá, seja bem vindo a mais um Resolvendo problemas no HackerRank: No caso de hoje,vamos jogar um jogo de pular nuvens parecido ao que fizemos a algum tempo atrás. Vejamos mais informações com a explicação detalhada e sua resolução.

**jumpingOnClouds -**

Há um novo jogo para celular que começa com nuvens numeradas consecutivamente. Algumas das nuvens são trovoadas e outras são cúmulos. O jogador pode pular em qualquer nuvem cumulus com um número igual ao número da nuvem atual mais 1 ou 2. 

O jogador deve evitar as trovoadas. Determine o número mínimo de saltos necessários para pular da posição inicial até a última nuvem. É sempre possível ganhar o jogo:

- Para cada jogo, você receberá uma série de nuvens numeradas 0 e se for seguro ou 1, deve evitá-la

- int c[n]: um array

- RETURN = int: o número mínimo de saltos necessários

Vejamos a execução

```
function jumpingOnClouds(c) {
    // Write your code here
  let arrCumulus = [];
  for(let i=0; i < c.length; i++) {
    if(c[i] === 0) {
      arrCumulus.push(i);
    }
  }
  for(let i=0; i < arrCumulus.length-2; i++) {
    if(arrCumulus[i+2]-arrCumulus[i] === 2) {
      arrCumulus.splice(i+1, 1);
    }
  }
  return arrCumulus.length-1;
}
```

O código acima é uma função chamada jumpingOnClouds que recebe um array chamado c como parâmetro. A função tem como objetivo determinar o número mínimo de pulos necessários para chegar ao final do array, seguindo algumas regras.

O primeiro passo da função é criar um novo array chamado arrCumulus que irá armazenar os índices dos elementos do array c que são iguais a 0. Isso é feito através de um laço for que percorre todo o array c. Se o elemento atual for igual a 0, seu índice é adicionado ao final do array arrCumulus.

Em seguida, a função utiliza um segundo laço for que percorre todo o array arrCumulus, com exceção dos dois últimos elementos. Para cada elemento do array arrCumulus (exceto os dois últimos), é verificado se a distância entre o elemento atual e o elemento dois índices à frente é igual a 2. Se for o caso, o elemento seguinte ao elemento atual é removido do array arrCumulus.

Por fim, a função retorna o comprimento do array arrCumulus menos um, que é o número mínimo de pulos necessários para chegar ao final do array c.

Em resumo, a função jumpingOnClouds determina o número mínimo de pulos necessários para chegar ao final do array c, considerando que o jogador pode pular apenas entre elementos iguais a 0 e pode pular no máximo dois elementos à frente.

O resultado será:

```
7
0 0 1 0 0 1 0

input: 4
```
Assim, concluímos mais um `Resolvendo problemas no HackerRank: `até a próxima.
Camparison of tensorflow vs sci-kit learn vs hugging face
Tags: ai, chatgpt
Published: 2023-04-03 17:09:11

Scikit-learn, TensorFlow, and Hugging Face are all powerful machine learning frameworks that can be used for a variety of applications, but they have different strengths and weaknesses.

Scikit-learn is a widely-used machine learning library for Python that focuses on traditional statistical modeling and machine learning algorithms. It provides a consistent API for common machine learning tasks such as classification, regression, clustering, and dimensionality reduction. Scikit-learn is easy to use and has excellent documentation, making it a great choice for beginners and for quickly prototyping and validating machine learning models.

TensorFlow, on the other hand, is a popular open-source machine learning framework developed by Google. It is designed for large-scale machine learning applications and is particularly well-suited for deep learning tasks such as image and speech recognition. TensorFlow provides a wide range of tools for building and training complex machine learning models, including neural networks, and has excellent support for distributed computing. It is a more powerful framework than Scikit-learn, but it also has a steeper learning curve.

Hugging Face is an open-source natural language processing (NLP) library built on top of PyTorch and TensorFlow. It provides a wide range of pre-trained models for common NLP tasks such as text classification, question answering, and language translation. Hugging Face is particularly well-suited for transfer learning, where pre-trained models are fine-tuned on specific NLP tasks, and it provides a simple API for integrating these models into NLP applications. However, it is more specialized than Scikit-learn or TensorFlow and may not be as suitable for other machine learning tasks.

In summary, Scikit-learn is a great choice for traditional machine learning tasks, TensorFlow is a powerful framework for deep learning and large-scale machine learning, and Hugging Face is a specialized library for natural language processing. The choice of framework ultimately depends on the specific application and the expertise of the user.




Muhammad Ali
Personalised Tarot Reading service based on AI and 3d interactive
Tags: news, ai, nextjs
Published: 2023-04-03 17:01:47

🎉 Exciting news! We're thrilled to **announce the upcoming launch** of our new online interactive tarot card reading service. Our platform is currently under development, but you can visit our website at **[https://www.lumi-tarot.com/](https://www.lumi-tarot.com/)** for a sneak peek and try out some of our features.

🛠️ We utilized Next.js for server-side rendering, React Three Fiber for creating stunning 3D visuals with WebGL, Prisma ORM for efficient database management, and ChatGPT - an AI model trained by OpenAI, for personalized tarot card readings. Our development process was streamed on Twitch, and we're excited to share our learnings with the community.

🔮 Our service is designed to help **you** discover and learn tarot readings in a fun and engaging way, while providing personalized answers to your most pressing questions. Whether you're a beginner or an experienced tarot reader, our user-friendly and intuitive platform makes it easy to get started.

👉 With our service, **you** can choose to receive answers from our AI-powered tarot card reader or from our team of experienced tarot readers, who are available to provide personalized insights and guidance. We believe that everyone can benefit from tarot readings, and our platform is designed to make it accessible to all.

💪 We are working hard to provide the best possible experience for our users, and we would love to hear your feedback! So go ahead and give our platform a try at **[https://www.lumi-tarot.com/](https://www.lumi-tarot.com/)**, and let us know what you think. Your feedback is crucial in helping us improve and provide the best possible experience for our users.

Thank you for your support, and we look forward to helping you on your journey of self-discovery and learning! 🌟

Would you like to know more about our building process? Let us know in the comments below!
Learning Markdown
Tags: webdev, beginners, markdown
Published: 2023-04-03 15:52:17

# Learning Markdown 🤓

Walking into the world of Web Development, the design and structure of the worldwide web, is an overwhelming yet invigorating project.

I am constantly struck by the **massive** mountain of information *and* knowledge being made accessible in my time.

> "Knowledge puffs up, but love builds up." -1st Corinthians 8:1 ESV

It is a love of knowledge that builds within me this ever expanding thirst for more. To be engrossed in the *latest and greatest* while maintaining a grasp on historical foundation.

---

I stand on the shoulders of giants and am afforded the privilege to see what they could only dream, so that I may dream what others will one day see.

---

In my approach to learning all things Web Development, I must reign in my lifelong struggle of the **Mad Dash**. This has been an Achilles Heel for me as I often race to reach farther than I can grasp by attempting to learn all things at the same time, in an unordered and unstructured manner. I often fail to discipline my mind for the **Marathon** of knowledge. The sprint is often a more appealing avenue. But that is a road that quickly leads to ruin. So I must content myself in these early days to love only three things and three things alone:

- HTML
- CSS
- JavaScript

![Neon phone displaying the words 'Eat, Sleep, Code, Repeat'](https://images.unsplash.com/photo-1564865878688-9a244444042a?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1770&q=80)

## About Me

I am a [Fine Art Portraitist](https://www.fineartportrait.org "My Website / Portfolio") and a retired Army Veteran. As an aspiring Web Developer and Cyber Security Specialist, I spend a great deal of time at my office learning, coding, breaking, and learning more. All wrapped around when not retouching and printing portraits.
Introducing NotifIBM
Published: 2023-04-03 16:34:56

Introducing **NotifIBM** - the ultimate solution for NIBM Sri Lanka students who are tired of constantly checking the university website for exam results and struggling to calculate their GPA manually. With its cutting-edge technology and user-friendly interface, **NotifIBM** is here to revolutionize the academic experience of students.

**NotifIBM** ensures that students never miss an important update again. **NotifIBM** automatically notifies students as soon as their exam results are posted on the university website, saving them time and effort. This allows them to focus on other important aspects of their academic journey, such as studying for their next exam.

**NotifIBM** also features a GPA calculator that enables students to calculate their grades easily and accurately. No more spending hours manually calculating your GPA - **NotifIBM** does it for you. This feature is especially useful for students who want to monitor their academic progress and set goals for themselves.

But that's not all - **NotifIBM** also has an inspiration factor. The app sends encouraging messages to students, reminding them of their goals and motivating them to study harder. This feature is particularly helpful for students who may be struggling or feeling demotivated. With **NotifIBM** , students can stay inspired and motivated throughout their academic journey.

**NotifIBM** is easy to use and user-friendly, making it the perfect tool for every NIBM Sri Lanka student. With its automatic notifications, GPA calculator, and inspirational messages, **NotifIBM** is truly the ultimate solution for NIBM Sri Lanka students. Don't miss out on this game-changing app. Register with **NotifIBM** today and streamline your academic journey.

[Register Now](https://notifibm.com)
Solution: Flutter Firebase realtime listener not cancelling
Tags: firebase, database, flutter, dart
Published: 2023-04-03 16:28:18

Firebase realtime database listener does not cancel even when you dispose the widget or explicitly cancel the **streamsubscription**.
The listener keeps listening underground which increases your billings, causes memory leak and consumes your device resources.


I had this same problem for a while, I could not find any tangible solution on github, stackoverflow and other tech related blogs, till I eventually created a workaround.

Let me walk you through:

To cancel the streamSubscription listener, I simply called the `goOffline()` method on my database instance.

This method completely cancelled the listener from underground activities.

    final database = FirebaseDatabase.instance;
    database.goOffline()// to stop your listener
    //After canceling the listener, to resume or start other database operations 
    database.goOnline() //everything works back better

I put the called `database.goOffline()`  in the dispose state and it works perfectly.

Glad to help