teleren/devto huggingface dataset:
🗣️📱💬 The Evolution of Voice Assistants: From Siri to AI-Powered Personal Assistants💡📊
Tags: webdev, programming, ai, development
Published: 2023-07-27 10:01:48

Have you ever considered how voice assistants have changed the way we engage with technology? Today, we'll take a look at the intriguing history of voice assistants, from the early days of Siri to today's powerful AI-powered personal assistants! 🌐🚀 

Since its introduction, voice assistants such as Siri, Google Assistant, and Alexa have come a long way. They use cutting-edge artificial intelligence (AI) technologies to recognize and respond to our voice commands, making interactions with our gadgets more intuitive and efficient. 🌈✨

⏳ Voice assistants have evolved into much more than merely information providers throughout time. They've become trusted companions, assisting us with a variety of tasks. Voice assistants have truly altered our lives, from managing our schedules, playing music, and controlling our smart homes to providing personalized recommendations and even assisting with language translation. 🌟🔌💡

🚀 What's more, the best part? Voice assistants are always changing! They are getting more personalized, proactive, and compassionate as AI and machine learning advances. They can understand our emotions, predict our needs, and respond appropriately, resulting in a more human-like encounter. 🤖💬❤️

💡✨ The applications for voice assistants are limitless! They are not only improving customer service and optimizing business operations, but they are also influencing the future of e-commerce, digital marketing, and accessibility. They're even integrating with upcoming technologies like augmented reality and virtual reality to provide immersive and engaging experiences! 🌐📈🌍

So, let us celebrate the strength of voice assistants and their evolution from low-tech to AI-powered personal assistants! 🗣️💪 Tell us about your favorite voice assistant experience or how voice assistants have changed your daily routine! 💬✨

