teleren/devto huggingface dataset:
mongoose error Warning: Accessing non-existent property 'MongoError' of module exports inside circular dependency (Solution)
Tags: node, mongodb, mongoose
Published: 2021-03-11 11:22:12

currently, I am working with node js and MongoDB I have been set up everything properly but when I was trying to run the server using npm start via terminal it shows me the warning which is like the below screen-shot: 
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tefgnnsn5wkswmcz7423.PNG)
I was a little confused why it happens when I try to find out my node and npm version like the below screen-shot:
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ekul36nfy9x11z8yoaky.PNG)
and I also check my package.json file which is like the below screen-shot: 
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xc2r6qcrg1hrqa92bhze.PNG)
and now finally I realize why this is happening:
Note: This is caused by a deprecation in the current version. Install the previous 5.11.15 version like this
so to solve this warning I installed again mongooses which exect like my package. jon file: to install mongoose again as like the package.json file versions I was type the below command on my terminal:
npm i mongoose@5.11.15 
and then again I type npm start on my terminal now everything is okay. which is below screen-shot:
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4eo00kziuztt8t5n6lmm.PNG)
 there is no warning.
.
Note: here 5.11.15 is my current version which is my package.json file showing me.
 so in the future, if package.json show me the mongoose version is npm i mongoose@5.11.16 or any other then I should install like exact same version npm i mongoose@5.11.16
.
that's it.
.
Happy Coding.
osman forhad
Mobile & Web Application Developer💻
Next.js API Routes Validation with YUP
Tags: nextjs, apiroutes, typescript, middleware
Published: 2021-03-11 11:10:16

In this video we will add validation to our Next.js API Routes using YUP. In order to achieve that in a simple and reusable way we will create a validation middleware that uses YUP for schema validation.

Because we are using YUP, we can now share our validations across front-end and back-end. Form libraries like formik and react-hook-form work very well with YUP.

I hope you enjoy the video :)

{% youtube ZG7sLbI8kL8 %}
How to correctly position rotated text using CSS
Tags: css, html, beginners, webdev
Published: 2021-03-11 10:39:23

