teleren/devto huggingface dataset:
GNU Telephony facility automation
Tags: news
Published: 2023-07-17 11:36:54

This weekend I distributed very early releases of the new Apollo telephony integration server, the new Partisipate Qt desktop client, and the already mature Coventry calling server, to use for browser admin clients, generic sip devices, Babylon facility automation, and Partisipate desktop softphones. This will finally begin their co-development as a cohesive whole.

This constitutes a vision for unified facility communication and automation as long described on the Coventry wiki on codeberg. One goal is that facilities (homes, offices) will eventually have their very own interactive ai driven voice and chatbot. Another goal is fully local autonomous operation.

All project sources have been gathered on codeberg at https://codeberg.org/gnutelephony for development convenience. All active components are under FOSS licensing and open to public participation. The ideal target platform would be a sbc or embedded router running AlpineLinux or NetBSD from which all running services can be telephony, voice, and chat ai enabled.
DX, responsible autonomy!
Tags: devex, dx, autonomy
Published: 2023-07-17 11:30:00


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

Hey guys! Are you all right?

Today I’m going to talk about an important aspect of having a good DX for internal employees: autonomy and responsibility.
Autonomy means being free to choose the tools, methodologies, and processes that best suit your needs and preferences. Responsibility means assuming the consequences of your choices and delivering quality results.
Having autonomy and responsibility is essential to having a good DX because it allows you to work with more efficiency, creativity, and satisfaction. You don’t have to rely on bureaucracy, approvals, or restrictions that can disrupt your workflow. You can use the most appropriate technologies to solve the problems you face. You can try innovative solutions and learn from your mistakes. You can feel more motivated and engaged with your work.
But how to achieve autonomy and responsibility in your company without creating chaos? Write it down so you don’t forget:
- Communicate with your team and your managers about your expectations, goals, and challenges. Align your priorities and goals with those of the organization.
- Seek constant feedback on your performance and that of your projects. Take advantage of opportunities for improvement and recognition.
- Demonstrate proactivity, initiative, and commitment to your work. Show that you can make sound decisions and solving problems independently.
- Respect deadlines, quality standards, and good development practices. Make sure your code is readable, testable, and documented.
- Collaborate with your colleagues, share knowledge, and contribute to team growth. Learn from the experiences of others and offer help when needed.

By following these tips, you can gain more autonomy and responsibility in your company and have a better DX for internal employees.

Hope you enjoyed this article!

Thank you for your attention and see you later!

