teleren/devto huggingface dataset:
Building Chatbots with Rasa
Tags: beginners, programming, tutorial, ai
Published: 2024-04-08 00:31:05

## Introduction

Chatbots, or conversational agents, have gained immense popularity in recent years. These computer programs are capable of simulating conversation with human users, providing efficient and personalized solutions. Rasa is an open-source framework for building chatbots that offers a unique approach to natural language understanding and machine learning. Let's delve deeper and explore the advantages, disadvantages, and features of building chatbots with Rasa.

## Advantages of Using Rasa

One of the major advantages of Rasa is its flexibility in handling various types of conversations and intents. It provides a customizable and adaptable framework, making it suitable for different use cases. Rasa also supports multiple languages and can integrate with various platforms such as Facebook Messenger, Slack, and WhatsApp. Additionally, Rasa's machine learning capabilities allow it to improve and learn from interactions, providing more accurate responses over time.

## Disadvantages of Using Rasa

The main disadvantage of Rasa is its steep learning curve. Building chatbots with Rasa requires knowledge of machine learning and programming languages, making it more suitable for developers rather than non-technical users. Rasa's documentation and community support have improved in recent years, but it still requires some technical expertise to effectively utilize its features.

## Features of Rasa

Rasa offers an array of features that make it a preferred choice for building chatbots:

1. **Customizable Conversational Flows:** Rasa has a user-friendly visual interface for designing conversational flows, allowing developers to tailor the chatbot's responses and actions to the needs of their users.

2. **Integration with Machine Learning Tools:** Rasa integrates with popular machine learning natural language processing tools such as spaCy and TensorFlow. This enables more sophisticated understanding and generation of human language.

3. **Powerful Dialogue Management:** Rasa's dialogue management system can handle complex conversational states and transitions, supporting both text and voice-based interactions.

### Example of a Simple Rasa Bot

```python
# Example of a simple Rasa bot responding to a greeting
from rasa_sdk import Action
from rasa_sdk.events import SlotSet

class ActionGreetUser(Action):
    def name(self):
        return "action_greet_user"

    def run(self, dispatcher, tracker, domain):
        dispatcher.utter_message("Hello! How can I help you today?")
        return []
```

This example illustrates how to set up a basic action in Rasa, where the bot greets the user.

## Conclusion

Overall, building chatbots with Rasa has its advantages and disadvantages. However, the flexibility, scalability, and machine learning capabilities of Rasa make it a top choice for building intelligent and efficient conversational agents. With a constantly growing community and continuous updates, Rasa is continuously improving and remains a popular tool for conversational AI.
It's okay to be mediocre
Tags: programming
Published: 2024-04-08 00:14:03

The coding world is vast! It's perfectly normal for developers to have areas of strength and areas for improvement. You might be a whiz with backend but still working on centering div in HTML, you maybe good at react framework but don't know anything about python. relax That's okay!.

We all have those days where progress feels slow, and mistakes pop up at work. But hey, that's being human! Remember, even the most experienced developers make mistakes. The key is to learn from them, dust yourself off, and keep building your skills.

There's no single "perfect developer."😎 Some excel at full-stack development, while others master in specific tools or areas. The beauty lies in our diverse skillsets that come together to build amazing things, you're like a single gear teeth that help car drivable, insignificant but nedded.

The most important thing? Your mediocre coding skills improve your life! Whether it puts food on the table for your family or opens doors to new opportunities, coding is a valuable skill you can be proud of 🤩. so It's okay to be mediocre.
lost funds rec0very
Published: 2024-04-07 22:48:08

lm lucky t0 g3t h3lp In g3tting my I0st fvnds FuIIy r3c0 verde by the h3lp of M.r Jeff I stumbled into hls maIl adrss   jeffsilbrt 3 9 gmaIl C0 M he was able t0 r3store my I0st crypt o/ ca sh
Planning Poker Jira integration
Tags: webdev, scrum, agile, react
Published: 2024-04-07 22:17:25

Agile teams know the struggle of aligning on task complexities and estimations. Enter Planning Poker, a gamified way for dev teams to estimate the value of a task.

