teleren/devto huggingface dataset:
Demo: audio classification with the Audio Spectrogram Transformer
Tags: machinelearning, computervision, audio, transformers
Published: 2023-02-23 16:42:50

---
title: Demo: audio classification with the Audio Spectrogram Transformer
published: true
date: 2023-01-16 16:00:04 UTC
tags: machinelearning,computervision,audio,transformers
canonical_url: https://julsimon.medium.com/demo-audio-classification-with-the-audio-spectrogram-transformer-17176dfadb82
---

Multi-modal transformers are rising fast. A great example is the Audio Spectrogram Transformer, an audio classification model that was just added to the Hugging Face Transformers library. This model first creates a spectrogram image of an audio clip and then classifies the image with a Vision Transformer model. Amazing results!

![](https://cdn-images-1.medium.com/max/1024/1*S5bpByiT4OhcKmIoaYuJ_w.png)

✅ Spaces demo: [https://huggingface.co/spaces/juliensimon/keyword-spotting](https://huggingface.co/spaces/juliensimon/keyword-spotting)  
✅ Model: [https://huggingface.co/MIT/ast-finetuned-speech-commands-v2](https://huggingface.co/MIT/ast-finetuned-speech-commands-v2)  
✅ Paper: [https://arxiv.org/abs/2104.01778](https://arxiv.org/abs/2104.01778)
Finally finished my first project!
Tags: webdev, javascript, beginners, programming
Published: 2023-01-16 15:48:26

While I definitely could clean up the CSS a bit, and probably will at a later date, I am happy that I am done. Took me a bit longer to complete than I had initially intended but still made it. 

## What I learned

I did not take the planning portion of the process as seriously as I could have. I think this ultimately set me back in the long run as I found myself a bit rudderless at certain times. It really helped when I started making lists of different issues I was having. This allowed me to keep track of what needed to be done more easily.

This was also the first time I revisited my own code and had to refactor the way it works. Didn't think much of it beforehand but knowing it was fine to just delete code and start from scratch, really opened things up for me. I had anxiety about deleting the code of the only JS project I had that worked and that wasn't something I was excited about. I wasn't working on the main branch either so I should have done that a lot sooner.

I definitely got better at googling. Sounds small but knowing what to google can make all the difference. Which ties back into the planning and list making, since my google searches are more direct and specific.

Overall, I learned a lot during the whole process. Unfortunate it took me as long as it did but I learned from my mistakes and won't do the same thing in the future. 

As long I am learning and growing then that should be what I am focused on. Results will matter eventually but at this point, progress is what matters most at the moment.
Commit to Community
Tags: community
Published: 2023-01-16 15:38:31


One of the thing you can do to grow as a developer and get your name out there is to help in a developer community. Your local Meet up group or online group will always need help.

I like helping in online groups cause it allows for asynchronous work which is good for my schedule.

Dev is one of the online communities I help by being a Trusted User. What's a Trusted User do? They help curate, suggest, or flag content.

![Trusted Member 2022 badge](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3q2g767wsovdtqfpwgb6.jpg)

**Curate Content:** This is where content is rated for audience  experience level. Who would best benefit from reading the article a novice, beginner, mid level, advance or expert developer? 

**Suggest Content:** If a post is real good we can mark it as "High Quality" so it will show more feeds. If the post is not good we mark it as "Poor Quality." so it's seen less.

**Flag Content:** Yes, Trusted User report Spam. Hopefully before it gets into your feed. 
We can also report content that violates the DEV Code of Conduct or is off topic.


It's been fun and educational to help suggest the great content that I read on here. It's a rewarding way to give back to the community.
Eloquent JavaScript Exercise -Range and Sum Function
Tags: html, css, javascript, webdev
Published: 2023-01-16 15:38:18

In this article, we will talk about a JavaScript problem which is Range and Sum Function in JavaScript. This problem is in chapter 4 of Eloquent JavaScript book which very famous for JS of course. So we will understand this problem and also solve the problem with very basic logic.
[Read More](https://rocoderes.com/eloquent-javascript-exercise-range-and-sum-function/)
Best Chrome Extensions for Developers
Published: 2023-01-16 15:33:49

Extensions makes our life easier, also it makes you more productive and perform an essential task better than a dedicated tool. If you’re a developer, you will likely already have a collection of favourite Chrome extensions you use on a daily basis. Here are my favourite chrome extension that you will definitely love them.

1. [Wappalyzer](https://www.wappalyzer.com/) : Wappalyzer identifies technologies on websites, such as CMS, web frameworks, ecommerce platforms, JavaScript libraries, analytics tools and more.

2. [Awesome Screenshot and Screen Recorder](https://www.awesomescreenshot.com/): Awesome Screenshot and Screen Recorder is the best screen recorder and screen capture & screenshot tool to record screen.

3. [Fake Filler](https://fakefiller.com/): Fake Filler is the best form filler extension to fill all input fields on a page with randomly generated fake data. 

4. [WhatFont](https://chrome.google.com/webstore/detail/whatfont/jabopobgcpjmedljpbcaablpmlmfcogm?hl=en): WhatFont helps to identify fonts used on web pages. It’s fast, effective and identifies individual fonts within a page in seconds. It also identifies the family, size, weight and colour. All within a small popup window in the browser.

5. [JSON Viewer](https://chrome.google.com/webstore/detail/json-viewer/gbmdgpbipfallnflgajpaliibnhdgobh): JSON Viewer helps to  manage JSON data into a quickly recognizable hierarchy view in a browser window. It also provides an option to view raw and formatted json data.

6. [ColorZilla](https://www.colorzilla.com/): ColorZilla includes an eyedrop colour selector, a colour history tool, a CSS gradient analyzer and a page analyzer that assesses colours on a web page.

7. [Page Ruler](https://chrome.google.com/webstore/detail/page-ruler/jcbmcnpepaddcedmjdcmhbekjhbfnlff?hl=en): Page Ruler is a dynamic measurement extension. While Dimensions can measure the height and width of elements, it is more useful for measuring between them. Page Rule measures those elements very accurately.

8. [Lightshot](https://app.prntscr.com/en/index.html): Lightshot is also one of the best screenshot tool to capture screen with lots of edit optios.

9. [Daily.dev](https://daily.dev/): daily.dev is the perfect place to discover technical content with no effort. It will help you boost your knowledge and save time. Simply open a new tab, and you're all set.

10. [Editthiscookie](https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg?hl=en): EditThisCookie is a cookie manager. You can add, delete, edit, search, protect and block cookies!
LeetCode Palindrome Number Solution in JavaScript
Tags: javascript, webdev, beginners, programming
Published: 2023-01-16 15:26:52


LeetCode:
[Palindrome Number](https://leetcode.com/problems/palindrome-number/description/)


Problem statement:
Given an integer x, return true if x is a 
palindrome, and false otherwise.


Explanation:
Two pointer approach is best here as we can traverse string from one pointer and decrease it from end of string and check if its same or not 

```
 /**
 * @param {number} x
 * @return {boolean}
 */
var isPalindrome = function(x) {
//convert integer to string
    const convertedString=x.toString();
//create left pointer and right pointer
    let left=0;
    let right=convertedString.length-1;
//iterate till condition meets
    while(left<=right){
//check left string is similar to right or not
        if(convertedString[left]!=convertedString[right]){
           return false;
        }
//increase left pointer and decrease right pointer
         left++;
         right--;
    }
    return true;
};
```
Como fazer um UPDATE JOIN no MySQL
Published: 2023-01-16 15:23:00

O MySQL é um sistema gerenciador de banco de dados relacional amplamente utilizado. Ele permite aos usuários gerenciar e manipular dados de várias maneiras, incluindo através de operações de atualização. 

Uma operação de atualização com JOIN é uma maneira de atualizar dados de uma tabela com base em dados relacionados em outra tabela. 

Neste artigo, vamos mostrar como fazer um UPDATE JOIN no MySQL usando duis e três tabelas.


### Código básico com duas tabelas:


```
UPDATE tabela1
JOIN tabela2 ON tabela1.id = tabela2.id_tabela1
SET tabela1.coluna = novo_valor
WHERE tabela2.coluna = valor;

```

Neste exemplo, estamos atualizando a tabela1, juntando-a com a tabela2 usando o ID como ponto de junção. Estamos definindo a coluna da tabela1 para um novo valor, e estamos selecionando apenas as linhas da tabela2 onde a coluna é igual a um determinado valor.


```
UPDATE clientes
JOIN pedidos ON clientes.id = pedidos.id_cliente
SET clientes.nome = "Ana Silva"
WHERE pedidos.status = "finalizado";

```

Neste exemplo, estamos atualizando o nome do cliente para "Ana Silva" na tabela clientes, onde o status do pedido na tabela pedidos é "finalizado".


### Código com três tabelas:


```
UPDATE tabela1
JOIN tabela2 ON tabela1.id = tabela2.id_tabela1
JOIN tabela3 ON tabela2.id = tabela3.id_tabela2
SET tabela1.coluna = novo_valor
WHERE tabela3.coluna = valor;

```


Neste exemplo, estamos juntando três tabelas juntas, tabela1, tabela2 e tabela3. A tabela1 é atualizada com base nas informações relacionadas nas tabelas 2 e 3. O ID é usado como o ponto de junção entre as tabelas. Estamos definindo a coluna da tabela1 para um novo valor, e estamos selecionando apenas as linhas da tabela3 onde a coluna é igual a um determinado valor.


```
UPDATE produtos
JOIN categorias ON produtos.id_categoria = categorias.id
JOIN fornecedores ON categorias.id_fornecedor = fornecedores.id
SET produtos.preco = produtos.preco * 1.1
WHERE fornecedores.pais = "China

```

### Conclusão


Como mostrado neste artigo, atualizar dados com join no MySQL é uma técnica poderosa para manipular e gerenciar dados de várias tabelas de forma eficiente. 

O exemplo mostrado aqui é apenas a ponta do iceberg, e existem muitas outras técnicas avançadas que podem ser usadas para manipular dados no MySQL.


Espero que tenha gostado! Se houver mais alguma dúvida ou precisar de ajuda com qualquer outra coisa, não hesite em me perguntar. Estou sempre disponível para ajudar.
Twitter cuts off access to its API for third-party app developers
Tags: news, discuss, socialmedia, twitter
Published: 2023-01-16 15:19:50

News broke at several tech-focused outlets over the weekend that Twitter seems to have purposefully cut off API access for third-party app developers, including the popular TweetBot and Twitteriffic.

Here are a few outlets' takes, with varying degrees of subjectivity:

{% embed https://www.theverge.com/2023/1/13/23553161/third-party-twitter-clients-apps-outage-twitterific-tweetbot %}

{% embed https://www.macstories.net/stories/twitter-intentionally-ends-third-party-app-developer-access-to-its-apis/ %}

{% embed https://techcrunch.com/2023/01/12/third-party-twitter-apps-tweetbot-twitterrific-echofon-down %}

I'm curious to hear from folks whose apps or primary Twitter workflows have been disrupted because of this change. How's it going out there, Twitter developers?
Second order thinking in practice
Tags: business, life, decision, esg
Published: 2023-03-21 18:28:23

---
title: Second order thinking in practice
published: true
date: 2023-01-16 15:07:00 UTC
tags: Business,life,decision,esg
canonical_url: https://greenido.wordpress.com/2023/01/16/second-order-thinking-in-practice/
---

Some decisions seem like wins at first, but turn out to be losses over time. Second-order thinking is the ability to think about the consequences of one’s actions, and to consider how different courses of action can affect the long-term outcomes. It is a tool that will help you examine the long-term effects of your decisions.   
In some cases, try to shift the timelines. Will this decision be impactful in 5 days? 4 weeks? 12 months? 10 years?

By doing this, you are looking at the larger picture and taking a longer-term view.   
To do this well, you will need to look at both the direct and indirect consequences of your decisions

Second-order thinking involves taking into account the ripple effect of your decisions and how they can affect the future. It requires you to think beyond the immediate outcomes and consider the future implications of your current choices. This is especially important for business decisions, where a single decision can have lasting implications.

Here are a few examples of how second-order thinking might be applied in practice:

1. In business, a manager might use second-order thinking when deciding whether to invest in a new product line. They might consider not only the immediate costs and revenues of the project, but also the long-term effects on the company’s reputation, market share, and competitive position.  
2. In personal finance, an individual might use second-order thinking when deciding whether to take out a mortgage or invest in stocks. They might consider not only the immediate costs and benefits, but also the long-term impact on their financial security (mental health) and ability to reach their goals.  
3. In environmentalism, a policy maker might use second-order thinking when deciding how to address climate change. They might consider not only the immediate costs and benefits of different courses of action, but also the long-term effects on the planet and on future generations.   
It’s hard to do.   
But it’s critical.
Software Solutions for Your Business Needs
Published: 2023-01-16 09:05:31


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nrjxyc0ymqj6f0i5d1gl.png)Are you looking for software solutions to help your business run more efficiently? Look no further than Genic Solutions! Genic Solutions is a cutting-edge [software development company](https://www.genicsolutions.com/custom-software/****) that provides innovative solutions to businesses of all sizes. We specialize in customizing software solutions to meet your specific needs.
Our team of experienced software developers offers a wide range of services, including web development, mobile application development, e-commerce solutions, and more. Our solutions are designed to help you streamline operations, increase productivity, and reduce costs. We create easy-to-use solutions that are tailored to fit your unique business requirements.
We understand that no two businesses are the same, so our software solutions are designed to be flexible and scalable. We take the time to get to know your business and its needs, so we can create a custom solution that perfectly meets your goals.
At Genic Solutions, we are committed to providing the highest quality software solutions and customer service. We ensure that our solutions are secure, reliable, and up-to-date. We also provide full training and technical support to ensure that you and your team can use our solutions with ease.
Online imaging tools to speed up your development
Tags: html, css, image, beginners
Published: 2023-01-16 14:58:16

Lets say you are developing an app, mobile or web for someone or your own project but you need logos, icon or images with certain size and transparency real quick. 

Here is a list of imaging tools available for free online that you can utilize to get that image in 5 minutes!

Say you scaffolded your app and need to change the header logo

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

and this is the logo you need to work with

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

and below is the style for the logo
`.logo {
  width: 120px;
  height: 31px;
  background: rgba(255, 255, 255, 0.2);
  margin: 16px 24px 16px 0;
  float: left;
}
`

1. Crop PNG & resize 
[https://resizing.app/](https://resizing.app/features/resize-png/)

crop

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

resize

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

2. Remove background [onlinepngtools.com](https://onlinepngtools.com/create-transparent-png)

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

3. use it

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

Now you have a transparent image to use as logo. Not the prettiest but that gets you going superfast!
MySQL - Column types for storing text
Tags: mysql, database, beginners
Published: 2023-01-16 14:54:05

See below what are the types of columns that MySQL supports for storing texts and what are the characteristics of each type.

## CHAR(size)

| Type   | Max character size |
| ------ | :-----------------:|
| String | 255                |

## VARCHAR(size)

| Type   | Max character size |
| ------ | :-----------------:|
| String | 65.535             |

## TINYTEXT

| Type   | Max character size |
| ------ | :-----------------:|
| String | 255                |

## TEXT

| Type   | Max character size |
| ------ | :-----------------:|
| String | 65.535             |

## MEDIUMTEXT

| Type   | Max character size |
| ------ | :-----------------:|
| String | 16.777.215         |

## LONGTEXT

| Type   | Max character size |
| ------ | :-----------------:|
| String | 4.294.967.295      |

## BLOB

| Type                | Max character size |
| ------------------- | :-----------------:|
| Binary Large OBject | 65.535             |

## MEDIUMBLOB

| Type                | Max character size |
| ------------------- | :-----------------:|
| Binary Large OBject | 16.777.215         |

## LONGBLOB

| Type                | Max character size |
| ------------------- | :-----------------:|
| Binary Large OBject | 4.294.967.295      |

***

## Thanks for reading!

If you have any questions, complaints or tips, you can leave them here in the comments. I will be happy to answer!
😊😊 See you! 😊😊

***

## Support Me

[Youtube - WalterNascimentoBarroso](https://www.youtube.com/channel/UCXm0xRtDRrdnvkW24WmkBqA)
[Github - WalterNascimentoBarroso](https://github.com/walternascimentobarroso)
[Codepen - WalterNascimentoBarroso](https://codepen.io)
ECMAScript 6 ⚡ Shorthand Properties & Method Names
Tags: javascript, node, webdev, tutorial
Published: 2023-01-16 14:53:07

Hey guys, how are you? This is going to be a short post and very straight to the point.

ES6 introduced a new **concept/feature** called “Property shorthand”, let's see an example of this feature below:

Let's imagine that we need to create an object to store information about a user, such as **first name**, **last name** and **age**:

<img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TytnzdmU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zn1x4qh9qy9lrfsrathe.png" />

Previously in ES5 we would do it as follows, we would create the object passing the property and value.

<img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5pltLsZe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eluo9p6adjspsf2o7ub4.png" />

If you noticed, this way there is a lot of repetition, imagine if we needed to create a "Person" object with more information about our user, we would have a lot more repetitions.

So that's when the shorthand property comes into action, the shorthand allows us to do the following: If the property and the variable have the same name, we just have to create the object as follows =>

<img src="https://res.cloudinary.com/practicaldev/image/fetch/s--u0B61wBB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i5rp6ekmfc35lq3tlqyt.png" />

This way he will understand that first we will pass the property which is "firstName", then he will pass the value, and so on.
That way, we write a lot less code.

Another really cool thing is the way we create functions inside an object using the shorthand, let's create a function to return our user's full name.

Old form:

<img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BrU8DbDV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/14k29k1nhe4dm3q8f2zc.png" />

How to use in ES6:

<img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HGzeWB-k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dhexh2vdtdvr4j45trx6.png" />

With the shorthand I no longer need to put the "function" the "getFullName" is enough.

This makes it much easier to read and we write much less.
Forcer la suppression de ressources Kubernetes
Tags: devops, sre, french
Published: 2023-01-16 14:41:00

Des fois, quand on travaille avec des **CR** *(Custom Resources - Ressources personnalisées)*, elles peuvent être bloquées dans la phase `Terminating`.

Aujourd'hui on va voir comment résoudre facilement ce soucis.
---

# Avertissemeent
Avant d'aller plus loin, je dois vous avertir de quelque chose. Forcer la suppression d'une ressource peut être risqué et peut générer d'autres problèmes.

Par conséquent, soyez sûr de ce que vous faites avant d'effectuer cette manipulation.

---

Pour forcer la suppression d'une ressource, suivez les étapes suivantes :

- Effectuez un `edit` de la ressource : `kubectl edit customresource/name`
- Enlevez le paramètre `finalizer`
- Supprimez la ressource : `kubectl delete customresource/name`

Et c'est tout!

J'espère que ça vous aidera! 🍺

---

<center><h3>Vous voulez me supporter?</h3></center>
<a href="https://www.buymeacoffee.com/mxguilbert7" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Me A Coffee" height="41" width="174"></a>
Learn to build with MERN stack
Tags: javascript, node, react, mongodb
Published: 2023-01-16 07:27:25

Assumption: You already know a few things, viz:

- Basics of JavaScript, and that it has no connection to Java at all
- What servers are, and the language(s) they speak. For this one, you only need to know about HTTP
- Node.js exists, and that it uses JavaScript. Also, you should have installed it already. If not, here's the link that saves you a search: [Node.js download](https://nodejs.org/en/download/)
- Facebook is not just good for mindless scrolling, it also gave us React.js
- MongoDB is a database that loves JSON and isn't serious about relationships

This guide is a stepping stone for wannabe developers who have chosen to build with the MERN stack. I know that Typescript is a thing, but to keep things introductory I have gone with JavaScript. Maybe people will tell you that you are not cool enough if you don't use Typescript, but my response to such remarks usually is - _Users of a website don't care if you have used JavaScript or C; what matters to them is whether the button does what it should do when they click it_

Before beginning, I feel I should announce that the series of posts I am linking later, do not go into great detail of the concepts but do touch a lot of them. I have tried to mention the "why" in mostly, but even then if some part leaves you wondering about stuff in general, please do reach out and I'll try to answer your question.

Alright, enough preaching! Crack your knuckles and let's get into it. We will begin by setting up a Node.js backend

**<u>_Next:_</u>** [Setting Up a Node.js Backend](https://dev.to/chiranjib_b/setting-up-a-nodejs-backend-3o0a)