[Armando Guimarães Junior](https://www.linkedin.com/in/armandojr/) 🥑
Libraries You Should Know As A React Developer
Tags: webdev, javascript, nextjs, programming
Published: 2023-07-17 11:24:24

7 React Libraries Every Developer Should Know: Enhance Your React App Development
Are you a React developer looking for ways to enhance your React app development? Look no further than these seven React libraries that can help you take your app to the next level! Each of these libraries offers unique features that can help streamline your development process and add powerful functionality to your app.

1. React Joyride
🔗 https://react-joyride.com/

If you’re looking to create walkthroughs and guided tours for your React apps, React Joyride is the library for you. With React Joyride, you can easily create engaging onboarding website experiences for new users or showcase new features to existing users.

2. Material UI
🔗 https://material-ui.com/

Material UI is the largest component library for React, and it’s used by major companies like Spotify, Amazon, and Netflix. With Material UI, you can easily add beautiful and functional components to your app, including buttons, menus, and more.


Material UI
3. React PDF Renderer
🔗 https://react-pdf.org/

Creating PDF files can be a tedious process, but with React PDF Renderer, you can use React components to make it a breeze. This library offers a simple and intuitive way to create PDFs, so you can focus on creating great content for your users.


React PDF Renderer
4. React Beautiful DnD
🔗 https://react-beautiful-dnd.netlify.app/

Drag and drop interfaces are a must-have for many React apps, and React Beautiful DnD makes it easy to create them. This library offers a wide range of features and customization options, so you can create drag and drop interfaces that are tailored to your specific needs.


React Beautiful DnD
5. Swiper.js
🔗 https://swiperjs.com/react

Swiper.js is a library that helps you create swipeable interfaces in your React apps. With Swiper.js, you can create engaging and intuitive interfaces that your users will love.

6. React Query
🔗 https://tanstack.com/query/latest/

Data management can be a challenge in React, but React Query makes it simple. With React Query, you can easily manage data fetching, caching, and error handling using simple hooks.

7. React Spring
🔗 https://react-spring.io/

If you’re looking to add eye-catching animations to your React app, React Spring is the library for you. With React Spring, you can create stunning animations that will keep your users engaged and interested.


React Spring
These React libraries offer a wide range of features and functionality that can help take your app to the next level. Whether you’re looking to add drag and drop interfaces, create engaging website experiences, or add beautiful components to your app, these libraries can help you get there.
Help for our product validation journey
Tags: nlp
Published: 2023-07-17 11:22:03

Ciao Fellow Devs! 

I am Domenico from Screevo.ai 😊 You all know how hard product validation can be and I would really appreciate your support in my journey. We are planning the launch of a new product and I am conducting a survey among software developers working (or planning to work) with natural language processing. Could please take a look and help me circulate the following link within your network? [](https://stpnb5gkjdt.typeform.com/to/LHm0QHsi)

https://stpnb5gkjdt.typeform.com/to/LHm0QHsi

Thank you so much 🙏
DO NOT use 'skip' to paginate in mongoose 🫣
Tags: node, mongoose, performance, paginate
Published: 2023-07-17 11:07:11

In this post, we won't talk about pagination definition, although we will go through how to perform pagination with another approach. It's preferred to have a background of what index is in databases.

In usual, there is no web application without a pagination feature.  As it will be madness if we decide to display all the documents existing in the database on one single page! 😅

And the reason behind this is the cost of reading all documents all at once from the database, and send this duty heavy payload through the response.

Usually, the following code is used to perform pagination using mongoose in nodejs

```javascript
await User.find().skip(0).limit(10)
```
This statement will query the users in the `User` model and select the first 10 documents but without skipping any document as the value for `skip` method is 0.

But what if we need the 'second' 10 documents, i.e. the 11th document to the 20th. We will rewrite the above statement to be 👇

```javascript
await User.find().skip(10).limit(10)
```

The cost behind this statment, that it will scan all documents from the beginning to only be able to 'skip' whatever the number you pass as an argument! That means if you need, for instance, to skip the first 100 documents, it will go through all these documents as well to be able to skip them!

As a result, performance decreases as the number you pass increases because using 'skip' will make the query take longer to execute. 😕

## So, what is the alternative approach 🤔?


Simply, we can use **indexes** and work with **range queries** to prevent scanning unneeded documents.

We can apply this by using a combination between `sort` method and `$lt` or `$gt` operator, but you should pass an indexed field _as _id_ to the `sort` method .

This approach is called **Cursor-based pagination** 

Cursor-based pagination works by returning a cursor _as an ObjectId or a timestamp_ that represents the position of the last document in the current page. The next page can then be retrieved by passing this cursor to the query, which will return the documents that come after the cursor.
For example 👇

```javascript
await User.find( { _id: { $gt: currentCursor } } ).sort('_id').limit(10)
```

And to be accurate this approach also has a downside 😞, what if any of the documents in the `User` model is updated or deleted! The **cursor** may not be accurate in the case, and by fault, some documents could be ignored!

So finally, we could say that these are two different approaches to perform **pagination**, and each one has its downsides, so you should carefully choose which one will be better depending on the case you work on. 😄
I miss you 😞
Tags: web3, webdev, javascript, beginners
Published: 2023-07-17 10:59:41

I must admit, expressing this sentiment might make me seem dated, but I find myself longing for the internet of yesteryears—the genuine internet that we once knew. Everything seemed less complicated back then, even though it has now become so much more intricate.

Around the year 2001, I embarked on my initial online journey. It was a time when the 90s had concluded, and the world was progressively embracing the online realm. Coincidentally, during this period, I was also breaking free from my introverted shell and developing a stronger sense of self-awareness.

It was on Absolutepunk.net, in the countless threads, that I discovered a version of myself that extended beyond the confines of my family, religious upbringing, and the strictly conformist society I was accustomed to. This online platform became my haven, where I could engage in discussions about music, delve into my passions, and explore my true identity—the person I aspired to become.
A web-app to convert images into CSS Gradients to use as a placeholder skeleton loaders.
Published: 2023-07-17 10:59:20

Repo: [https://github.com/dulajkavinda/gradientify](https://github.com/dulajkavinda/gradientify)

We're living in an age of rapid technological evolution, where mind-blowing innovations are almost a daily occurrence. And in this buzzing world of web development, there's one cool tool that's been turning heads recently. It's an innovative web-app named Gradientify, which whips up a delicious cocktail of technology and design, and serves it straight up to create a killer user experience.

So, what exactly is Gradientify?

Well, Gradientify is a web-based application that performs a bit of tech wizardry: it turns your everyday images into slick CSS gradients. This bad boy can work wonders as a placeholder or a skeleton loader, effectively squashing the annoying issue of slow-loading high-resolution images. With Gradientify's gradient placeholders, web pages can stay snappy and aesthetically pleasing while the real content does its thing in the background.

Why is Gradientify a game-changer?

**Speeding Things Up:** Using CSS gradient placeholders instead of hefty images means your website can load content at lightning speed, and nobody gets left twiddling their thumbs.

**Consistency is Key:** Gradientify helps developers craft a skeleton of the content in matching colors. It's like giving users a sneak peek of the upcoming show, maintaining the visual harmony of the page.

**Efficient Bandwidth Use:** Fewer images to load means less bandwidth used. For folks with limited internet connections, that's a pretty big deal.

**Tailor-made Aesthetics:** Gradientify is a chameleon, adapting to the specific needs of your web design. Whether you're going for a minimalist vibe or a vibrant aesthetic, it's got you covered.

Ease of Use: Whether you're a web development guru or a newbie, Gradientify's user-friendly interface is a breeze to navigate.

How do you use Gradientify?

Operating Gradientify is as easy as pie. Simply upload your image, and let the app's algorithm do its thing. It'll analyze the colors and patterns of your image, and presto! You've got a CSS code snippet of a gradient that mirrors your image. This snippet can then moonlight as a placeholder while your actual content loads.

Play around with different settings, like gradient types (linear, radial), gradient direction, and color stop positions to add your unique touch.

Wrapping up

In the ever-evolving world of web development, Gradientify is a giant leap forward, tackling both aesthetic and performance hurdles with style. It's more than just a tool – it's a revolution. With Gradientify, we can create beautiful, high-performance websites that not only meet the needs of digital users but also deliver a seamless, enjoyable experience.
Oracle all tables count Row
Tags: uyumsoft
Published: 2023-07-17 10:53:55

```
select owner, table_name, nvl(num_rows,-1) 
from all_tables
WHERE owner = 'XXX'
AND nvl(num_rows,-1) >0
order by nvl(num_rows,-1) desc
```

```
select
   table_name,
   to_number(
   extractvalue(
      xmltype(
         dbms_xmlgen.getxml('select count(*) c from '||table_name))
    ,'/ROWSET/ROW/C')) count
from 
   user_tables A
   WHERE TABLE_NAME LIKE 'MOR%'
order by 2 DESC
```

```
SELECT
'SELECT COUNT(1),' || ' ''' || TBL.TABLE_NAME || ''' ' || 'AS TABLE_NAME' || ' FROM' || ' ' || TBL.TABLE_NAME || ' UNION ALL' AS COUNTS_ROW
FROM
(
SELECT
TABLE_NAME,
NUM_ROWS COUNTER
FROM DBA_TABLES
WHERE
1=1
AND OWNER = 'UYUMSOFT'
AND TABLE_NAME LIKE 'MORD%'
ORDER BY 2 DESC
) TBL
ORDER BY 1 DESC
```
Understanding Redux : Fundamentals of Redux State Management
Tags: redux, beginners, webdev, javascript
Published: 2023-07-17 10:38:00

Imagine you're building a big LEGO structure with many different pieces. You want to make sure that all the pieces fit together and that it's easy to keep track of them. That's where Redux comes in!

Redux is like a special box that helps you organize and manage all the pieces of your LEGO structure. It keeps everything in order and makes it easier for you to work with.

In computer programming, Redux is a tool that helps developers manage the data (or state) of an application. It's like a central storage space where all the important information about the application is kept.

**Here's how it works:**

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

1. **State:** Imagine the state as the current snapshot or the status of your LEGO structure. It represents all the important information about your application, like the number of LEGO pieces, their colors, and how they fit together.

2. **Actions:** Actions are like special instructions that tell Redux what changes you want to make to the state. For example, if you want to add more pieces to your LEGO structure or change the color of a piece, you can create actions to describe these changes.

3. **Reducers:** Reducers are like little workers inside the Redux box. They take the current state and the actions you created, and they figure out how to update the state properly. They follow your instructions and make sure everything is in order.

4. **Store:** The store is like the big box where Redux keeps the state and all the updates. It's the central place that holds all the important information about your application.

By using Redux, developers can keep their applications organized, manage complex data, and make sure everything works smoothly.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/58xo41s68bhdd7pwfq3s.jpg)

**Conclusion**

- Redux is like a special box that helps developers manage the data of their applications.
- State represents the current instance or status of the application.

- Actions are special instructions that describe changes to the state.

- Reducers are the workers that follow the instructions and update the state.

- The store is like the big box where Redux keeps all the important information.

So, just like using a special box to keep your LEGO pieces organized, Redux helps developers keep their applications organized and manageable. It's a helpful tool that makes programming more efficient and enjoyable!

<a href="https://www.buymeacoffee.com/kasun.dev" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 30px !important;width: 60px !important;" ></a>
Clenbuterol For Women - Benefits, Dosage, and Side Effects! Does It Work or not!
Published: 2023-07-17 10:31:06

Clenbuterol For Women It article defines doing it to you and I have a strong hold on my Clenbuterol For Women. Presumably, you'll want the Clenbuterol For Women to be Clenbuterol For Women Reviews. It is an incredible gift. I know, I can be an opportunist. It will. Here is the kicker. Doing this is surely not like that anymore. I'm not all that style conscious. Their old chestnut always gets a high ranking. I would imagine that I may be having a wrong-headed notion about it. I'll do it if I have to. This is a how to guide for emailing that. It was sneaky. I'm as nervous as a cat room full of rocking chairs. It isn't difficult, however, unless you have the knowledge to crank that out. We would be incorrect. There are actually different kinds of Clenbuterol For Women which you can use. You'll find it difficult to locate Clenbuterol For Women. I want you to reach your goals. I'm doing that again.

Click here Official Site: [https://www.outlookindia.com/outlook-spotlight/clenbuterol-for-women-dosage-cycle-side-effects-before-and-after-results-best-fat-burner-for-women-news-286025](https://www.outlookindia.com/outlook-spotlight/clenbuterol-for-women-dosage-cycle-side-effects-before-and-after-results-best-fat-burner-for-women-news-286025) 

Read More Pages: 
[https://scribehow.com/page/Clenbuterol_For_Women__Showing_Result_Before_and_After__oQYg0httSeSmWRKWaijUbg](https://scribehow.com/page/Clenbuterol_For_Women__Showing_Result_Before_and_After__oQYg0httSeSmWRKWaijUbg) 
[https://www.sympla.com.br/produtor/clenbuterolforwomenget](https://www.sympla.com.br/produtor/clenbuterolforwomenget) 
[https://medium.com/@gardgobert/clenbuterol-for-women-could-you-at-any-point-take-clenbuterol-with-antidepressants-43af30595fbd](https://medium.com/@gardgobert/clenbuterol-for-women-could-you-at-any-point-take-clenbuterol-with-antidepressants-43af30595fbd) 
[https://clenbuterolforwomenbodybuilding.company.site/](https://clenbuterolforwomenbodybuilding.company.site/) 
[https://linkhay.com/link/6539468/clenbuterol-for-women-benefits-dosage-and-side-effects-does-it-work-or-not](https://linkhay.com/link/6539468/clenbuterol-for-women-benefits-dosage-and-side-effects-does-it-work-or-not)
Jetpack compose — How to implement Custom Pager Indicators
Tags: android, mobile, beginners, programming
Published: 2023-07-17 10:25:20

Pager indicators are vital in guiding users through multiple screens or pages in an app. 

While Jetpack Compose offers a wide range of built-in components, customizing pager indicators to match your app's unique style and branding can elevate the user experience.

In this blog post, we will explore how to create and implement custom pager indicators in Jetpack Compose, allowing you to add a touch of uniqueness to your app’s navigation.

## Table of Contents

- Expanding Line/Dot indicators
- Sliding Indicators
- Worm Dot indicator
- Jumping Dot Indicator
- Bouncing Dot Indicator
- Swapping Dot Indicator
- Revealing Dot Indicators
- Conclusion

The final output will look like this:

![jetpack compose pager indicators](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j434el9qgjp7i3t9rxnk.gif)

I have implemented most of the indicators using the Canvas API. Additionally, to demonstrate alternative approaches, I have also implemented a few using built-in composable like Box.

We’ll highlight the flexibility of pager indicators and showcase how they can be implemented using a unified logic.

For detailed explanations with examples, check out our [Canopas Blog.](https://blog.canopas.com/jetpack-compose-how-to-implement-custom-pager-indicators-8b6a01d63964)
Let me tell you what the apt command stand for in Linux.
Published: 2023-07-17 10:18:22

The `apt` command is a package management command-line tool used in Debian-based operating systems, including Ubuntu. It stands for "Advanced Packaging Tool" and is used to handle software packages—installing, updating, and removing them.

**Here are some commonly used `apt` commands:**

 

- 1.  `apt update`: This command updates the local package index to retrieve the latest package information from the repositories.
- 2.   `apt upgrade`:This command upgrades all installed packages to their latest versions.
- 3.  `apt install <package>`: This command installs a specific package or multiple packages.
- 4.  `apt remove <package>`: This command Uninstalls a specific package.
- 5.  `apt autoremove`:This command removes any unused or orphaned packages from the system.
- 6.  `apt search <keyword>`: This command is used to Search for packages containing the specified keyword in their names or descriptions.
- 7.  `apt show <package>`:This command displays detailed information about a specific package.
- 8.  `apt list`: This command lists all installed packages.
- 9.  `apt full-upgrade`: This command performs a distribution upgrade, including installing and removing packages as necessary.

Please note that administrative privileges (sudo or root access) are usually required to execute apt commands.

For example: `sudo apt update` or `sudo apt upgrade`

Now you know what apt command stands for.
CHEERS......