<sup>**Find out more CSS tricks at [css-tip.com](https://css-tip.com)**</sup>

It's always a hassle to correctly position a rotated text. Especially to position such text in the corner or the sides of another element.

No need to bother yourself with such a task. Find below all the common cases. It's responsive and no hardcoded width or height is needed (hover to change the text direction)

### The corners

{% codepen https://codepen.io/t_afif/pen/jOVXwgW %}

### The sides

{% codepen https://codepen.io/t_afif/pen/xxRmLbY %}

Here are a few notes to easily remember the different cases:

* There is always a relation between `transform-origin` and `top`/`left`/`bottom`/`right`. If you will use `top` and `left` then you will need `transform-origin:top left` and so on.
* We always rotate **then** translate (never the opposite) 
* The rotation is  `90deg` for a text orientation to the bottom and `-90deg` to the top. 
* The translation is `+/-100%` for the corners and `+/-50%` for the sides. No need to remember them all, a quick trial & error can give you the correct value.

----

The above is the most supported way to achieve what we want but we can do easier using `writing-mode`

### The corners

{% codepen https://codepen.io/t_afif/pen/ZEBVJov %}

### The sides

{% codepen https://codepen.io/t_afif/pen/jOVXLvw %}

Nothing to remember here 😉

----

More common positions (that we can easily find from the above)

{% codepen https://codepen.io/t_afif/pen/ZEBVJZo %}

----

### <center>You want to support me?</center>

[![buy me a coffee](https://cdn.buymeacoffee.com/buttons/default-orange.png)](https://www.buymeacoffee.com/afif)

### <center>OR</center>

[![Become a patron](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/db3jtgy2i5l4w8slkps5.png)](https://www.patreon.com/temani)
HTML has a base tag
Tags: html, todayilearned, webdev
Published: 2021-03-12 18:40:29

---
title: HTML has a base tag
published: true
date: 2021-03-11 10:34:50 UTC
tags: html,til,webdev
canonical_url: https://krzysztofzuraw.com/blog/2021/html-base-tag
---

Today I learned about `<base />` tag. It is really useful in a situation where you need to tell the browser what is the base for relative links. Why you need that? Imagine that you have a script that is located on CDN: `https://cdn/application/index.html` and from inside index.html you have a JS tag that points to `index.js`.

If you want implicitly tell browser to look for `index.js` inside `application/*` folder not `https://cdn`you can drop [base](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base) tag:

```html
<base ref="https://cdn/application/" />
```

It is telling the browser to base all relative links on `https://cdn/application/`. Notice trailing slash at the end - this is important to `base` to work.

You have base tag ready - now it is time to add `script` tag:

```html
<script src="app.js" />
```

Notice that it don’t have `./` or `/` at the beginning `src` parameter - it is relative link.

Now the browser will resolve `app.js` to `https://cdn/application/app.js`. You can read more on MDN[base](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base) documentation page.

If you need to set it up using [html-webpack](https://webpack.js.org/plugins/html-webpack-plugin/) plugin:

1. add `base` param to html-webpack options:

```js
{
  plugins: [
    new HtmlWebpackPlugin({
      template: paths.indexHTML, // path to your index.html if you are using it
      base: `https://cdn/application/`,
    }),
  ];
}
```

1. make sure that you don't have `publicPath` set in the webpack config.
2. It is causing the output to be `/app.js` (or whatever you set your public path) instead of just having `app.js`

## Summary

In this post, I wrote about [base](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base) an HTML tag that can be used to hint browser what is the base URL for relative links inside a document.
Introducing Software AG Open Source
Tags: github, opensource, softwareag, release
Published: 2021-03-24 13:37:46

---
title: Introducing Software AG Open Source
published: true
date: 2021-03-11 10:07:54 UTC
tags: #github, #opensource, #softwareag, #release
canonical_url: https://tech.forums.softwareag.com/t/introducing-software-ag-open-source/239347
---

We are constantly expanding our content on GitHub. In 2020 we added 80 new repositories (including sample code, SDKs, UI widgets, documentation, etc.) to help developers accelerate their projects using Software AG products.

To make it easier for you to quickly find all of our GitHub resources, we brought them together into one place in our first release of our Software AG Open Source website: [https://softwareag.com/opensource](https://softwareag.com/opensource).

New to our Open Source projects? Start by checking our highlights of 2020

### Software AG most popular projects on GitHub in 2020

1. [SoftwareAG/webmethods-api-gateway](https://github.com/SoftwareAG/webmethods-api-gateway)

2. [SoftwareAG/webmethods-api-gateway-devops](https://github.com/SoftwareAG/webmethods-api-gateway-devops)

3. [SoftwareAG/cumulocity-datahub-widget](https://github.com/SoftwareAG/cumulocity-datahub-widget)

4. [SoftwareAG/analytics-builder-blocks-contrib](https://github.com/SoftwareAG/analytics-builder-blocks-contrib)

5. [SoftwareAG/cumulocity-microservice-templates](https://github.com/SoftwareAG/cumulocity-microservice-templates)

### Most popular topics

1. [webMethods](https://open-source.softwareag.com/?topic=webmethods)

2. [cumulocity-iot](https://open-source.softwareag.com/?topic=cumulocity-iot)

3. [apama](https://open-source.softwareag.com/?topic=apama)

### Most popular languages

1. [Java](https://github.com/SoftwareAG?language=java)

2. [TypeScript](https://github.com/SoftwareAG?language=typescript)

3. [JavaScript](https://github.com/SoftwareAG?language=javascript)

4. [Python](https://github.com/SoftwareAG?language=python)

5. [Shell](https://github.com/SoftwareAG?language=shell)

Stay tuned, as we will be adding much more content, and feel free to [contact us](mailto:Communities@softwareag.com) in case you are interested to contribute or have any feedback.

[Read full topic](https://tech.forums.softwareag.com/t/introducing-software-ag-open-source/239347)
Free Digital Basic Training series from Software AG
Tags: training, free, digital, learning
Published: 2021-03-23 14:39:06

---
title: Free Digital Basic Training series from Software AG
published: true
date: 2021-03-11 10:06:57 UTC
tags: #training, #free, #digital, #learning
canonical_url: https://tech.forums.softwareag.com/t/free-digital-basic-training-series-from-software-ag/239088
---

 **2021 is getting underway, we are happy to announce our Digital Basic Training series is now complete. All Digital Basic Training is available at no charge. That’s right, its FREE!**

How do you get signed up? It’s simple. Click on the link [Catalogue (softwareag.com)](https://knowledge.softwareag.com/totara/catalog/index.php?catalog_cat_browse=26&catalog_learning_type_panel%5b%5d=course&cfp_multiselect_subscriptionssu_876a6%5b%5d=Digital%20Basic%20Training&orderbykey=featured&itemstyle=narrow), select the course(s) you’d like to complete. If you are not already set up as a Learner, the system will guide you through the quick sign-up process. Once you have an established account, you can choose from any of our **Digital Basic** courses to help you get started.

And don’t forget, the journey doesn’t stop there. We also offer **“Essentials”** , a self-paced, hands-on learning program for each of our product lines. **Essentials** prepares you for your initial project and/or Product Certification. This is great to onboard new team members or to expand your knowledge across our product portfolio.

And for those more experienced users, we offer our **Continuous Learning** curriculum. Here you’ll find **FREE pre-recorded delta trainings** , micro-learning sessions and more in-depth content. This area is the main focus for Product Enablement in 2021, including **NEW online Certifications and badges**.

So stayed tune…much more to come!

> **[Software AG learning portal](https://knowledge.softwareag.com/)**

[Read full topic](https://tech.forums.softwareag.com/t/free-digital-basic-training-series-from-software-ag/239088)
Save time building your Cumulocity IoT solution with our accelerators
Tags: iot, accelerators, solution, cumulocity
Published: 2021-03-16 14:08:45

---
title: Save time building your Cumulocity IoT solution with our accelerators
published: true
date: 2021-03-11 10:04:37 UTC
tags: #iot, #accelerators, #solution, #cumulocity
canonical_url: https://tech.forums.softwareag.com/t/save-time-building-your-cumulocity-iot-solution-with-our-accelerators/239205
---

 **Accelerators are developed by our teams to help speed up development time for solutions built on the Cumulocity platform. Built on best practices, re-usable assets aid in the implementation of projects – rapid time to value and ease in building your solution. We are taking care of the guess work, so you can get right to business!**

What to expect with the latest Cumulocity accelerators:

- The [Cumulocity Python API](https://github.com/SoftwareAG/cumulocity-python-api) accelerator makes it easier to develop programs, scripts, device agents or microservices in Python.
- The [Cumulocity Microservice Templates](https://github.com/SoftwareAG/cumulocity-microservice-templates) shows how common features can be implemented in a Microservice by using Cumulocity’s Microservice SDK for Java.
- The [Cumulocity Migration Tool](https://github.com/SoftwareAG/cumulocity-migration-tool) is a webapp to migrate applications, dashboards, groups, devices, simulators, smart rules, images and managed objects between tenants.
- And finally, the [Application Builder for Cumulocity](https://github.com/SoftwareAG/cumulocity-app-builder) provides a simple, coding-free way to create new applications inside Cumulocity.

Find the most recent Cumulocity accelerators [here](https://open-source.softwareag.com/iot-analytics?topic=cumulocity-iot&repository=widget).

And on the Tech Community you can find a variety of resources, including articles, tutorials, news, forum discussions and much more:

- [General](https://tech.forums.softwareag.com/)
- [Cumulocity](https://tech.forums.softwareag.com/tag/Cumulocity-IoT)

[Read full topic](https://tech.forums.softwareag.com/t/save-time-building-your-cumulocity-iot-solution-with-our-accelerators/239205)
All hype, or actually relevant? Software AG’s Technology Radar offers guidance
Tags: technologies, rust, ai, trends
Published: 2021-03-23 14:37:39

---
title: All hype, or actually relevant? Software AG’s Technology Radar offers guidance
published: true
date: 2021-03-11 10:02:17 UTC
tags: #technologies, #rust, #artificialintelligence, #trends
canonical_url: https://tech.forums.softwareag.com/t/all-hype-or-actually-relevant-software-ag-s-technology-radar-offers-guidance/238809
---

**As digitalization progresses, existing technologies continue to develop—and it’s important to keep an eye on the potential of innovations, too. What will establish itself in the long term? Which trends are emerging on a permanent basis? As one of Europe’s leading technology companies, we at [Software AG](http://www.softwareag.com) are constantly evaluating the latest developments and technologies and reviewing them for their relevance. With our new [Technology Radar](https://techradar.softwareag.com/), we are making our findings and assessments available to the public for the first time.**

> One hype follows closely on the heels of another, and the technology sector is particularly prone to exaggeration. We want to offer some guidance, so our Technology Radar aims to rate innovations based on their actual value proposition,

says Bernd Gross, CTO. The Radar provides companies with clear recommendations for action. Which technology deployment will take them into the future, and which one leads to a dead end? Which trends are worth investing in now? Relying on its many years of expertise, we deliver answers to these questions.

Both the level of detail as well as its focus on IoT and integration lift the Technology Radar head and shoulders above the other formats. Moreover, the Technology Radar as an opportunity to open a dialogue as well as impetus for engaging with and discussing innovative new technologies. The Radar separates technologies into quadrants:

- Connectivity & Protocols,
- Information Management & Persistence,
- Analytics & Serving, and
- Programming, Hosting, Operating.

Distinguishing between four levels, the radar makes a recommendation as to what extent companies should adopt the respective technology—or not—and reflects on the current and future market situation. At the same time, the Technology Radar highlights how relevant the individual technology is for the IoT (including analytics) and integration (including API management) sectors.

Currently, the Technology Radar rates 24 technologies—including the programming language [Rust](https://techradar.softwareag.com/technology/rust/), [artificial intelligence,](https://techradar.softwareag.com/technology/artificial-intelligence-ai-machine-learning/) and [Gaia-X](https://techradar.softwareag.com/technology/gaia-x/), the data and open source software infrastructure. The list of rated technologies will be updated continually.

Software AG’s Technology Radar is available online at [techradar.softwareag.com](https://techradar.softwareag.com/) at no cost.

[Read full topic](https://tech.forums.softwareag.com/t/all-hype-or-actually-relevant-software-ag-s-technology-radar-offers-guidance/238809)
Three Decoding Methods in NLP
Tags: python, machinelearning, deeplearning, tutorial
Published: 2021-03-11 10:02:00

{% youtube QJq9RTp_OVE %}

In this video, we will cover three ways to decode the output probabilities from NLP models - greedy search, random sampling, and beam search.

Learning how to decode outputs can make a huge difference in diagnosing model issues and improving text output quality - and as an added bonus it's super easy.

One of the often-overlooked parts of sequence generation in natural language processing (NLP) is how we select our output tokens — otherwise known as decoding.

You may be thinking — we select a token/word/character based on the probability of each token assigned by our model.

This is half-true — in language-based tasks, we typically build a model which outputs a set of probabilities to an array where each value in that array represents the probability of a specific word/token.

At this point, it might seem logical to select the token with the highest probability? Well, not really — this can create some unforeseen consequences — as we will see soon.

When we are selecting a token in machine-generated text, we have a few alternative methods for performing this decode — and options for modifying the exact behavior too.

In this video we will explore three different methods for selecting our output token, these are:

- Greedy Decoding
- Random Sampling
- Beam Search
Rust: the most-loved programming language
Tags: rust, introduction, programming
Published: 2021-03-19 12:40:53

---
title: Rust: the most-loved programming language
published: true
date: 2021-03-11 10:01:04 UTC
tags: #rust, #introduction, #programming
canonical_url: https://tech.forums.softwareag.com/t/rust-the-most-loved-programming-language/238893
---

**Rust is a popular programming language for producing quality software and has been voted as the most-loved programming language for five years in a row. It enjoys significant momentum and has even been used to write an operating system (Redox) which claims to be safer and have less errors than any Unix flavor, due to its microkernel design and usage of Rust. Rust has a lively community (>20.000 entries) which has a reputation to be welcoming due to beginner-friendly rules and active moderation.**

Having said that, most of the voters liking Rust are not even personally using it yet. It is not in the top 10 of the most used languages today. Experienced developers are hard to find.

How is it possible that a language with Rust’s level of adoption receives such a high level of attention and affection? The [Software AG Technology Radar](https://techradar.softwareag.com/technology/) provides an excellent short introduction to Rust, including a summary of its advantages and drawbacks.

For programmers, it shows the principle that is underlying Rust’s attractiveness: its strong and consequently applied ownership model. This means that Rust controls very tightly who (read: which variable, and which program thread) is allowed to read and update values. Memory safety problems, as well as concurrency problems like the notorious “data race” problem, are avoided.

For non-programmers, the Technology Radar still contains valuable information. For example, Rust’s advantages transform into code that shows less problems at run time. This means less risk and less cost once the software is deployed. Some other programming languages may be a bit more efficient to write code in, but if the quality of the result is the primary concern, then the balance tips in favor of Rust very rapidly.

No programming language is perfect for every situation, but the Radar helps you to decide for which of your tasks Rust is.

If you are passionate about producing quality software, you need to consider Rust and make an informed decision about its usage. [The Technology Radar empowers you to do that](https://techradar.softwareag.com/technology/rust/).

[Read full topic](https://tech.forums.softwareag.com/t/rust-the-most-loved-programming-language/238893)
Work from home: Reality far from reality
Tags: wfh, newnormal, covid, remotework
Published: 2021-03-11 09:57:26

I am a graduate who graduated in August 2020; during the pandemic. I did not have any graduation ceremony but I'm lucky enough to have cleared the exams and get the graduation certificate. 
While many in my batch didn't get a job I got placed in an MNC in India. I was in the first batch who joined virtually ever in the company. I am extremely happy that I landed a job while the whole world was facing unemployment. 
The training was virtual, the job started virtually. Even though nobody met each other there was huge excitement among all of us as we had started working. We were in touch with each other virtually. Not everyone talked with each other. Then we were allocated to projects, and all the connections were lost.

The work from home culture which is being appreciated by the companies has adverse effects on many employees specially the new joiners. 

- For instance, none of us ever met anyone so there is no human bondings established.
We haven't made any friends. Everything exists virtually.
- In my case, the team is extremely professional but in one of my friend's case, one of the team members asked personal questions due to which even the mere interactions have stopped.
- Most of the people who joined in my batch are already fed up of wfh and are planning to leave the company while many have already left.
- There is no enthusiasm in any kind of events, I mean they are organising concerts online. How are we supposed to watch and enjoy it all alone virtually?

Let's look more broadly and include people who are serving in different companies too.
 
- There is work pressure to extents which people are unable to handle. 
- The overtime work employees do daily without getting paid is causing health issues- spine problems, eyesight, vitamin d deficiency and many more.
- There is no boundaries between office and life at home. 
- Many people do not have supportive environment to work at home. This is leading to depression and frustration.
- Many people face internet connectivity issues and power cuts daily.
- Many people do not have enough money or space to actually build a proper infrastructure setup at home.
- Employees are not motivated to learn more. The trainings conducted are virtual and it becomes difficult to ask are clarify all the doubts. (Reality: the trainers try to finish their job asap)
- There is no feeling of integrity among the new joiners especially. (And you must trust me on this) Anyone and everyone are trying their best to leave the company they work in whether they get paid 13kpm or 70kpm.

There are innumerable cons which the employees are facing which may have long-term effects. So, if the plan is to make humans devoid of human interactions and bondings and thrive for success; then the thought must be given a second thought.