teleren/devto huggingface dataset:
NumToWordsGo
Published: 2023-08-22 18:50:05

NumToWordsGo is a lightweight and efficient Go library that provides a simple function to convert numeric values into their corresponding word representation. With this library, you can easily convert numbers to words, making it useful for applications that require human-readable number formatting or text generation.

Find the [repository](https://github.com/yousifnimah/NumToWordsGo)
🚀 Discover Comprehensive Programming Language Roadmaps at roadmap.sh
Tags: programming, webdev, roadmas, learning
Published: 2023-08-22 18:48:57

🚀 Check out this awesome website that provides programming language roadmaps! 🌐 It's a comprehensive resource to guide you through learning different programming languages. 📚 Start your coding journey today! 💻 
https://roadmap.sh/
Event Capturing and Event Bubbling in JavaScript: Exploring DOM Event Handling Mechanisms
Tags: javascript, webdev, frontend, browser
Published: 2023-08-22 18:41:32

![Event Capturing and Event Bubbling](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l5eevptkr0d7o8rgs59m.png)
Event capturing and event bubbling are two different mechanisms through which events are handled in JavaScript. These mechanisms determine the order in which event handlers are executed when an event occurs on an element that is nested within other elements.

## Event Capturing (also known as the "capture phase"):

- In the capture phase, the event is first captured by the outermost element and then propagated inward to the target element.

- During this phase, the event travels from the top of the DOM hierarchy down to the target element.

- The capturing phase is not commonly used in practice and is optional in event handling.

## Event Bubbling (also known as the "bubble phase"):

- In the bubbling phase, the event is first handled by the target element's event handler and then propagated upward through the DOM hierarchy.

- During this phase, the event travels from the target element up to the topmost ancestor.

- This is the default behavior for most DOM events.

To illustrate the concept, consider the following HTML structure:

```html
<div id="outer">
  <div id="inner">Click me!</div>
</div>
```
If you attach event handlers to both the outer and inner elements for a click event, and then click on the inner element, the order of execution will be as follows:

1. Event Capturing Phase: Event handlers attached to the outer element are executed (if any), starting from the topmost ancestor and moving inward toward the target element.

2. Event Target Phase: The event handler attached to the inner element is executed.

3. Event Bubbling Phase:

- The event handler attached to the inner element is executed (again).

- Event handlers attached to the outer element are executed (if any), starting from the target element and moving upward toward the topmost ancestor.

By default, events in JavaScript follow the event bubbling mechanism. However, you can explicitly enable event capturing by setting the capture option to true when adding an event listener using the addEventListener() method. For example:

`element.addEventListener('click', handler, true);`

In the above code, the event handler will be executed during the event capturing phase.

Both event capturing and event bubbling are useful in different scenarios, depending on the desired behavior and event handling requirements.

If you found this helpful please give a like, follow for more posts. 
Thanks for your time.
Building What Matters, Not What's Fun
Tags: developers, javascript, buildinpublic, webdev
Published: 2023-08-22 18:41:12

We, developers, love to build. It's in our DNA. Given free rein, we'll eagerly construct complex systems just to test our skills. But while technically stimulating, these "**_toy projects_**" done in a professional context can be detrimental. 

On your own time, build whatever you want. But at work, restrain the urge to over-engineer, overbuild, or meander down rabbit holes. No matter how cool the tech is, if it doesn't align with business requirements, you're wasting precious time and resources. 

The hard truth is most business leaders don't care about the elegance of your code or the complexity of your algorithms. They care about delivering business value. Fancy features or architectural flourishes that don't move the needle on product metrics are distractions.

So stay focused on building what matters to the product and customers. Refrain from overcomplicating things by adding unnecessary features. Refactor mercilessly to keep things lean. Align your work to iterative requirements, not theoretical use cases. Deliver pragmatically. 



> **Great developers deliver the right capabilities at the right time. They don't churn out toys. Build what's needed today, not what might be interesting someday.** 

By maintaining deliberate focus, you will earn the respect of your managers and satisfy your customers.

What do you think? Have you seen toy project syndrome undermine delivery? What tips do you have for staying focused as a developer?


 I'd love to hear your perspectives!

Connect me on [Linkedin](https://www.linkedin.com/in/lakin-mohapatra/), [Twitter](https://twitter.com/lakincoder), [Instagram](https://www.instagram.com/lakin_codes/)
Cognito user verification via SNS stopped working?
Tags: aws, cognito, sns, amplify
Published: 2023-08-22 18:39:29

Some time back, AWS started restricting the SMSs sent from SNS service. The restriction is for senders without any Origination IDs aka long code (phone number) or short code. This is basically to stop spammers.

If user verification from Cognito was working before, and it does not now, the reason would be this.

You would see this error in the logs.

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

For this, you would need to get an Origination ID from AWS Pinpoint.

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

which takes you here

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

From there, go to request phone number using this form

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

This would cost $2/month.

Once this is set up, the verify code should start coming.
git switch khác gì git checkout
Tags: git, beginners, todayilearned
Published: 2023-08-22 18:16:48

khi "học git" bạn thường thấy lệnh `git checkout ...` 

nhưng lâu lâu bạn lại thấy cái `git switch`, vậy nó là cái gì? 

à, thì nó là như sau: 

- `git switch` dùng để "thay đổi branch", thay vì lúc trước mình dùng lệnh `git checkout <branch-name>` 
- `git restore` dùng để reset (trả lại trạng thái cũ) của các file về 1 phiên bản (revision) trước đó, giống như `git checkout -- <path-to-file>` 

cái vụ này do lúc xưa, các cụ tác giả của `git` họ làm cái lệnh `git checkout` có quá nhiều công dụng đi, khiến cho newbie rối não, nên từ version `2.23` mấy bạn ấy mới bổ sung 2 cái lệnh này cho đỡ rối (hoặc làm rối thêm 🤣 ) 

nhưng nó chỉ đơn giản vậy thôi.
How to Increase Website Traffic
Published: 2023-08-22 17:57:47

I
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nqmte3kz9hdkjkxftbhu.jpeg)n today’s world, creating a website is one of the most important steps toward small business success. It’s the foundation that allows you to build an online presence and grow your business.

After all, you can learn alot about the people who visit your website and turn them into an advocate, partner, or client with the right set of tools. If any of these things happen, it’s a win. Now, how do you get visitors to your website?

Try the following approaches to learn how to increase website traffic.

How to get more brand traffic on your website
1. Optimize your content with keywords
When you optimize your content with keywords relevant to your business, the process is known as search engine optimization (SEO). Many business relationships are formed after someone types a word or phrase into a search engine to find a website. Knowing the search terms people use to discover your website makes it easier to draw in more visitors. Certain terms may be specific to you, such as a brand or product name. Or, they can be attributes or benefits like “all-natural,” “free delivery,” or something else that sets you apart.

In Google Analytics, you can view what terms your website visitors have used to find you in the past and use those keywords to help you optimize yo....[Read More](https://shorturl.at/glyPU)
How to create web headlines that slides in JavaScript
Tags: webdev, javascript
Published: 2023-08-22 17:51:54

Basically all is well but I want to make my web look more good for people. I want to implement headlines that flips or slides on top before the posts. Would anyone recommend the code here? Also I would want to know if it’s possible and idea to do so looking at the design of my website at [Smart Men Dating Rules](https://www.stds.online). Please help and feel free to contact me through info@pamulomo.com
Mega Transfers: Get the Best Luxury Car Chauffeur in London
Tags: webdev, javascript, beginners, programming
Published: 2023-08-22 17:50:48

- 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ghdd50ir5n5zpqrzgupe.jpg)
With more than 15 years of experience in the industry, our firm has made its way to the top of the luxury airport transfers list.
- We keep state-of-the-art vehicles.
- We are highly committed to excellence and customer satisfaction.
- Your private car [hire with driver in London](https://www.megatransfers.com/) will be more affordable than you expect.
How to Increase Your Website Traffic Without SEO
Published: 2023-08-22 17:45:42

SEO can be a brilliant strategy to increase your website traffic but it isn’t always enough. 

Imagine you rely on SEO for all your traffic. What happens when the Google algorithm changes? You risk losing potential customers! 

That’s why diversifying your methods of increasing web traffic can offer better results. If you have multiple traffic sources, changing algorithms won’t completely halt your business. You will have a toolkit full of optimization strategies to keep your business running. Diversifying your web traffic can also be helpful in cases where there...[Read More](https://shorturl.at/xCKLP
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ogjw6ix5s0qgn7hu2zpi.jpeg))
Composite Record Producer, a upgrade to Record Producer
Tags: servicenow, recordproducer
Published: 2023-08-22 17:25:34

We all love our ServiceNow Record Producer (RP). They are a great tool to collect information on a portal to kick off a process. 
Record Producer are creating one record in a table of your choice. Personally, I prefer Record Producer compared to Catalog Items.

Maybe you also have the requirement to not only create one record in a table, instead create two or more records in different tables. 
With Composite Record Producer (CRP) you can do that! The only thing is, the second record table needs to have a connection to your main table as a reference. That means you can create a new material request and also directly create the associated account if needed.

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

If you create a new CRP you will see the normal RP form where you can choose the table in which the record will be saved in. You can create variables, the same way you would with Record Producers. The biggest difference is that you have a related list entry to "Create a producer set". 

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

In the producer set you will need to define the target table and the reference field that links the target table to your original CRP table. 

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

After that you can add variables to that producer set the same way you always did. The values of those variables will be then saved in the second record created from your producer set.

Pretty powerful no? Have fun exploring and happy building :)
First week of coding boot camp
Published: 2023-08-22 17:23:45

Coding is about learning new things constantly. Communicating with the community for your intellectual benefit and to help others that need a better understanding of things you have already learnedIs also a part of being a coder. It is common to have imposter syndrome when first starting but that just means you're more motivated than others because you leaped to take initiative and better yourself for a future career.
Literals in Python
Published: 2023-08-22 17:22:15

Literal is a raw data given in a variable. There are various types of literals:

# Numeric Literals
a = 0b1010 -> Binary literals
b = 100 -> Decimal literals
c = 0o1010 -> Octal literals
d = 0x1010 -> Hexadecimal literals
float_1 = 10.5
float_2 = 1.5e2 (1.5 * 10 to the power 2)
float_3 = 1.5e-3 (1.5 * 10 to the power -3)


# String Literals
string = 'I am Heba'
strings = "I am Heba"

multiline = """This is a multiline string. """

# Boolean Literals
a = True + 4
o/p = 5

b = False + 10
o/p = 10

# Special Literals
a = None
This is useful when we want to declare a variable that doesn't have to be assigned a value at the moment.
Taking user input in Python and Type Conversion
Published: 2023-08-22 17:09:31

-- input(prompt = "Enter your name: ")
or
-- input("Enter your name: ")

Whenever we take user input using the input function, then the user input is always returned in string format. This is because string is a universal format. It can hold other data types. The vice-versa is not true.

To check the datatype of a variable, we use the type() function as follows:

-- type([1,2,3,4])
output : list

To convert the datatype of a variable, we perform Type-Conversion .

#Types of Type-Conversion:

-  Implicit: Python automatically performs type conversion behind the scenes.

-  Explicit:

Eg: int(4.5)
o/p : 4

Eg: float(4)
o/p : 4.0

Eg: str(4)
o/p : '4'

Eg: bool(4)
o/p : True

Eg: list('Hello')
o/p : ['H','e','l','l','o']

Type conversion is not a permanent operation.


#Program to add two numbers:

first_num = int(input("Enter 1st number: "))
second_num = int(input("Enter 2nd number: "))

result = first_num + second_num
print(result)
Skyramp: Test Easy in Any Environment with GitHub Codespaces
Tags: vscode, javascript, kubernetes, github
Published: 2023-08-22 16:57:02

Skyramp makes it easy for devs to test distributed apps for function and performance—on their own, with surrounding dependencies, under real-world conditions. In this video we show how easy it is to test and mock microservices in Kubernetes clusters in any dev environment using GitHub Codespaces and Skyramp Distributed TestKit.


[Watch the video](https://www.skyramp.dev/blog/test-easy-in-any-environment-with-github-codespaces/), or get started now with Skyramp for [CLI](https://www.skyramp.dev/docs/reference/cli-commands/) or [VS Code](https://marketplace.visualstudio.com/items?itemName=skyramp.mocker-vscode).
$ruby_variables
Tags: ruby, webdev, backenddevelopment, learning
Published: 2023-08-22 16:28:56

## Introduction

Coming from Javascript background, I found ruby variable declaration a bit simple. Simple in a bad way. I was introduced to declaring Ruby variables as:

```ruby
variable_name = [1,2,3,4]
```

This may seem great. After all, there is no need to "memorize more syntax"; however, issues arise when code gets more complex.

## Issues

When it comes to scoping. How was I sure that my variable was local and not global? Well easy enough right? I just had to make sure that I declared the variable outside a function to make it global and inside a function to make it local.

As I am writing this, I am realizing that the issues I have with ruby variable declarations is less functional and more syntactic. I would like to have a way to declare a variable and also the type of variable.

## What I learned

As I was reading documentation for Classes and Objects in Ruby, I felt as if an angel had answered my prayers. There is more to meets the eye when it comes to declaring variables in Ruby.

In order to understand some of these variables you must be familiar with classes and that is what my next post is about. I will introduce them here and explain them more in depth on my next post.

1.Local variables

Local variables is what I was initially introduced to. To declare a local variable, you have two options. Declare the lowercase variable name within the block you want to access it in or place an underscore before the variable name.

```ruby
_var_name = 1
```

2.Instance variables

Instance variables are limited to what an object itself refers to and different objects (class instances) of the same Class are allowed to have different values for the instance variable. It is declared with an @ prior to the variable name. Does this look familiar when using erb?

```ruby
@var_name = 2
```

3.Class variables

A class variable is a static variable that persists throughout each instance of a class. If it gets modified in an instance it is modified in all instances. In order to declare this variable, you write @@ prior to your variable name.

```ruby
@@var_name = 3
```

4.Global variables

Although declaring global variables is frowned upon for clouding the global namespace and causing unintended bugs. There is also a way to declare global variables in Ruby. Kind of similar to declaring local variables, if you want to declare a global variable just declare the lowercase variable name in the global scope. Luckily, we can also prepend the $ sign to visually see that it is a global variable.

```ruby
$var_name = 4
```

## Conclusion

Ruby variable declaration is not as simple as I thought. Understanding these different variable declarations have helped me understand the need for an @ sign in some of my previous code; as well as, understand Classes in a deeper level.
Day 7/100- Conquering Challenges on LeetCode
Published: 2023-08-22 16:20:37

Hello everyone,

Day 7 of this coding journey has been all about embracing challenges and putting my skills to the test on a new platform—LeetCode! 💻

Today, I decided to switch things up and dive into some problems on LeetCode. It's an exhilarating experience to tackle a variety of questions that push me to think critically and apply my coding knowledge.

Solving problems on platforms like LeetCode not only enhances problem-solving skills but also exposes us to different approaches and techniques used in the coding world.

As I wrap up today's update, I'm feeling accomplished and motivated to keep exploring new avenues within the coding realm. Remember, each challenge we overcome is a step closer to our coding goals.

Stay determined,
Sivaraghavi
Day 6/100: Navigating Challenges and Embracing Learning
Published: 2023-08-22 16:19:46

Hello everyone,

Day 6 of my coding journey has been a day of revelations and decisions. 🚀

I dedicated today to my ongoing project, the hotel management system. As I delved deeper into it, I realized that there are quite a few topics I need to brush up on to truly make this project shine. It's an important realization that highlights the value of continuous learning and growth.

With this in mind, I've decided to take a small break from the project. This break isn't a step back—it's a chance to gather more knowledge, sharpen my skills, and come back to the project with a stronger foundation.

Balancing between pushing forward and taking a step back to learn is crucial. Remember, taking a break doesn't mean giving up—it means making a strategic move to ensure better results in the long run.

Stay curious and keep learning,
Sivaraghavi
10k Stars
Tags: github, architecture
Published: 2023-08-22 16:00:00


![Star History August 2022](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nptnk66xw7ytya4fgipf.png)
*Note, this blog is from August 2022 is being added to Dev.to retroactively.
 
## “It's tough to make predictions, especially about the future.” - Yogi Berra

Three months ago, our wildest dream was to reach a thousand stars by the end of this year. Even then, people around us were skeptical this could be achieved. When we reached 5K stars in June, we immediately updated our goals to 10K stars by the end of the year. By now we understand that we lack the ability to predict the future, but at least we can try to explain what we think is the reason behind this surge.

## Good market fit

We innovated in the field of in-memory stores, which are tremendously popular. Any innovation in this field sparkles significant interest from the community. You can see how vibrant the [Hacker News discussion](https://news.ycombinator.com/item?id=31560547) was on the first day of our launch.

But this alone is not enough to explain the star trend. We have seen projects with incremental improvement that did not see similar growth. This brings us to the second major factor:

## State-of-the-art engineering

We redesigned the engine using novel algorithms and data structures, innovating around lockless multithreading, memory structures, caching algorithms, and snapshotting. Our goal of providing a simple, cost-efficient, and reliable in-memory store strongly [resonated](https://www.reddit.com/r/programming/comments/wiztpx/comment/ijf4cva/) with the engineering community. And yes, we read and learn from all your public [posts and comments](https://www.reddit.com/r/programming/comments/wiztpx/redis_hits_back_at_dragonfly/), sometimes with the help of [Google translate](https://www.infoq.cn/article/AlF5NIhHdskayl0MTyQG).

## What’s next?

So first of all, we want to thank you for your comments, your interest, and your enthusiasm. 10K is just a round number, and we thought it deserves a post. But really nothing changed with regard to our plans. We are focused on building the best in-memory store in the universe. Our eyes are on maturing Dragonfly and extending its APIs. We know that stars are just an initial metric, and it’s our responsibility to live up to the expectations you set for us.

**Thank you for your support!**

Oded and Roman