teleren/devto huggingface dataset:
Yet Another Newsletter LOL: Signals!
Tags: solidjs, newsletter, css, mysql
Published: 2023-03-06 00:03:08

<p>Just a heads up that there will be no newsletter next week as I&rsquo;m on vacation. This one&rsquo;s coming to you a little earlier as I&rsquo;m off to snowboard. Regular programming will resume the following week.</p>
<p>And with that, another week, another newsletter. Let&rsquo;s get to it!</p>
<h2>Around the Web</h2>
<ul>
<li>My co-worker Ryan drops another great post about signals.
{% embed https://dev.to/this-is-learning/making-the-case-for-signals-in-javascript-4c7i?utm_source=nickytonline&utm_medium=email&utm_campaign=yet-another-newsletter-lol-signals-9320 %}
</li>
<li>This was a fun video to watch. Chris Coyier shows us some modern CSS while having fun with the <code>&lt;blockquote /&gt;</code> HTML tag.

{%embed https://youtu.be/UFVXBHLYdu4 %}</li>
<li><a href="https://twitter.com/aarondfrancis/status/1630289809380986880?s=20&amp;utm_source=nickytonline&amp;utm_medium=email&amp;utm_campaign=yet-another-newsletter-lol-signals-9320" target="_blank">PlanetScale is finalizing 64 videos for their free MySQL course</a>! This will become an invaluable resource if MySQL is in your daily work life or you want to learn it.</li>
</ul>
<h2>Fun Stuff</h2>
<p>This just had me rolling on the floor. These images are sooo goooood!</p>
{% embed https://twitter.com/hamcarless/status/1630765933768724483 %}
<h2>Words of Wisdom for the Week</h2>
{% embed https://twitter.com/kelseyhightower/status/1631680658648211456 %}
<h2>Shameless Plugs</h2>
<p>It was great hanging out with <a href="https://juristr.com/?utm_source=nickytonline&amp;utm_medium=email&amp;utm_campaign=yet-another-newsletter-lol-signals-9320" target="_blank">Juri Strumpflohner</a> this week and learning about <a href="https://nx.dev/?utm_source=nickytonline&amp;utm_medium=email&amp;utm_campaign=yet-another-newsletter-lol-signals-9320" target="_blank">Nx</a>!</p>{% embed https://www.youtube.com/watch?v=ktNvO2BezRY %}
<p>Remember to like and subscribe! 😎</p>
<h2>Jobs</h2>
<ul>
<li>Forem is looking for a <a href="https://jobs.forem.com/o/senior-full-stack-engineer-1?utm_source=nickytonline&amp;utm_medium=email&amp;utm_campaign=yet-another-newsletter-lol-signals-9320" target="_blank">Senior Full Stack Engineer</a> – <em>Remote</em></li>
</ul>
<p>I post jobs in the iamdeveloper.com community, plus all other kinds of content, as do others. If you&rsquo;re looking for another friendly nook of the internet, head on over to <a href="https://discord.iamdeveloper.com?utm_source=nickytonline&amp;utm_medium=email&amp;utm_campaign=yet-another-newsletter-lol-signals-9320" target="_blank">discord.iamdeveloper.com</a>.</p>
What are the benefits of learning programming?
Tags: programming, leadership, webdev, beginners
Published: 2023-03-06 00:00:43

- Programming is an invaluable skill to learn in today’s digital world. 

- It can open up a variety of opportunities for career advancement, as well as allow you to become more creative and innovative. 

- Learning programming allows you to develop problem-solving skills useful in almost any field. 

- With the right knowledge, anyone can create their own programs and applications that could revolutionise how we interact with technology daily. 

- The most obvious benefit of learning programming is its potential for job security - coding skills are highly sought after by employers across many industries such as finance, healthcare, education and even entertainment. 

- Companies need programmers who understand how computer systems work to build software solutions or debug existing ones quickly and efficiently.

- This makes them extremely valuable assets in any organization’s workforce! 

- Furthermore, having these skills may also give students an edge when it comes time to apply for college or graduate school admissions since schools often look favourably upon applicants who have demonstrated technical abilities like coding proficiency on their resumes or application essays. 

- Finally, learning programming provides individuals with new ways of expressing themselves creatively. 

- By understanding how computers think, people are able to craft unique algorithms which bring life into static data sets; this enables them not only to explore interesting topics but also to make meaningful contributions towards improving our society through technological advances. 

- Additionally, there are plenty of online resources available where beginners can start developing basic coding projects without needing prior experience – making it easier than ever before for someone interested in exploring the world of programming!



###### Top 5 Websites Every Programming Student 👨‍💻 Must Know! 🎉

🎥 {% youtube w2BnabjrsIE%}


#### Bonus

###### 15 Free Harvard Courses🎓📣🔥🎉

🎥 {% youtube mdlS34KDlCk&t=2s%}


###### Python top free courses from Coursera🐍💯🚀

🎥 {% youtube 2VRXU2H4q0c%}


### Connect with Me 😊

#### 🔗 Links

[![linkedin](https://img.shields.io/badge/linkedin-0A66C2?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/mahmoud-el-kariouny-822719149/)

[![twitter](https://img.shields.io/badge/twitter-1DA1F2?style=for-the-badge&logo=twitter&logoColor=white)](https://twitter.com/Mahmoud42275)
How to connect your MySQL database with N8N
Tags: opensource, elestio, mysql, n8n
Published: 2023-10-11 13:05:22

---
title: How to connect your MySQL database with N8N
published: true
date: 2023-03-05 23:57:59 UTC
tags: opensource, elestio, MySQL, n8n
canonical_url: https://elestio.hashnode.dev/how-to-connect-your-mysql-database-with-n8n
---

[n8n](https://elest.io/open-source/n8n?ref=blog.elest.io) is a popular open-source workflow automation tool that allows you to automate repetitive tasks and create custom workflows. The installation process automatically includes a Database for you but if you want to have more control over it (like backups/sharing it with other projects/scalability) you can connect it to your own. In this article, well walk you through the steps of how to set up a MySQL instance and connect it to your n8n instance.

If you dont have a ready-to-use n8n instance you can click here to deploy it first:

### Step 1: Create your managed MySQL instance

In your [Elestios dashboard](https://dash.elest.io/?ref=blog.elest.io) create a new service and select MySQL.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1697005611615/2732846d-6915-4bd4-8639-f1e655f0c3c4.png)

From there you can select your instance resources. You can increase it later when needed.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1697005614525/1d8cca3b-44ea-42de-9b9f-64e7ed6a556e.png)

When your instance is ready you receive an email to notify you with a link to access your admin panel where you can get your credentials for the next step.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1697005616339/ec1a47a4-6346-4dae-bf1e-1ce53648bb8d.png)

### Step 2: Setup N8N Environment Variable

The first step is to add an environment variable. You can do this in the .env file in Visual Studio Code (VSCode) or from the Elestio Dashboard > Update config button.

The environment variables you need to add are the followings:

- `DB_TYPE=mysqldb` or `DB_TYPE=mariadb`

- `DB_MYSQLDB_DATABASE` (default: 'n8n' but you can use another one if you want)

- `DB_MYSQLDB_HOST` (copy **Host** from your dashboard)

- `DB_MYSQLDB_PORT` (copy **Port** from your dashboard)

- `DB_MYSQLDB_USER` (copy **User** from your dashboard)

- `DB_MYSQLDB_PASSWORD` (copy **Password** from your dashboard)

It should look like this (with your values):

```
DB_TYPE=mysqldb DB_MYSQLDB_DATABASE=n8n 
DB_MYSQLDB_HOST=mysql-ina8z-u4.vm.elestio.app 
DB_MYSQLDB_PORT=24306 DB_MYSQLDB_USER=root 
DB_MYSQLDB_PASSWORD=bY9zFTww-Jc9D-qUfJXJg4

```

### Step 3: Restart your instance

Once your environment variables are set, on your instance admin dashboard, go to the software section and hit restart. Once its reloaded your n8n instance will be connected to your MySQL one!

It also works with other type of databases. If you need more information we recommend you to jump into [n8n documentation](https://docs.n8n.io/hosting/supported-databases-settings/?ref=blog.elest.io#mysql-mariadb).

_Originally published at_ [_https://blog.elest.io_](https://blog.elest.io/how-to-scale-your-n8n-with-your-own-mysql-instances/) _on March 5, 2023._
Change Flutter launcher icon for Android
Tags: flutter
Published: 2023-03-05 23:44:45

Flutter ships with their default launcher icon. It is nice but you probably want a custom one. These are the steps I took to change mine:

1.- Get a the image you want to use as a launch icon as png.
2.- Save it in `assets/whatever_the_name_of_the_file.png`.
3.- Install `flutter_launcher_icons` library (link [here](https://pub.dev/packages/flutter_launcher_icons)). We are setting the icon for Android only, so add the following to `pubspec.yaml`:

```
flutter_icons:
  image_path: "assets/whatever_the_name_of_the_file.png"
  android: true
```

4.- Run:

```
flutter pub get
flutter pub run flutter_launcher_icons
```

The second command will generate the images in the appropriate android folders. Please note that the app cannot be running in development, otherwise you will get errors. 

5.- That's it. There are other attributes that you can use for other platforms and other settings, but I didn't need to use them. Read about them in the package [documentation](https://pub.dev/packages/flutter_launcher_icons).
Why Do Social Media Platforms Make Success a Difficult Process?
Tags: socialmedia, creator, challenge, discuss
Published: 2023-03-05 23:27:24

Creating content on social media platforms like LinkedIn, Facebook, and Instagram is essential for reaching and engaging with audiences. As a content creator 👩‍💻, I enjoy creating and sharing new ideas with my followers. However, determining the optimal time to post my content is one of my most significant challenges.

I checked the insights provided by the platforms 📊, but they don't automate post-scheduling based on this data. This means I have to manually track when my followers are most active online and schedule posts accordingly. It can be time-consuming and frustrating, especially when juggling other responsibilities. What if I've moved to a different time zone or have other priorities? 🤔

As a content creator, I want to focus on my creativity and content development 🎨📝. Still, the post-scheduling process requires me to do more. I must spend money on third-party tools to automate this process or continually experiment with different schedules to find the best time to engage with my followers.

It's frustrating that social media platforms still need to implement a feature to automate post-scheduling based on follower activity. I want to share my content with my community. Still, the post-scheduling process needs to be more inclusive and supportive of my needs. It takes away from my creativity and content development, which is unfair. 😔

I must continue to adapt to the platforms to succeed. Still, I wish social media platforms would do more to support my needs as a creator. In the meantime, I'll experiment with different schedules and utilise third-party tools to ease the burden of manual post-scheduling. I hope that one day, social media platforms will provide us with the tools we need to succeed, so we can focus on what we do best – creating great content. 🙏🏼
Useful Keyboard Shortcuts
Published: 2023-03-05 23:00:04

- **F2**: Rename identifier.
- **Ctrl + W**: Context sensitive selection (press multiple times to expand the selection).
- **Ctrl + Shift + W**: Reversing context sensitive selection.
- **Ctrl + Shift + R**: Open refactoring quick menu.
- **Ctrl + Alt + Enter**: Reformat code.
- **Double Shift**: Search everywhere.
- **Ctrl + Shift + A**: Quick menu to create a file.
- **Alt + Enter**: Show Intention Actions.
- **Ctrl + Space**: Basic auto completion.
- **F12**: Go to implementation.





_<u>Get full list</u>_ [here](https://www.jetbrains.com/help/rider/Reference_Keyboard_Shortcuts_Index.html)
Cleaner Code & Refactoring Tools (C# & Rider)
Tags: cleancode
Published: 2023-03-05 22:59:24

series: How refactoring tools can help you write cleaner code

Refactoring refers to the process of enhancing the internal structure of code while preserving its external behavior. It plays a crucial role in software development as it enables developers to modify code without introducing bugs or disrupting existing functionality.

The practice of refactoring involves making small, incremental modifications to code, aiming to enhance its readability, maintainability, and scalability. Typically, refactoring occurs during the maintenance and update phases of code development.

Refactoring tools are software applications that automate the process of refactoring. These tools assist developers in identifying areas of code that can be improved and offer suggestions for implementing those improvements.

Integrating with Integrated Development Environments (IDEs) like Eclipse, Visual Studio, or IntelliJ IDEA, refactoring tools become a part of the development workflow. They can also function as standalone applications within a development setup.

Refactoring tools contribute to cleaner code in multiple ways. Firstly, they detect areas of code that could benefit from improvements by identifying duplicated code, unused variables, and other code smells. This feedback assists developers in prioritizing the refactoring process and addressing areas that require the most attention.

Secondly, refactoring tools provide recommendations for improving code quality. They propose ways to simplify code, extract methods, and enhance naming conventions, aiding developers in writing cleaner and more maintainable code.

Thirdly, refactoring tools automate the refactoring process by executing tasks like variable renaming, method extraction, and code relocation across classes or files. This automation saves developers time and reduces the risk of introducing new bugs.

Lastly, refactoring tools help enforce coding standards and best practices, ensuring code quality. They can verify code compliance with established guidelines and highlight areas that deviate from these standards. This promotes consistency and maintainability in the codebase.

To sum up, refactoring tools are indispensable for developers seeking to produce clean, maintainable code. They identify areas for improvement, offer suggestions, automate refactoring tasks, and uphold code quality. Utilizing these tools enables developers to enhance their code's quality, while minimizing the risk of introducing bugs.

In the upcoming series, we will explore practical examples of refactoring C# code using the Rider IDE (or Resharper). This exploration will emphasize the benefits and advantages of employing refactoring tools.
Suspending Outlook and Hotmail Emails for Registration
Tags: steemit, blockchain, reg, blog
Published: 2023-03-05 22:51:53

I have to suspend the account registration via Outlook and Hotmail emails because with same accounts, the hotmail/outlook ([Microsoft](https://helloacm.com/a-microsoft-coding-interview-screening-for-position-principal-software-engineer/) provider) could have as many aliases as possible. I have observed many spam registrations (with obvious same account email aliases).

![image.png](https://cdn.steemitimages.com/DQmdr68TTp223DYjX3DfGbaK86jWeYEEhXDF1BrHaxdekCp/image.png)

There is no good solutions to this, as the emails look totally different. Gmail addresses can be detected as the dots and labels (+) can be easily identified.

However, if you do want to use hotmail or outlook to register, please contact me at justyy [at] zoho.com and I'll take a look and approve it case by case.

Register a free STEEM account at [here](https://steemyy.com/reg.php)

<hr/>

### [Steem](https://steemyy.com) to the Moon!
You can swap the STEEM/SBD to USDT (TRC-20) via [Steem2USDT](https://steemyy.com/steem2usdt.php)
A Complete Guide to Internationalization in React using React i18n
Published: 2023-03-05 21:37:46

Are you a developer looking to add multi-language support to your React application? Look no further than React i18n! In this comprehensive guide, you'll learn everything you need to know about initializing React i18n, adding languages, getting languages from JSON files or an API, caching language preferences in cookies, structuring files inside your project, and updating translations.

Check out the full article here: [https://muhammedcuma.medium.com/complete-guide-to-internationalization-in-react-using-react-i18n-15bfd7d736e8](https://muhammedcuma.medium.com/complete-guide-to-internationalization-in-react-using-react-i18n-15bfd7d736e8).

With this guide, you'll be well on your way to creating a truly global application that can reach a wider audience. Happy coding!
Criando o primeiro app com expo router.
Tags: expo, exporouter, reactnative, exporoute
Published: 2023-03-05 22:20:30

Para iniciarmos, vamos começar criando nosso projeto expo da forma badrão selecionando a a opção de black page como na imagem a baixo.

`OBS: estou ultilizando a versão 1.2.1 do react-router no momento que o tutorial foi escrito.`

![terminal](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bm553qhhcf4h25qjd0wa.png)

Projeto criado vamos iniciar a configuração do nosso projeto, abra ele no seu editor de preferência e seu terminal. No terminal executar os seguintes comandos:

```bash
npx expo install expo-router react-native-safe-area-context react-native-screens expo-linking expo-constants expo-status-bar
```

```bash
npx expo install react-native-web@~0.18.10 react-dom@18.2.0
```

Enquanto o pacote é instalado vamos criar um arquivo chamado `index.js` ou `index.ts` caso seu projeto seja em typescript e ao abrir o arquivo colar o seguinte código.

```javascript
import "expo-router/entry";
```

Agora no seu `package.json` alterar o main dele e apontar pro arquivo criado a cima.

No `app.json` colocar o codigo a baixo.

```json
{
  "expo": {
    "scheme": "myapp",

    "web": {
      "bundler": "metro"
    }
  }
}
```
Na documentação oficial é dito para adicionar o `resolutions` caso use o `yarn` ou ` overrides` caso use o `npm`, como nem sempre uso um padrão eu adicionei ambos.

```json
"resolutions": {
    "metro": "0.73.7",
    "metro-resolver": "0.73.7"
  },
  "overrides": {
    "metro": "0.73.7",
    "metro-resolver": "0.73.7"
  },
```

Agora o ultimo passo antes de executarmos nosso projeto é alterar o `babal.config,js`.

```javascript
module.exports = function (api) {
  api.cache(true);
  return {
    presets: ["babel-preset-expo"],
    plugins: [
      // NOTE: `expo-router/babel` is a temporary extension to `babel-preset-expo`.
      require.resolve("expo-router/babel"),
    ],
  };
};
```

Para executarmos a primeira vez vamos ultilizar o `npm` para podermos limpar o cache e ter mais segurança na execução:

```bash
npx expo start --clear
```

Se apareceu essa tela quer dizer que a configuração foi um sucesso.


![Tela de sucesso](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7c8g286go1kr3cicjzk8.png)

Nesse ponto observe as pastras do seu projeto antes e depois de clicar no botão que a tela do app está pedindo para tocar.


![Arquivos antes](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/86x3ffy6j1ilw8k6y4x3.png)

Note que o proprio expo criou uma pasta chamada `app` e dentro dela o arquivo `index.js`.


![Arquivos depois](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mssyld1wm0887gc5e0aq.png)

Agora basta editar seu `app/index.js` e criar seu app com esse novo pacote que promete executar as rotas de um app como se fosse na web.

<br/> <br/> 
###### Referências:

[Doc](https://expo.github.io/router/docs/)
Why does chapgpt is so poweful especially If it comes to Python
Tags: chatgpt, ai, python, beginners
Published: 2023-03-05 22:20:11

Chapgpt is a powerful language model because it was trained on a massive amount of text data using deep learning techniques. Specifically, Chapgpt was trained using a transformer-based architecture, which allows it to process and understand natural language in a way that is similar to how humans do.

As for why Chapgpt is particularly powerful in Python, it's because Python is a popular language for data science and machine learning tasks. Python has a wide range of libraries and frameworks for natural language processing, and Chapgpt can easily integrate with these tools to provide powerful language modeling capabilities.

In addition, Chapgpt's open-source nature and easy-to-use API make it accessible to developers and researchers, allowing them to experiment with and build on top of the model to create new applications and innovations.
Service Worker lifecycle
Tags: pwa, javascript, webdev
Published: 2023-03-05 22:13:04

Getting started with Progressive Web Apps (PWAs)? Here's a succinct explanation of the [service worker](https://web.dev/learn/pwa/service-workers/) (SW) lifecycle and update process.

## SW lifecycle:

1. The SW is registered with
     ```javascript
     if ('serviceWorker' in navigator) {
        navigator.serviceWorker.register("/serviceworker.js");
     }
     ```
2. The browser attempts to download and parse the SW file as JavaScript.
3. If it succeeds the install event is fired (it only fires once). The SW is now installed but not yet in control of its clients like the PWA.
4. By default, the SW will not take control until the next time you navigate to the page by reloading it or re-opening the PWA.

![SW Lifecycle](https://sketchviz.com/@santisbon/e09914c18e60eb9a76e31a9a37eb22cc/c0189157aacc7f6d16ce1c7684d1dafbbfad8510.sketchy.png)

## Updating a SW

You can find all the details [here](https://developer.chrome.com/docs/workbox/service-worker-lifecycle/#handling-service-worker-updates) and can be summarized like this:
1. Browser detects that the SW currently controlling the client and the new (from the server) version of the same file are byte-different.
2. After the new SW is installed it will wait to activate until the old SW no longer controls any clients. This way only 1 version of the SW runs at a time. Refreshing the page or reopening the PWA won't make the new SW take control.
3. The user closes or navigates away from all tabs and windows using the curernt SW and then navigates back. The new SW takes control.

![SW Update](https://sketchviz.com/@santisbon/2d2264a2a938d6ccaf5a3b95de0a34fe/f31c80d4f992fca95bfa00f44bf53ff9fcf7378a.sketchy.png)
How to import Bookmarks into Vivaldi? some steps to follow ...
Tags: vivaldi, browser, bookmarks
Published: 2023-03-05 22:10:45

How to import Bookmarks into Vivaldi 


i am going to import the Bookmarks from another browser on the same computer or from an HTML file,
therefore i go to the Vivaldi menu > File > Import from Applications or Files.
and finally i select which browser i want to import bookmarks from. note i have saved my bookmarks in a file, so i going to select Bookmarks HTML file from the dropdown menu. and subsequently i am going to click the button Start Import.

Do you have more tipps for working with Vivaldi?! Just add your ideas, tipps and more...
Setting up python Packages
Published: 2023-03-05 22:09:27

1. 
**Setting up Perfect python packages:** https://dev.to/sourcery/how-to-set-up-a-perfect-python-project-4871

2. **Python Package management:**
2.1 : **Part - 1 :** https://dev.to/dbanty/the-python-dependency-stack-n0d
2.2 : **Part - 2:** https://dev.to/dbanty/vanilla-python-stack-99a
2.3 : **Part - 3:** https://dev.to/dbanty/pipenv-the-newer-dependency-manager-23ga