And if you are looking for a development team specialized in building such products as voice assistants - welcome to [Devler.io](https://devler.io/). This platform is created specifically for matching top ideas with expertised developers from Europe.
Simple bash loading animation
Tags: bash, terminal, devops, development
Published: 2023-07-27 09:44:53

---
title: Simple bash loading animation
published: true
description: How to create a simple bash loading animations tick
tags: #bash #terminal #devops #development
# cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v21edz7x1tkzzort3tlj.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2023-07-27 08:56 +0000
---

I was looking for a simple way to achieve a basic **load icon that ticks after a piece of text** in bash, but there was noting I could just easily copy paste. Now I'll provide one for you, no shenanigans, no messing around.

## Short story
I've found this one, [Silejonu's solution on Github](https://github.com/Silejonu/bash_loading_animations) but this is rather a module than something you can copy paste, and sometimes you don't want to add whole dependencies, just a piece of logic.

### So here it is:
```bash
function loading_icon() {
    local load_interval="${1}"
    local loading_message="${2}"
    local elapsed=0
    local loading_animation=( '—' "\\" '|' '/' )

    echo -n "${loading_message} "

    # This part is to make the cursor not blink
    # on top of the animation while it lasts
    tput civis
    trap "tput cnorm" EXIT
    while [ "${load_interval}" -ne "${elapsed}" ]; do
        for frame in "${loading_animation[@]}" ; do
            printf "%s\b" "${frame}"
            sleep 0.25
        done
        elapsed=$(( elapsed + 1 ))
    done
    printf " \b\n"
}

loading_icon 60 "I'm loading!"
```

### And here's what it looks like:
![bash loading animation](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wwoj4pjjtpclfic05q8z.gif)

## Limitations
- Shows a given `loading_message` and after it a small loading icon for the provided `load_interval` seconds.
- After the provided time elapsed the last character of the loading icon is erased and a new line is started (this can be changed by updating `printf " \b\n"`).

---

You can get more animation ideas from [Silejonu, bash_loading_animations file](https://github.com/Silejonu/bash_loading_animations/blob/main/bash_loading_animations.sh), all you have to do is to replace the `loading_animation` variable in the script (don't forget to remove the first element, the interval number).

**Enjoy!** ^^
Crafting the perfect token launchpad
Published: 2023-07-27 09:44:42

## Table of contents

1.  [Our client](#orge84dde2)
2.  [Project description](#org856b835)
3.  [The result](#org0bf2d80)

<a id="orge84dde2"></a>

## Our client

A startup wanting to launch a token came to us, after not having any success with the last technical team. The go-to-market date was close, so we had to fit tight deadlines, while still adhering to our strict standards.


![Website picture](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kp79l7c7qhyjq4t6e0gp.jpg)

<a id="org856b835"></a>

## Project description 💻

We had almost no time, but still had to build a scalable, blazing-fast and secure token launchpad. We picked the perfect toolset to allow for fast but error-free development like **TypeScript** - a typed language for web development and **Solidity** - the industry standard for writing smart contracts on Ethereum blockchain. To save the client money we also leveraged **Serverless** - a cloud computing concept when you only pay for the number of invocations, not the server runtime. Since most of our users were in Korea, using Serverless helped us **save about 80% on backend infrastructure costs.**

From day one we've been able to churn out features fast thanks to our world-class developers and smart technology choices. This allowed us to build a fault-tolerant and a cost-effiecient app. We wisely chosen our deployment provider - **Vercel**, a leading cloud provider which built in analytics and speed insights. Which allowed us to monitor our website and backend performance in close to real time.

_Frontend analytics_
![Frontend analytics](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sheqgaribjpdoln6iirj.png)

_Frontend speed insights_
![Frontend speed insights](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sm59hio9xf90k81viag2.png)

Due to our extensive expertise with auditing smart contracts, we wrote truly secure Solidity code, which was approved by Certik - leading security-focused ranking platform to analyze and monitor blockchain projects.

During the public sale, our team worked round the clock to answer any questions users might have and fix urgent bugs. Thankfully, during launch no bugs were identified by users, so we can call it a success 💯

<a id="org0bf2d80"></a>

## The result 🤝

We've enabled our clients to launch the perfect launchpad and hit all the targets. Continuing to work in close colloboration with the client, now we're developing a NFT marketplace toghether!

---

Need web3 help? [Reach out to us!](https://www.miki.digital/contact)
Announcing the Launch of Godot Community Website: Embracing an Open and Diverse Ecosystem!
Tags: news, godot, godotengine, gdscript
Published: 2023-07-27 09:37:00

Hello fellow Godot enthusiasts and developers!

I'm thrilled to announce the official launch of the Godot Community website at https://godot.community! This community-driven platform aims to bring together Godot users from all corners of the world to foster collaboration, knowledge sharing, and a sense of belonging in the open-source game development community.

🌐 **Embracing Diversity and Decentralization**

For open-source communities like Godot, diversity and decentralization are key strengths that empower community members to freely contribute, engage, and take ownership. Instead of centralizing everything and smacking them all into an official channel, our goal is to embrace a more open and decentralized approach, allowing for a richer and more diverse ecosystem.

🤝 **A Community-Driven Godot Hub**

Godot stands out as an open-source project with a passionate community that doesn't rely on corporate backing. The "everyone can take part of it, and be part of it" philosophy lies at the heart of Godot's success and drives our community. The Godot Community website is a hub where you can connect with fellow enthusiasts, participate in discussions, and share your projects and ideas.

💬 **Diverse Communication Channels**

While an official forum has its merits, we believe that maintaining a diverse array of communication channels is crucial for the long-term growth and vibrancy of the Godot ecosystem. In addition to our website's forum, we encourage community members to interact through platforms like Reddit, social media groups, and more. This approach allows for different perspectives and enables everyone to find their preferred space within the community.

🌟 **Community-Focused and Run**

Our website is entirely community-based and community-run, designed to complement the official channels while focusing on the passionate community around Godot. While the official channel primarily addresses the Godot project itself, our website takes pride in nurturing and supporting the people who make up this wonderful community.

Join us now and be a part of this growing community dedicated to learning, sharing, and fostering a supportive environment for Godot users worldwide!

🔗 Website: [https://godot.community](https://godot.community)

Let's embark on this exciting journey together and make Godot Community the go-to place for all things Godot!

🚀 **Happy Game Development!** 🎮
Web Development Security: Protecting Your Applications from Major Threats
Tags: security, webdev, cloudcomputing
Published: 2023-07-27 09:36:49

**Serverspace on board!**

As we all know, security in web development is an integral point of successful project. The robustness of a web application’s security system determines the preservation of user’s confidential data, the resilience of the web service, and the reputation of the company. In today’s digital economy era, ignoring security issues can be a critical mistake.


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

We prepared an article which includes information about defense techniques and descriptions of frequent web application security threats such as SQL injections, XSS attacks, CSRF attacks and session hijacking. You can already jump into it on our website:

https://serverspace.us/about/blog/web-development-security/
Solved: How to Alexa Setup installation
Tags: alexa, setup
Published: 2023-07-27 09:36:04

Are you problem with how to Set Up your Alexa Echo device? Then need to contact the Smart device helpline expert team today and solve the all types of Alexa Echo Setup installation problem. You can contact the Alexa customer service number +1-844-601-7233 USA/Canada and solve the [Set Up Alexa](https://smartdevicehelpline.com/a-complete-guide-for-alexa-set-up-on-echo-echo-dot-echo-plus/) issues. Our expert team will guide to how to solve itself your Smart device Alexa Echo Dot, Echo Show, Echo Plus issues in a simple and easy ways.
Power of - (hyphen) and git
Tags: git, bash, github
Published: 2023-07-27 09:35:57

The use of `-` with some git commands can really make our life easy. I am listing down some of the commands with which you can use `-` and make your life a lot easy.
### 1. Fetch something from another branch of git
Let's say you have two different git branches in your working directory.
- master
- develop

You have a file/folder named `extras` in **master** branch. Now, you want to have that same file/folder in develop branch as well. There are two different trivial solutions of doing it. 
1. You can merge master into develop
2. Or you can copy paste that file/folder

But we are very lazy we don't want to merge or copy-paste either.
We have a very useful command for that 
Before run this command you should be on the destination branch
```bash
git checkout master -- extras
```
### 2. Checkout to the previous branch
Let's say your have two branches named:
- abc/add-feature1-to-add-accessibility
- abc/add-feature2-to-add-scalibility

Let's say, currently, you're on `feature1` branch. Then you switch to `feature2` branch using `git checkout <BRANCH_NAME>` command.

Now you want to go back to `feature1` branch. Well what you will do is use the same `checkout` command we used earlier with the `feature1` branch name.

But WAIT!!!

There's another way of doing it. Just type the `checkout` command with `-` instead of `branch name`.
```
git checkout -
```

And here we go we will simply checkout to the previous branch where we were before checking out to the current branch.
Get Fix it: Alexa Won't Connect to Wi-Fi
Tags: alexa, wont, connect, wifi
Published: 2023-07-27 09:35:01

If your Alexa not connecting to a WiFi device and problem with how to troubleshoot to solve it then you need to contact the Alexa expert team today through the Alexa customer service number +1-844-601-7233 USA/Canada and get the troubleshooting method to solve [Alexa won’t connect to Wi-Fi](https://smartdevicehelpline.com/alexa-wont-connect-to-wi-fi/) problem in a simple and easy way. without taking any tension and contact the Alexa professional expert team today. They will provide informative knowledge to solve all types of Alexa Echo connectivity issues.
Troubleshooting like a Doctor
Published: 2024-01-21 02:36:10

---
title: Troubleshooting like a Doctor
published: true
date: 2023-07-27 09:31:52 UTC
tags: 
canonical_url: https://write.as/kelvintaywl/troubleshooting-like-a-doctor?pk_campaign=rss-feed
---

I had recently been introduced to [the SOAP acronym](https://en.wikipedia.org/wiki/SOAP_note) used by medical professional by my brilliant manager.

This was really interesting for me, given that I had no prior “professional” experience or course on advising and troubleshooting.

We can draw many parallels indeed in technical support.

**Subjective** :

- _“Well, it worked on my local machine.”_
- _“Our builds started failing from last Wednesday.”_

**Objective** :

- Obtaining and investigating build logs
- Extracting details from shared screenshots
- Verifying dependent external services are/were not down

**Assessment** :

Failed builds relied on a remote service which had recently introduced breaking changes. Likely, the customer ran on their local machine before the change was introduced.

**Plan** :

Share assessment on remote service, and confirm if the customer's reruns on local machine fail now with the same error.

Proceed to share workaround or solution if available.

[buy Kelvin a cup of coffee](https://www.buymeacoffee.com/kelvintaywl) ☕
Solved it: How to Fix Alexa Error 701
Tags: alexa, errors, code
Published: 2023-07-27 09:31:00

Are you facing an issue with Alexa Error Code 701? Then contact the Alexa expert today and get the best solution for the **[Alexa error 701](https://smartdevicehelpline.com/fix-alexa-error-701/)** problem. You can get troubleshooting knowledge from the professional expert team. You need to contact the Alexa customer service number +1-844-601-7233 USA today and talk with our experienced expert team. They will resolve all types of Alexa, Echo Dot, and Echo Show errors in simple and accessible ways.
Swap Base class methods in Python
Tags: python, programming, oop
Published: 2023-07-26 16:39:00

## Problem Statement 
Recently I came across this problem where I had to "swap" out a function in a Base class.

I had a base class `Base` and a bunch of derived classes: `Derived0..N` 

``` python
class Base:
  def __init__(self, a, customs=None):
    self.a = a

  def base_func(self):
    print(f'Printing from base: {self.a=}')

class Derived0(Base):
  ...
#
#
#

class DerivedN(Base): 
  ...

```

I wanted some of the derived classes to use a custom function instead of the `base_func`, i.e. override the functionality. 

``` python
def custom_func(self):
  print(f'Printing from fancy custom func: {self.a}')
```

## Solution
Ideally, I should have simply overridden the Base class function, but I did not want to write the same implementation for each derived class. 

Instead, I updated the base class to accept a way to override a member function, and let the derived classes pass along their implementation to swap out base functionality. 

``` python 
from functools import partial
class Base:
  def __init__(self, a, customs=None):
    self.a = a
    self.customs = customs or {}

    for func_name, func in self.customs.items():
      current_func = getattr(self, func_name, None)
      if callable(current_func): 
        setattr(self, func_name, partial(func, self))

  def base_func(self):
    print(f'Printing from base: {self.a=}')

```

Call changed to: 
``` python
d = Derived0(5, {'base_func': custom_func})
d.base_func()
```

Prints: 
```
Printing from fancy custom func: self.a=5
```

### Use of partial 
I used [functools.partial](https://docs.python.org/3/library/functools.html) to bind the function call with the object it will be called with, when called via derived class. 

### Use of self in custom function 
`self` will be required in the custom function to allow access to other attributes of that object.
How to Distinguish Between Genuine, Fake, or Scam Websites?
Tags: website, ssl
Published: 2023-07-27 08:57:51


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pugo5yctsxhfc9mz0pkd.jpg)
In today's modern era, when our lives revolve around the internet, we may encounter numerous unfamiliar websites. While the online world offers a wealth of information and resources, it also attracts scammers and deceptive websites. Falling victim to these fraudulent sites can have severe financial and personal consequences if caution is not exercised. Hence, understanding how to find the legitimacy of a website is equally important.

Within the United States only, approximately one out of every ten, fall prey to online scams and fraud due to the proliferation of websites, technological advancements, and various forms of cybercrime.

We've compiled some valuable tips that will help you in [Determining the Authenticity of a Website](https://certerassl.com/blog/know-if-a-website-is-legit-fake-or-a-scam) and distinguishing the legit ones from the fake ones.

1.	Properly Analyze Domain Name and its Age
2.	Check Privacy Policy of Website
3.	Look for SSL Certificate
4.	Perform a Virus Scan
5.	Verify Contact Information
6.	Read Online Reviews of Website
Apache AGE: Simplifying Graph Queries with PostgreSQL
Published: 2023-07-27 08:23:16

**Apache AGE** is an exciting addition to the Apache Spark ecosystem, offering a user-friendly way to run complex graph queries directly on PostgreSQL data. Developed by the Apache Software Foundation and currently in its incubation stage, this open-source project brings a novel approach to graph analytics.

What makes Apache AGE stand out is its ability to execute graph queries without the need to transfer data to a separate graph database. By doing so, it not only streamlines the query process but also reduces the complexity and cost of managing multiple data storages.

Users of Apache AGE can effortlessly perform advanced graph queries like path queries, pattern matching, and subgraph queries. Leveraging the distributed computing capabilities of Apache Spark, this extension proves to be a scalable solution for handling large datasets.

In summary, Apache AGE is a powerful yet user-friendly tool that enables efficient graph queries on PostgreSQL data. Its popularity among data scientists, researchers, and developers continues to grow, providing a valuable resource for optimizing graph analytics workflows.
Discovering PostgreSQL: A Reliable Database System
Published: 2023-07-27 08:16:54

**PostgreSQL**, also known as Postgres, is a type of database software that is free to use and can handle complicated tasks, making it very reliable and adaptable. It is a powerful and popular system used to store and organize data.

PostgreSQL works well with a language called SQL, which is commonly used to manage databases. It can also work with many other programming languages, making it very flexible for developers to use. Unlike other database systems, PostgreSQL supports object-oriented programming, JSON and XML data types, and other useful features.

**Internal structure of PostgreSQL**
One of the best things about PostgreSQL is its ability to handle large amounts of data and perform well even under heavy use. It is also very dependable and can keep data safe and consistent. This makes it a great choice for important applications and big organizations.

Internally, PostgreSQL is made up of various processes that work together to manage client requests, handle data storage, and perform other important tasks. The system ensures data consistency using a method called Multi-Version Concurrency Control (MVCC), which allows multiple transactions to access data at the same time without causing problems. PostgreSQL also uses shared memory for efficient data access and write-ahead logging (WAL) to make sure changes to the database are safe.

**Conclusion**
PostgreSQL is a powerful and versatile database system that can handle complex tasks and is trusted by developers and organizations. Its internal architecture is well-designed, ensuring data integrity, performance, and reliability, making it a popular choice for managing data in various industries.

GitHub:-https://github.com/apache/age
Apache-Age:-https://age.apache.org/
Programming Ashram
Tags: webdev, javascript, beginners, tutorial
Published: 2023-07-27 08:16:15

Talent Management 
& Preparation Platform
Kickstart your learning here.

Learn one-on-one with our highly qualified mentors in a safe online environment.

https://programmingashram.in/
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/foico1z3exh3o4bwpkid.jpeg)
Planet Crust, the driving force behind Corteza, announced the release of Corteza 2023.3.2
Tags: release, update, opensource, lowcode
Published: 2023-07-27 08:12:53


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n0xkiux62xg2otg99wl6.png)
Corteza is a 100% open-source low-code, rapid application development, business process and integration platform, developed and maintained by Planet Crust.

Check out the new features, changes and fixes of Corteza 2023.3.2:
https://www.planetcrust.com/planet-crust-releases-corteza-2023-3-2
how to make node.js and express.js run on the same server?
Tags: node, express
Published: 2023-07-27 08:12:43

long story short: **just keep the ports different**.

for e.g., if nodejs is running on 3000, then make express.js run on 3001

Because they cannot both listen on the same port at the same time. If you try to do this, you will get an error.

you can use the below code

```
const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.send('Hello, world!');
});

app.listen(3000);
```

Once you have both Node.js and Express running on different ports, you can access your application by visiting http://localhost:3000 for the Node.js server and http://localhost:3001 for the Express server.