teleren/devto huggingface dataset:
Exploring MLflow experiments with a powerful UI
Tags: opensource, machinelearning, mlflow, python
Published: 2023-03-15 12:39:08

Excited to share with you the release of **aimlflow**, an integration that helps to seamlessly run a powerful experiment tracking UI on MLflow logs! 🎉

While **MLflow** provides a great foundation for managing machine learning projects, it can be challenging to effectively explore and understand the results of tracked experiments. **Aim** is a tool that addresses this challenge by providing a variety of features for deeply exploring and learning tracked experiments insights and understanding results via UI.

![Aim UI](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u29nl1xezyekpnk7f8hb.gif)

With aimlflow, MLflow users can now seamlessly view and explore their MLflow experiments using Aim’s powerful features, leading to deeper understanding and more effective decision-making.

To be able to explore MLflow logs with Aim, you need to convert MLflow experiments to Aim format. All the metrics, tags, config, artifacts, and experiment descriptions will be stored and live-synced in a `.aim`repo located on the file system.

This means that you can run your training script, and without modifying a single line of code, live-time view the logs on the beautiful UI of Aim. Isn’t it amazing? 🤩


![Aim Metrics Explorer](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lozpiyzifvgd5zzw85k9.png)

Read the guide demonstrating how MLflow experiments can be explored with Aim on Medium: https://bit.ly/3YQdNuy

Would love to hear your feedback :))