Unfortunately, these tasks are usually hosted in a separate system. However, with Kollabe's Planning Poker Jira integration, this is no longer a problem. This integration allows a seamless connection between Planning Poker and the Jira tasks. Teams can now easily estimate, discuss, and align on task complexities on Kollabe, and have everything synced back to Jira.

What makes this integration essential? It simplifies the setup process into manageable steps, allowing for seamless connection to Jira, addition of story point fields, and importing of tickets.

To dive deeper into how this integration can revolutionize your agile planning sessions and for a step-by-step guide on setting it up, head over to this [detailed post](https://kollabe.com/posts/planning-poker-with-jira).

Increase your team's efficiency and alignment with the Planning Poker Jira Integration today!
One UI Kit - A Complete and Modern UI Kit for your Unity Games
Tags: unity3d, gamedev, asset, ui
Published: 2024-04-07 22:15:18

**Welcome to the [One UI Kit for Unity](https://github.com/DevsDaddy/OneUIKit)!** This set includes dozens of different elements, components, and graphical styles for creating your user interface in games or applications on Unity.

**Features:**
- Modern Ready-to-Use UI;
- Animations, Shader Effects, UI Particles;
- Dozens of ready-to-use components;
- Huge set of ready-to-use icons;
- Many different examples of screens and navigation;
- Optimized for Mobile;
- Ready for MVC/MVP/MVVM;

**Depedencies:**
- Unity UI Framework (included in project);
- TextMesh Pro for UGUI (included in project);
- Unity Event Framework (included in project);
- Recommended 2D Sprite Package (but not required);

**Installation process:**
- [Download and import latest release from this page](https://github.com/DevsDaddy/OneUIKit);
- Open **Demo Scene** and see how it works;

## Ready to Use Screens and Components
**The sample interface and windows shown below are already included in the project**. For some of them it is easiest to use the Event Framework - an example of which is also in the **Demo-scene**.

![One UI Kit for Unity](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5lhtol6y0cmrv5ckqfp9.png)
![One UI Kit for Unity](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ss70ge1xilxzgz7ktcs9.png)
![One UI Kit for Unity](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t42q2v6hi9y4ca3rked8.png)
![One UI Kit for Unity](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v351g5h2kbeag3gsael2.png)
![One UI Kit for Unity](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/khpx9kcfa3j6mgdxlyk7.png)
![One UI Kit for Unity](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5hl7qvlztgbfkrfgeak3.png)
![One UI Kit for Unity](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uq1rmeh3vbh8unlq26hj.png)
![One UI Kit for Unity](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l76tsshf04sngzz9gc8c.png)


## Working with Views
**Views Binding:**
```csharp
UIFramework.BindView(Instantiate(homeView), true); // Home Page
UIFramework.BindView(Instantiate(pageView));       // Sub-Page
```

**Navigate to another view:**
```csharp
EventMessenger.Main.Publish(new OnViewNavigated {
    View = typeof(DemoPageView),
    Display = new DisplayOptions { IsAnimated = true, Delay = 0f, Duration = 0.5f, Type = AnimationType.Fade },
    Data = new DemoPageView.Data {
        Title = "Demo Page",
        Content = pageContent
    }
});
```

---

[My Discord](https://discord.gg/a7cHDtfYbv) | [My Blog](https://devsdaddy.hashnode.dev/) | [My GitHub](https://github.com/DevsDaddy) | [Buy me a Beer](https://boosty.to/devsdaddy)
My New Podcast: AI With Alex
Tags: ai, beginners
Published: 2024-04-07 22:02:03

####Hey everyone!

I'm happy to announce that I have now posted my **first podcast: _AI With Alex_**.

On the show, I discuss my opinion on the latest trends/news about AI, and the future of AI with AI experts.

Keep in mind that this is my first podcast ever, so **feedback is _appreciated_**.

###If you want to listen to the podcast, **here are some links**:

[YouTube](https://youtu.be/RppdFrGz8Yw)

\{% embed https://youtu.be/RppdFrGz8Yw %}

[Spotify](https://open.spotify.com/show/2EEF573fAYy0GVphWxqFc2)

{% embed https://open.spotify.com/show/2EEF573fAYy0GVphWxqFc2 %}

###If you want to be _featured_ on my podcast:

[Calendly](https://calendly.com/alexagboolacodes/ai-with-alex)

{% embed https://calendly.com/alexagboolacodes/ai-with-alex %}
Explorando o Microsoft Azure: Uma Visão Geral para a Turma de Arquitetura .NET da FIAP
Tags: azure, devops
Published: 2024-04-07 21:50:23

No dia 24 de maio de 2023, tive a oportunidade de realizar uma mentoria para a turma de Arquitetura .NET da Faculdade FIAP, onde apresentei uma visão geral do Microsoft Azure. Durante a sessão, abordei diversos serviços do Azure, incluindo o WebApp, Storage, Functions e as opções de bancos de dados disponíveis na plataforma. Os alunos puderam entender os conceitos fundamentais de computação em nuvem e explorar aplicações práticas desses serviços no ecossistema .NET.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/isk1buuc387kq1osy5s0.jpeg)
HomeStage - Instant virtual furnishing with one click.
Tags: photography, realtors, homestage
Published: 2024-04-07 21:37:16

[HomeStage](https://homestage.app) lets you upload a picture and our AI will add furniture within seconds. 

Our technology can transform any home, whether furnished or unfurnished, by creating brand new furniture arrangements in seconds, tailored to various interior design styles. 

We offer real estate agents and photographers the ability to virtually stage properties at a fraction of the cost of traditional homestaging services.
SolidEdge: Your AI-powered semantic search assistant for code and workspace exploration, now available as a VSCode Extension
Tags: ai, devops, productivity, vscode
Published: 2024-04-07 21:32:26


🧱 **What is SolidEdge?**
SolidEdge is revolutionizing the way developers explore code and workspace semantics. Our AI-powered assistant, SolidGPT, enhances your coding experience by providing intelligent semantic search capabilities.

🔥 **Key Features:**
- **Semantic Search**: Quickly find relevant code snippets and project resources based on meaning, not just keywords.
- **Workspace Exploration**: Navigate through your codebase effortlessly, understanding context and relationships between different components.
- **VSCode Extension**: Seamlessly integrate SolidEdge into your workflow with our [VSCode extension](link-to-extension), boosting productivity right from your favorite editor.

🌟 **Why SolidEdge?**
Whether you're a seasoned developer or just starting your coding journey, SolidEdge empowers you to discover, understand, and utilize code more efficiently. With its intuitive interface and advanced AI algorithms, SolidEdge streamlines your development process, saving you time and effort.

📈 **Get Started:**
Try out the SolidEdge VSCode Extension now available on the [VSCode Marketplace](https://marketplace.visualstudio.com/items?itemName=aict.solidgpt)! Don't forget to star us on [GitHub](https://github.com/AI-Citizen/SolidGPT) to support our open-source project.

🎉 **Join the Discussion:**
Have questions or feedback? Drop them in the comments below! We'd love to hear from you and engage in meaningful conversations about how SolidEdge can enhance your coding experience. As co-contributors with a developer background, we're eager to connect with the developer community and incorporate your insights into SolidEdge's development.

📣 **Spread the Word:**
Share this post with your colleagues, friends, and local developer communities to help more people discover the power of SolidEdge!

🌐 **Connect with Us:**
- GitHub: [SolidGPT GitHub](https://github.com/AI-Citizen/SolidGPT)
- Twitter: [SolidEdge Twitter](https://twitter.com/SolidGPT)

👨‍💻 **About Us:**
SolidEdge is developed by a passionate team of developers dedicated to making coding more efficient and enjoyable for everyone. As co-contributors with a developer background ourselves, we understand the needs of the developer community firsthand. Join us on our journey to revolutionize code exploration and discovery!
React's virtual DOM explained
Tags: webdev, javascript, react, learning
Published: 2024-04-07 21:16:37

React is an opensource JavaScript library which is used to build web interfaces using components. What makes React really cool is the fact that it can be used to make re-usable components. In addition, it is very flexible and has a huge community.

As a web developer, the DOM (Document Object Model) should not be a new concept. But to refresh your memory, the DOM basically represents a web page in a hierarchical tree-like structure. This web page is also known as a document and it is kinda an object-oriented representation of the web page. You really get to appreciate the DOM when you try to incorporate certain functionalities into your web page or manipulate it with JavaScript. Through the DOM, you can target specific HTML elements and modify them accordingly. The DOM was built using an API which makes it language agnostic. This means you must not necessarily use JavaScript to manipulate it.

Every React developer should understand what the virtual DOM entails. Usually, rendering a web page is fast. But when the DOM is manipulated where a specific item changes, the entire webpage is re-rendered which kind of slows everything down. This is where the virtual DOM comes in. The virtual DOM is a lighter abstraction of the DOM which is saved somewhere in the browser's memory. The virtual DOM does not replace the real DOM. It aids in making the rendering of web pages more efficient. The state you want the UI to be is first specified and when changes are made to the virtual DOM, it compares it with the changes just before it was updated. Once the element that was changed is identified, only that element is targeted and updated on the real DOM. Without the virtual DOM, the entire page could be re-rendered because of a tiny update.

Learn more [here](https://blog.logrocket.com/virtual-dom-react/).
How to be a better developer for you and the others
Tags: programming, devjournal, howto, workplace
Published: 2024-04-07 21:06:20

I will share some thoughts about development.

About me: Smiling person, father of two, husband, Senior Developer/Architect (in that exact order, it's important)

Experience in development since 2004
Linux user and advocate since 2001

## Code
- make sure the linting is enabled in your IDE.
- code the unit tests while you code. Not necessarily TDD, but don't do it at the end.
- add tests for things that are not supposed to happen. I often see damned obvious unit tests. Your test should *also* cover the things that are not supposed to pass.
- comment your code. Even more if you used something you are proud or that is a bit complicated to understand.
- avoid the NIH (Not Invented Here) issue. Someone is likely to have faced the same problems as you do, sometimes you will find him/her in your team.
- don't use complicated or tricky code. This code will have to maintained. If you made a code that is 20% faster but no one can understand, it's a failure.
- Timebox your refactorings, avoid the tunnel effect. If it's too long to refactor, split it.
- [Keep It Simple and Stupid](https://en.wikipedia.org/wiki/KISS_principle)

## Team
- ask other people about the way you **plan** to code something. It would avoid you to face multiple problems during a code review way too late.
- ask for review early, even when you coded only 30% of the code. Why ? Because later it would be easier for these people to understand the other things you will add.
- stay humble.
- respect the code guidelines and workflow that are available in your company, even more if you disagree with them. Yes, I know, It's hard.
- guidelines are here to avoid everyone going in different direction.
- do not hesitate to ask a senior when you don't understand a guideline, ask for other people if they are OK with something you dislike in the guidelines. If you see support, you may request to change the guidelines. If no one agree with you, then move on, and deal with it. 
- when you disagree with someone else on a code review. Don't argue. Ask for another people his/her point of view. If you have 2 people saying you are wrong, you might be more likely to accept you were, or at least your solution might not be the best.

## You
- You are not your code.
- You know nothing (Socrates/Ygritte)
- you learn from your failures, not your success.
- It's OK to ask for help
- put yourself in someone else's shoes.
- read about [cognitive biases](https://en.wikipedia.org/wiki/List_of_cognitive_biases): [confirmation](https://en.wikipedia.org/wiki/Confirmation_bias), [imposter syndrome](https://en.wikipedia.org/wiki/Impostor_syndrome), [survivor](https://en.m.wikipedia.org/wiki/Survivorship_bias), [compliance](https://en.wikipedia.org/wiki/Compliance_(psychology)) …
- the best thing to learn is to say "No". Try to say "no" from time to time, you will see how easily people will accept it.
- your family is more important than your code.
- find a way to take care of you as much as you take care of your code.
Comprehensive Guide to Smart Contract Development
Tags: programming, devops, productivity, web
Published: 2024-04-07 21:04:08



![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u8o9h7ebp6vpnzzn3cwv.jpg)[Smart contracts](https://auditfirst.io/) are reshaping the way we handle digital agreements and transactions, thanks to blockchain technology. These contracts automate processes and reduce the need for intermediaries, making them perfect for industries ranging from finance to real estate.
**
What Are Smart Contracts?**

A [smart contract](https://auditfirst.io/) is a contract that executes itself when its conditions are met, with the terms embedded directly in the code. This automation means actions like money transfers or property registrations occur without manual intervention once pre-set conditions are fulfilled.

**Choosing the Right Platform for Smart Contracts**

Ethereum is the leading platform for developing [smart contracts](https://auditfirst.io/), with its native programming language, Solidity. Other platforms like NEO use languages akin to C# and Java, offering a gentler learning curve for developers with experience in those languages.

**Steps in Smart Contract Development**

Requirement Specification: Start by precisely defining the functionality your contract needs to deliver, covering all conceivable scenarios.

Code Development: Write your contract using the appropriate blockchain and programming language, focusing on security and performance.

Rigorous Testing: Test the [smart contract](https://auditfirst.io/) thoroughly in a controlled environment to confirm all aspects function as intended.

Launching the Contract: Deploy your thoroughly tested and verified [smart contract](https://auditfirst.io/) onto the blockchain.

Continuous Audit and Maintenance: Consistently monitor and audit your contract to detect and rectify any vulnerabilities or flaws.

**Avoiding Common Pitfalls**

Avoiding Overflow Errors: Implement SafeMath checks to guard against overflow in numeric operations within Solidity.
Preventing Reentrancy Issues: Ensure the contract's state is stable before executing changes.
Securing Sensitive Data: Encrypt sensitive information stored on the blockchain to prevent unauthorized access.
In Conclusion

[Smart contract development](https://auditfirst.io/) offers new opportunities for enhancing security and efficiency in digital agreements. Adhering to development best practices and conducting extensive testing can greatly enhance the dependability and performance of your contracts. As this technology continues to evolve rapidly, keeping abreast of the latest advancements in blockchain technology is crucial to maximizing its benefits.

[Smart contracts](https://auditfirst.io/) are now a fundamental component of the digital economy, providing significant advancements for businesses that adopt this technology.
Dictionary📚 - Python
Tags: python, beginners, computerscience, programming
Published: 2024-04-07 21:00:33

## Python Unleash'd 12

Hi 


Starting with new data structure today.
We are done with sets.

Maps in C++ never annoyed me, so helpful data structure, I expect same from dictionary.

## What is dictionary in python?

- Stores values in key value pair.
- curly brackets are used
- Keys are immutable, while values are duplicate and mutable
- Values can be of any data type
- Key names are case sensitive

Here is an example from GeeksForGeeks too see how to create dictionary

```
Dict = {1: 'Geeks', 2: 'For', 3: 'Geeks'}
print("\nDictionary with the use of Integer Keys: ")
print(Dict)

Dict = {'Name': 'Geeks', 1: [1, 2, 3, 4]}
print("\nDictionary with the use of Mixed Keys: ")
print(Dict)

```

### Other way to create dictionary is by using 

dict function

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

Check length of dictionary using len()

`len(Dict)1 returns length of dictionary.

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

### How to add elements to dictionary

As we do in C++, we can access dictionary values with keys, see


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

While adding a value, if the key-value already exists, the value gets updated otherwise a new Key with the value is added to the Dictionary.

See how dictionary gets updated


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

There is another way to access items.

`dictionary2.get(3)`

## Accessing nested dictionary items

`dictionary2 = {0 : 'zero', 1:{1:"one", 2:"two"}}`
`print(dictionary2[1][2])`

## Deletion

Dict = {1: 'Geeks', 'name': 'For', 3: 'Geeks'}

```
print("Dictionary =")
print(Dict)
del(Dict[1]) 
print("Data after deletion Dictionary=")
print(Dict)
```

Thanks for reading