If you have any questions [join Aim community](https://community.aimstack.io/), share your feedback, open issues for new features and bugs. 🙌

Show some love by dropping a ⭐️ on [GitHub](https://github.com/aimhubio/aim), if you think Aim is useful.
Whats coming in WordPress 6.2: features, improvements and a whole lot more ;)
Tags: webdev, wordpress, beginners, php
Published: 2023-03-15 12:38:40





All new things in WordPress 6.2 - 



chttps://www.youtube.com/watch?v=PKcMhSgBt40
In this video I take you through all the key features coming to the WordPress Block Editor in WordPress 6.2.

🔗 Resource Links - please see pinned comment (below).

⏱ Timecodes
0:00 - Intro.
0:09 - Browse Mode
0:47 - Interface Upgrades
1:43 - Nav block list view editing
2:08 - Styling Improvements
4:33 - Distraction Free Mode
5:03 - What's coming next?
5:19 - What did you think?
5:37 - Where to find resources



EP447 - What's New in WordPress 6.2? - WPwatercooler
https://www.youtube.com/watch?v=11fuZVS3lS8

On this episode of WPwatercooler guest Courtney Robertson is joining Jason Tucker, Sé Reed, and Jason Cosper will be discussing the upcoming release of WordPress 6.2. The release is just around the corner, and it's packed with exciting new features that are sure to delight users. One of the most significant changes is the Full Site Editor coming out of beta, which will provide users with a seamless editing experience.
Additionally, users will now be able to browse and choose templates to edit, customize their theme or specific blocks with custom CSS, and enjoy new and improved navigation menus. The new version will also feature colors to indicate which template parts are being edited, allowing for a more efficient workflow. The Style Book will provide users with a bird's-eye view of styles for all blocks, while the copy and paste block styles feature will make it easier to create a cohesive design. Classic widgets import as template parts in block themes, while separate sub-panels for block settings and styles will streamline the editing process. The new distraction-free mode will provide an unobstructed view of the content, while improved pattern insertion with new categories will enhance creativity. There are also miscellaneous changes and under-the-hood improvements that will make the overall user experience more seamless.
Overall, WordPress 6.2 is shaping up to be an impressive update, with plenty of new features to explore, and is planned for a March 28th release date.

Panel
Jason Tucker
Sé Reed
Jason Cosper
Responsible AI -Chances, Challenges and Consequences
Tags: ai, responsibleai
Published: 2023-03-15 12:19:25

Adoption of AI and ML is becoming necessary for industries to solve real world complex problems and to achieve their growth objectives. Industries are exploring "AI in Everything".
AI requires large amount of real and accurate data to train the machine learning model.
AI usecases are different from the normal rule-based software as in case of Rule-based, control is in the hand of us where we can ensure 100% accuracy but this is not the case with AI usecases.
**Chances:**
With the adoption of big data and cloud, large amount of customer data is readily available for analytics. Leveraging and utilizing this data in AI, generating lot of opportunities to build and offer personalize product to customer.
one of the examples includes customer segmentation where companies can offer wide range of product based on specific group of customers.
**Challenges**
Along with Chances and new opportunities, adoption of AI is also generating many challenges. Companies need to make sure customer data is handled securely and properly. It must be compliance as per the government regulation (For example, GDPR). They also need to make sure if ML model is giving the correct and fair prediction on real world data.  
**Consequences**
 If customer data is not handled properly and securely, it will break customer trust and directly impact company performance. 
For many critical use cases, where AI models are decision maker, small false positive rate can inversely impact the customer badly. Take the example of healthcare industry where Model is predicting whether a Person has chronic disease or not.  "How one wrong prediction can impact the patient life!!"
**Mitigation:**
We recommend below guidelines to handle data privacy in AI Use cases:

**Risk Based Approach:** Organizations should follow the risk-based approach for each AI use cases by: 

- Analyze Individual Risk

- Determine Risk Level

- Probability of harm

- Severity of harm

- Risk Mitigation

- **Human in Loop:** for high-risk AI use cases, we recommend involving human in loop or Augmented AI on the top of AI Prediction to ensure AI prediction is not biased.
**Explainable AI:** To ensure, AI decision is not biased and improve user satisfaction, AI use cases should be explainable. for example: if customer loan application is not approved, AI should be able to explain which features are impacting the decision like user credit score, Salary, Other Loan.

**Model Monitoring:** Monitoring Model in production is also help to ensure model performance and retrain the model at right time.

**Model Tracking:** Before deploying the model in production, we need to ensure model tracking and versioning mechanism is in place.

Most of the AI challenges can be mitigated with MLOps mindset and setup the MLOps practice from the POC stage.
For details on MLOps , you can go through : https://www.linkedin.com/pulse/mlops-operationalize-machine-learning-ruchi-agarwal/?trackingId=N4KqafCRTfyrGSf0RtSR9Q%3D%3D
Angular Library to convert number to words | Angular Tutorial
Tags: webdev, tutorial, angular, programming
Published: 2023-03-15 12:03:16

A simple angularjs based library to convert number to word, it also support multi language that helps to convert any number into different different languages words.

A multi-language number to word converter that converts any number to words in your Angular app.

Supported Languages:

en (English, default)
ar (Arabic)
cz (Czech)
dk (Danish)
de (German)
es (Spanish)
fr (French)
fa (Farsi)
he (Hebrew)
it (Italian)
ko (Korean)
lt (Lithuanian)
lv (Latvian)
nl (Dutch)
no (Norwegian)
pl (Polish)
pt (Portuguese)
ru (Russian)
sr (Serbian)
tr (Turkish)
uk (Ukrainian)
Install via npm. (Alternative)
Now install ngx-num-to-words via:

`npm install --save n2words ngx-num-to-words`

Import the library
If you installed the library via angular schematics, you can skip this step

```
import { NgxNumToWordsModule } from 'ngx-num-to-words';

@NgModule({

  declarations: [AppComponent, ...],

  imports: [NgxNumToWordsModule, ...], 

  bootstrap: [AppComponent]

})

export class AppModule {

}
```
Other modules in your application like for lazy loading import NgxNumToWordsModule into your feature module:

API
Using the service

```
<h1><b>{{numberInWords}}</b></h1>

import { NgxNumToWordsService, SUPPORTED_LANGUAGE } from 'ngx-num-to-words';

numberInWords!: string;

lang!: SUPPORTED_LANGUAGE = 'en';

value = 123;

 constructor(private ngxNumToWordsService: NgxNumToWordsService) {

  }

ngOnInit(): void {

    this.numberInWords = this.ngxNumToWordsService.inWords(value, this.lang);

 }
```
Using the pipe inWords

```
<span>{{ 123 | inWords }}</span> // default en language

<span>{{ 123 | inWords:'de' }}</span> // custom language --> german in this case
```

Read More :-
https://softwaretechit.com/web-stories/10-best-angular-ui-libraries-angular-ui-compo/
https://softwaretechit.com/category/web-development/angular/
https://softwaretechit.com/call-web-api-from-angular-8-example-api-in-angular-create-website/

Dev.to:
https://dev.to/softwaretechit/angular-library-to-convert-number-to-words-angular-tutorial-cl7
https://dev.to/softwaretechit/angular-part-1-creating-angular-project-eaccessoriesshop-setup-project-angular-project-ecommerce-12jh
Inspecting item like drop-down menu, overlay etc
Tags: chrome, javascript, css
Published: 2023-03-15 11:58:24

You might have faced a problem when trying to inspect the drop-down item or overlap windows which gets closed when we  right click n then inspect that element in DOM

I ran into this issue with drop-down options. The reason it's disappearing when I inspect it, is because a `blur` event is always triggered on the element list when I click anywhere outside.

One way, we can prevent these events from being triggered is to remove all such possible event 

Inspect the input element on Chrome
Go to the Event Listeners tab and remove the `blur` or `focusout` or `mouseover` event. just click in `remove`.



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


Event listeners depend on type of element you are trying to inspect & events also varies from element to element.


**Please Note**: if you remove events element functionality will break & element will not behave as expected it to be. To make it normal/working again like before please reload the app or kill & launch again
MariaDB vs MySQL: What's the Difference and Which One Should You Use?
Tags: mariadb, mysql, database, performance
Published: 2023-03-15 11:56:00

If you're working with databases, you've probably heard of MySQL - one of the world's most popular open-source relational database management systems (RDBMS). But have you heard of MariaDB? It's another popular RDBMS that's often compared to MySQL. This post will explore what MariaDB is and how it differs from MySQL.

## What is MariaDB?

[MariaDB](https://mariadb.org/) is an open-source RDBMS forked from MySQL in 2009 by its original developers after concerns over the acquisition of MySQL by Oracle Corporation. It's designed to be a drop-in replacement for MySQL, meaning that it's intended to be compatible with MySQL's commands and database structure while providing additional features and improved performance.

## What are the critical differences between MariaDB and MySQL?

While MariaDB and MySQL share many similarities, some key differences set them apart. Here are some of the most notable ones:

**Licensing**: MySQL is owned by Oracle Corporation, which means it's released under the GPL (General Public License) and a proprietary license. In contrast, MariaDB is released under the LGPL (Lesser General Public License) and GPL.

**Features**: MariaDB provides additional features unavailable in MySQL, such as support for more storage engines, including the Aria and XtraDB engines, improved replication, and faster thread pooling.

**Performance**: MariaDB offers better performance than MySQL, especially regarding query optimization and overall speed. It achieves this by optimizing the codebase, providing better indexing algorithms, and enhancing the query optimizer.

**Community**: MariaDB has a more open and active community than MySQL, with more developers' contributions and frequent releases. This means that bugs are fixed faster, and new features are added more frequently.

## Which one should you use?

Both MariaDB and MySQL are excellent choices for building scalable, high-performance databases. Ultimately, deciding which one to use depends on your specific needs and preferences. If you need more advanced features, better performance, and a more open community, then MariaDB may be your better option. However, if you're more comfortable with MySQL's traditional architecture, licensing model, and toolset, MySQL may be a better fit.

In conclusion, MariaDB and MySQL are robust open-source RDBMS solutions with unique strengths and weaknesses. By understanding their differences, you can decide which one to use for your next project.
Python tips that your “Learn python in 5 minutes” tutorial have missed.
Published: 2023-03-15 11:55:09

Python is a versatile language with a lot of hidden gems and features that many developers are not aware of. Here are some of the best Python tricks that you might not know about.

1. Using underscores in numbers

In Python, you can use underscores to separate digits in numbers, which can make them easier to read. For example:

```
one_million = 1_000_000
```
This makes it easier to see that the number is a million, especially for large numbers.

1. Swapping values without using a temporary variable

In Python, you can swap the values of two variables without using a temporary variable. This is possible due to Python's ability to perform multiple assignments in one line. For example:

```
x, y = y, x
```

This assigns the value of y to x and the value of x to y, effectively swapping the values of the two variables.

1. Using list comprehensions

List comprehensions are a concise way to create lists in Python. They can be used to perform complex operations on lists in a single line of code. For example, you can use a list comprehension to create a list of squares of numbers from 1 to 10:

```
squares = [x ** 2 for x in range(1, 11)]
```

This creates a list of squares of numbers from 1 to 10.

1. Using context managers

Context managers are a way to manage resources in Python. They provide a way to allocate and release resources automatically when they are no longer needed. For example, you can use the "with" statement to automatically close a file after reading or writing to it:

```
with open('file.txt', 'r') as f:
    data = f.read()
```

This ensures that the file is closed automatically when the block of code inside the "with" statement is completed.

1. Using the "zip" function

The "zip" function in Python is used to combine multiple lists into a single list of tuples. For example:

```
names = ['Alice', 'Bob', 'Charlie']
ages = [25, 30, 35]
people = zip(names, ages)
```

This creates a list of tuples, where each tuple contains the name and age of a person.

These are just a few examples of the many Python tricks and features that can help you write more efficient and concise code. By exploring the Python documentation and community resources, you can discover even more hidden gems in this powerful language 😁.

See you in the next one!
Guia básico sobre lambda em Ruby
Tags: ruby, beginners, tutorial, programming
Published: 2023-03-15 01:26:16

Lambdas em Ruby são objetos que representam funções anônimas. Eles são úteis quando você precisa passar uma função como argumento para outra função ou quando deseja criar funções curtas e expressivas. Aqui está um guia prático sobre como usar lambdas em Ruby:

## Criando uma lambda

Lambdas são criados usando a palavra-chave lambda ou ->. Aqui está um exemplo:


```ruby
my_lambda = lambda { |x| x * 2 }
# ou
my_lambda = ->(x) { x * 2 }
```


Agora my_lambda é um objeto que representa uma função que multiplica seu argumento por 2.

## Chamando uma lambda

Lambdas são chamados da mesma forma que uma função normal, usando a sintaxe lambda.call(argumento) ou simplesmente lambda(argumento). Aqui está um exemplo:


```ruby
my_lambda = ->(x) { x * 2 }
resultado = my_lambda.call(3)
puts resultado # output: 6
```


Ou ainda, mais curto:

```ruby
my_lambda = ->(x) { x * 2 }
resultado = my_lambda.(3)
puts resultado # output: 6
```

## Passando uma lambda como argumento

Lambdas são frequentemente usados como argumentos de outras funções. Isso é especialmente útil quando você deseja passar uma função personalizada para uma função de ordem superior (como map, filter ou reduce). Aqui está um exemplo:


```ruby
my_lambda = ->(x) { x * 2 }

# A função double_values aplica a função lambda em cada elemento do array
def double_values(array, fn)
  array.map { |x| fn.call(x) }
end

valores = [1, 2, 3, 4]
resultado = double_values(valores, my_lambda)
puts resultado # output: [2, 4, 6, 8]
```

## Capturando variáveis em uma lambda

Lambdas também podem capturar variáveis do escopo em que foram criados. Isso pode ser útil para criar funções que têm acesso a variáveis locais ou de instância. Aqui está um exemplo:


```ruby
def create_lambda
  mensagem = "Olá, mundo!"
  -> { puts mensagem }
end

# Cria uma lambda que imprime "Olá, mundo!"
my_lambda = create_lambda()
my_lambda.call()
```


Nesse exemplo, a lambda captura a variável mensagem do escopo em que foi criada. Quando a lambda é chamada, ela imprime a mensagem "Olá, mundo!".

## Conclusão

As lambdas em Ruby são objetos poderosos que podem ajudar a tornar seu código mais conciso e expressivo. Com este guia prático, você deve ter uma boa compreensão de como criar, chamar e passar lambdas como argumentos. Experimente criar suas próprias lambdas e usá-las em suas funções!
Paracetamol.js💊| #204: Explica este código JavaScript
Tags: javascript, webdev, spanish, programming
Published: 2023-03-15 11:22:00

## **<center>Explica este código JavaScript</center>**
#### <center>**Dificultad:** <mark>Intermedio</mark></center>

```js
const one = () => {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      reject("one")
    }, 5000)
  })
}

const two = () => {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      reject("two")
    }, 2000)
  })
}

const three = () => {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      reject("three")
    }, 10000)
  })
}

const res = () => {
  return Promise.all([one(), three(), two()])
}

res()
  .then(x => console.log(x))
  .catch(err => console.log(err))
```

- A. `"["one", "three", "two"]"` (después de 10s) 
- B. `"one"` (después de 5s)
- C. `"three"` (después de 10s)
- D. `"two"` (después de 2s)

Respuesta en el primer comentario.

---
Woo.vi - Building Woovi Shortener Microservice
Tags: shortener, microservices, backend, koa
Published: 2023-03-15 11:16:13

Every successful Startup has a cool shortener service.
Woovi is no different, we have [woo.vi](http://woo.vi/) as our shortener domain.

## Benefits of a shortener domain

A short domain is easier to remember.
They are more suitable for SMS and social media where character limits are strict, like Twitter.
It can improve brand recognition.
They offer link analytics.
They increase CTR - Click-through rates.
Furthermore, they can redirect to other links.

## Building Woovi Shortener Microservice

Here is a basic code of a shortener endpoint using Koa:

```jsx
export const shortIdUrlGet = async (ctx: Context) => {
  const { id } = ctx.params;

  if (!id) {
    return ctx.redirect('https://woovi.com');
  }

  const shortener = await Shortener.findOne({
    shortId: id,
  });

  if (!shortener?.url) {
    ctx.body = {
      error: 'Not found',
    };

    return;
  }

  const queryString = ctx.querystring ? `?${ctx.querystring}` : '';

  ctx.redirect(`${shortener.url}${queryString}`);
};
```

If no shortid was passed, we are going to return [woovi.com](http://woovi.com/), this is the logic that redirect [woo.vi](http://woo.vi/) to [woovi.com](http://woovi.com/).

When passing a valid `id` we redirect to saved url in the `Shortener` model in our mongodb database.
We also forward querystring.

To generate the shortid, we use the open source package [NanoId](https://zelark.github.io/nano-id-cc/)


## In Conclusion
A shortener domain has many benefits, and your Startup should invest it to have one. The implementation is simple, it is just a key value mapping.

Here is a woo.vi link for you: [https://woo.vi/nMfr8wekO4AI](https://woo.vi/nMfr8wekO4AI)


---
Woovi
[Woovi](https://www.woovi.com) is a Startup that enables shoppers to pay as they like. To make this possible, Woovi provides instant payment solutions for merchants to accept orders.

If you want to work with us, we are [hiring](https://woovi.com/jobs/)!

---
Photo by <a href="https://unsplash.com/@lazycreekimages?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Michael Dziedzic</a> on <a href="https://unsplash.com/photos/W6l35A_rxxU?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
why You Must use Nx monorepos with existing workspaces
Tags: nx, monorepo, workspaces, node
Published: 2023-03-15 11:14:39

Recently i was exploring Nx monorepo and how it can be useful for today's development with all these latest stacks 

I created a playlist to learn and explore thing in Nx 
Here is the playlist 

{% embed https://www.youtube.com/watch?v=8IWV6I1mK6U&list=PLIGDNOJWiL19HK2L0_Q5ZzeWn9Du7eQ5T %} 

Earlier i was just Using Lerna which is just workspace based solution and latest version of Lerna also adopted Nx solution.

Most of current world development is happening around monorepos and we have different solution which enables monorepo for your repository like 

- Lerna 
- TuroboRepo
- Nx Monorepo
- .. many more 

## How and Why you must Use Nx Monorepo solution 

I will not talk about what is monorepo and how it works, if you are interested please explore more from here

{% embed https://www.youtube.com/watch?v=8IWV6I1mK6U&list=PLIGDNOJWiL19HK2L0_Q5ZzeWn9Du7eQ5T %} 

Now coming to the point why Nx, why should i use Nx, i would say it because of its ecosystem and features it provides

- Integrated monorepo
- Package based monorepo 
- standalone app based monorepo 

Integrated monorepos are more controlled by Nx so you just need to focus more on adding logic to your services and applications, Nx does all linking and script execution automation

Package Based monorepo are more useful where we want more flexibility as we have have simple NPM, PNPM or Yarn workspace (existing or new) and can add Nx capabilities which we need like script automation 

Nx will make development fast of existing monorepos or brand new monorepos 

In this video series i have covered how we can build PNPM workspace and add Nx capabilities to the workspace 

I really liked how it automates and does cache of script execution, it has nice vs code plugin to execute commands and works with Nx plugins

I would say it's worth exploring and here is the playlist, i will be adding more examples where we have multiple Nest JS microservices (PNPM workspace with Nx monorepo).

{% embed https://www.youtube.com/watch?v=sFsGgNL26zs&list=PLIGDNOJWiL19HK2L0_Q5ZzeWn9Du7eQ5T&index=6 %}

Happy coding, Learn something new Everyday !!
Guide to Web 3.0 (Web 3). Definition, history, FAQ
Tags: web3, beginners
Published: 2023-03-15 11:13:33

That’s a good day to read a guide to web 3: definition, history, FAQ. Check an article about NFT and Blockchain solutions in the world of Web 3.0 🤝

Read the article on [Liki Blog](https://likims.com/blog/guide-to-web-3-definition-history-faq-and-the-role-of-nft-blockchain-cryptocurrency-and-ai).