teleren/devto huggingface dataset:
UPDATE iasql SET source = 'open';
Published: 2022-04-14 20:59:07

We are excited to announce that [IaSQL](https://iasql.com) is now open source! The main repository is under https://github.com/iasql/iasql-engine. As perfectionists, we feel like IaSQL will never be truly ready. However, we believe IaSQL is at the point where it can start to be useful for developers managing infrastructure in the cloud. IaSQL is a SaaS that lets you model your infrastructure as data by maintaining a 2-way connection between your AWS account and a Postgres SQL database to represent the definitive state (and status) of your cloud which cannot be achieved with a static infrastructure declaration. This means that when you connect an AWS account to an IaSQL instance it automatically backfills the database with your existing cloud resources. No need to painstakingly redefine or reconcile your existing infrastructure, and IaSQL's [module system](https://docs.iasql.com/module/) means you can specify which parts of your cloud infrastructure you wish to control.

![2-way connection](https://iasql.com/lib_TQbMwqDvYvWhOqVJ/ae7kf13uek0k6mul.gif)

IaSQL also makes it possible to express infrastructure changes as code that can be version controlled. This can be done with any [migration system](https://en.wikipedia.org/wiki/Schema_migration) for schema and data changes, or in a script using [idempotent SQL inserts](https://www.prisma.io/dataguide/postgresql/inserting-and-modifying-data/insert-on-conflict) more akin to [IaC](https://en.wikipedia.org/wiki/Infrastructure_as_code).

PostgreSQL IaSQL databases can be provisioned and configured via our [dashboard](https://app.iasql.com). The dashboard calls the [engine](https://github.com/iasql/iasql-engine) which is a Node.js server written in Typescript that provisions unmodified PostgreSQL instances loaded with tables representing AWS services controlled via the [AWS SDK](https://www.npmjs.com/package/aws-sdk). AWS is our main focus at the moment, but we plan to support GCP, Azure and other cloud providers soon. This is an [updated list](https://github.com/iasql/iasql-engine#cloud-providers) of the AWS services that we currently support. Let us know if you need a specific AWS service and we should be able prioritize it!

![dashboard](https://iasql.com/lib_VymYUCjjDarpARbl/87bwoyulswfitjo5.png)

We want to make it easier to write IaSQL modules, reduce waiting times when provisioning infrastructure, add more functionality to the existing AWS services, and so on. The list of things we want to build into IaSQL is long, but we want to do it in the open with your feedback and help. Drop us a line on [Discord](https://discord.com/invite/machGGczea)!
Some things you can do with Python
Tags: python
Published: 2022-04-14 20:22:44

[Python](https://python.org) is a high level programming language. It can be used for everything from writing simple scripts to building complex applications. 

There are thousands of modules created by other programmers that can be used in python programs along with the python standard library.

To get a feel for what you can do with python check out this list of common things people use it for.

## Games

[PyGame](https://www.pygame.org/) is a Python module designed for writing games. It uses the SDL library to provide fast low level access to audio, keyboard, mouse, joystick, and graphics. 

Developing games in Python with PyGame is a great way to get started in game development. PyGame is fast and easy to use, and it provides all the features you need to develop complex games.

It's mainly aimed at simple 2d games like arcade, rts or tetris. It is quite [easy to learn](https://pygame.fun/pygame/).

## Web development

Web development is a tricky industry, one in which there are hundreds of different languages at play, each with its own quirks and features. The problem becomes even more complicated when you need to combine web development with other skills.

Flask is one of the most popular Python web framework for developing web applications. It is designed to make getting started [quick and easy](https://pythonflask.xyz/blog/how-to-use-flask), with the ability to scale up to complex applications. 

One of the ideas of web apps with Python is to be dynamic. Not every page should be the same, but data should be grabbed from a database. In the web, it's always [SQL](https://python.bond/posts/sqlite-database-with-python/)
that is used for that.


![python flask](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lj3bjjrmtyhxoqt7nsoe.jpeg)

## Desktop apps

You can build desktop apps with Python and Qt. It's easy to use and has great documentation, making it a breeze to create professional-looking applications. It currently supports Windows, Mac and Linux. It has tons of features and widgets.

Qt is a powerful toolkit that can help you create great-looking desktop applications. Python is a great language for creating desktop apps. Together, these two technologies can help you quickly [create desktop apps](https://www.python-me.org/a-brief-introduction-to-pyqt). Qt has tons of features and widgets, making it easy to create rich, user-friendly applications. Python is easy to use and has great documentation, making it a breeze to get started with creating desktop apps.

![pyqt desktop app](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mudgk4horct264ojvq0x.png)
Create Static Template with AEM
Published: 2022-04-14 20:03:00

---
title: Create Static Template with AEM
published: true
description: Notes on how to create static template in AEM. These are my notes and references of my learning.
tags: 
//cover_image: https://direct_url_to_image.jpg
---
####These are my notes which I have taken while learning AEM

Static templates are created in apps🗂 directory

**Go to CRXDE lite**
Navigate to **apps/your-project-folder/templates/~create template**

If you're starting fresh. You may need to create *"Your project folder"* and *"templates"* folder under apps directory

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

In resource type add the path to your page structure. This will be a page rendering component.

I have added **/apps/training2/components/structure/staticpagetemplate** Again create the folder structure if this does not exists

Click next

**Allowed Paths**
I want this available under my content path so i have added 
/content/*


Click next

You can further restrict the template by choosing Allowed Parents and Allowed Children. I kept it blank and click ok 👌

📄 Now create your page rendering components under *apps/your-project-folder*

Create folders like *apps/your-project-foolder/components*

Inside the component folder create */content* and */structure* folders

**Create a components inside structure folder**

Use resource super type to */libs/wcm/foundation/components/page* 
so rather than creating page component from scratch. we are inheriting it from out of the box page component.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1z2rhhuhuzz13n78spsv.png)
  
Now you will be able to create a page out of template you have created. 

Go to site and from root you can create page and you will be able to see the template you have created to choose from. Now you can create a page out of that template.

**📂 Your folders structure in CRXDE looks something like this.👇**
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/65qqgl7tfxfk990kz90i.png)
 
If this helps and want to know more on creating Dynamic Templates with AEM stay tuned. I will also be sharing my notes on how can you create Dynamic templates.

👉[Notes on Dynamic Templates in AEM](https://dev.to/vish448/creating-dynamic-templates-in-aem-3dk1)👈
Welcome Thread - v169
Tags: welcome
Published: 2022-04-14 19:52:21

---
title: Welcome Thread - v169
published: true
description: Welcome to DEV! A thread of hellos and intros.
tags: welcome
canonical_url: 
---

![Retro kid saying "yo"](https://media.giphy.com/media/tyttpHcuYVfzl0XisE0/giphy.gif)

### Welcome to DEV!

1. Leave a comment below to introduce yourself! You can talk about what brought you here, what you're learning, or just a fun fact about yourself.

2. Reply to someone's comment, either with a question or just a hello. 👋 

**Great to have you in the community!**
NVIDIA Unveils Next-Gen Automotive DRIVE Hyperion 9 And A New DRIVE Map Platform
Tags: ai, robotics
Published: 2022-04-14 19:49:17

At this week's GTC conference, NVIDIA announced the commencement of manufacturing of its NVIDIA DRIVE Orin autonomous car computer, highlighted new automakers using the NVIDIA DRIVE platform, and revealed the next version of its NVIDIA DRIVE Hyperion architecture.

According to NVIDIA, the DRIVE Orin system-on-a-chip has been used by more than 25 car manufacturers (SoC). They'll start introducing software-defined automobiles this year, based on the centralised AI computing platform.

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

BYD and Lucid Group revealed at GTC that their next-generation fleets will use NVIDIA DRIVE. Beginning in early 2023, BYD will begin selling next-generation NEVs based on the DRIVE Hyperion software-defined platform. DRIVE Orin will be used by these fleets to provide intelligent driving, parking, and other features.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f1o4tofrrcogzko518by.png)
 
NVIDIA DRIVE is at the heart of Lucid's DreamDrive Pro sophisticated driver-assistance technology. The NVIDIA centralised computation architecture is incorporated with every Lucid Air sedans' ADAS systems. According to the business, DreamDrive Pro is built to develop in capabilities with over-the-air software upgrades and future-ready technology already installed in the car.

NEV companies like as NIO, Li Auto, XPeng, SAIC's IM Motors and R Auto Brands, JiDU, Human Horizons, VinFast, WM Motor, and others are creating software-defined fleets on DRIVE, in addition to BYD and Lucid.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b7ms9tvrjcdbc6x40h87.png)
 
Huang also unveiled the next-generation of the DRIVE Hyperion architecture, which will be based on the Atlan computer and will begin shipping in 2026, during his GTC speech. The next-generation platform, according to NVIDIA, will improve sensor data processing performance and expand the operational areas of complete self-driving vehicles. The sensor suite on the DRIVE Hyperion 9 will have 14 cameras, nine radars, three lidars, and 20 ultrasonics.
Being a Sheriff for the First Time
Tags: opensource, challenge, leadership, management
Published: 2022-04-14 19:47:30

Last week I got an opportunity to be a Sheriff for the [Telescope](https://github.com/Seneca-CDOT/telescope) repo. 

## The Fear
To be honest, becoming a sheriff was a role I was scared the most about. I wasn't looking forward to it. Not because it is a huge responsibility, or because we have to do a release, or push people to review code, or anything else. I was scared because talking to so many people at once and me having to hold the meetings/do presentations is something that's out of my comfort zone. It just makes me super exhausted mentally. I could do anything else 24h straight but holding a meeting for 30 minutes makes me restless real fast🥵😰.

## Our Supportive Community 
After sweating about being a sheriff, I actually learned that it is not that bad. It is just another skill that I would have to master eventually. Or at least become more comfortable with it. I also received a lot of support from my classmates before, during, and after the release time🤗 Well, some of them almost gave me a heart attack😅🥵 joking around about how hard doing the release is and freaking out about whatever I did as if I have done something wrong🤪

Furthermore, I would love to thank my professor Dave who is always trying to support everyone. He encourages people to fight their scariest fears but accept themselves as they are at the same time. It is so impressive how some people care about other people so much every step of the way😎🙏🏻. 

I will never forget this kind of support from our community. Some people are amazing, it is hard to believe. 

## Something Interesting We Tried

It was pretty cool trying out live reviews during our triage meeting. It does make a huge difference, especially when it comes to reviewing big PRs. 

The way it worked was that someone who made a huge PR would share their screen and go through their thought process and explain what they did. Then, others would ask questions or suggest changes to the PR.

While it is time consuming, it is definitely worth it in the long run. It can save a lot of time outside of the meeting when it comes to understanding and reviewing someone's code.
😎😋🐱‍💻

## Conclusion
 
At the end, I kind of enjoyed making decisions, being a leader, and encouraging people. Even though I know I have a lot of areas where to improve on regarding leadership skills, I think that holding the meetings last week was a good start. 

I, once again, learned that having such good relationships with people is a blessing. We are always stronger when  we are together. Sometimes, even a single like on Slack to one's message OR replying to someone during the meeting when no one else does can make a difference in someone's day :) 

🙈😋🥰
Minimum Operations to Make two strings Equal
Tags: dynamicprogramming, java, dsa, codenewbie
Published: 2022-04-14 19:32:20

The idea behind this code is that we check for the longest common subsequence(LCS) in both the strings and once we get it, we simply subtract the length of that LCS from both strings and add both the differences.
eg: str1 = "abcd" :  str2 = "aed"
    Here we have "ad" as LCS so in str1 we delete b,c which is 2 
    operations and we insert "e" in it which is another operation.
Hence total of 2+1=3 operations.
This can also be written as **(str1-ad)+(str2-ad)** or **(str1+str2)-2*ad** or **(str1.len + str2.len)-2*LCS.len** . 

`public static int operationsCount(String s1, String s2) {
        
        int n=s1.length();
        int m=s2.length();
        int prev[]=new int[m+1];
        
        for(int ind1=1;ind1<=n;ind1++){
            int cur[]=new int[m+1];
        for(int ind2=1;ind2<=m;ind2++){
            if(s1.charAt(ind1-1)==s2.charAt(ind2-1))
                cur[ind2] = 1 + prev[ind2-1];
            else
                cur[ind2] = 0 + Math.max(prev[ind2],cur[ind2-1]);
        }
        prev= cur;
    }
    
    return (n+m)-2*prev[m];
    }`
Day 6: CRA freedom (finally)
Published: 2022-04-14 19:25:27

Hi!
Yes I was finally able to setup a react project without create-react-app but I think I will still use it for the project itself but I can say that I now really understand how most of the configuration works I plan to write a guide tomorrow that I may come back to when if I forget 

anyway how was today in one word you ask? `Boring` I didn't feel like doing anything really. after working on the react setup I watched movies for  the rest of the day and I'm now going to sleep early. rest is very important but I better wake early tomorrow will be a long day. I plan to look into setting a Testing environment with Jest or configuring Tailwind whatever I find easier...

signing off...
Ruby and Active Record Associations
Published: 2022-04-14 19:09:22

Active Record Associations come in handy when working with multiple models (tables) in your database.  Having a good understanding of Active Record will make working with data across multiple models easier.  Associations you can build are one-to-many and many-to-many associations.  

When you have two models a one-to-many association can be used.  For example, you have a database with the models: Games and Reviews.  In this case, you can imagine that a game can have many reviews, and a review will belong to one game.  The Review model will read as **"belongs_to :game"**, and the Games model will read as **"has_many :reviews"**.

When working with multiple models a many-to-many association is used here.  Now imagine you have a database with the models: Games, Reviews, and Users.  A user can have many reviews and be associated with many games through their reviews.  The Review model will read as **"belongs_to :game"**, and **"belongs_to :users"**.  The Games model will read as **"has_many :reviews"** and include **"has_many :users, through: :reviews"**.  The Users model will read as **"has_many :reviews"** and include **"has_many :games, through: :reviews"**.

Naming is important when using Active Record associations so be careful to use singular vs. plural naming conventions.
Made With Appwrite - Appwrite Hackathon
Tags: appwritehack, madewithappwrite, javascript, vue
Published: 2022-04-14 18:55:09

I've been using Appwrite for my projects for a while now and I must say that I've always been impressed. Its versatility and ease of use have made me fall in love with it. 

Despite being a young project its projection is great and today I would like to give back to the team a tool that can help them reach the stars. 

## What is "Made With Appwrite"?

Made With Appwrite is a web application that allows developers to aggregate their projects created with Appwrite, regardless of what technology they have used.

This allows the developer to make their projects visible and the Appwrite team to showcase the wonderful tools that have been built with this tool.

###Features:
- User Registration
- User Login
- Submit / Edit / Delete Projects
- Upload files to Storage
- Create Teams
- Admin Dashboard
- Enable / Disable Projects

###Apwrite Services:
- Teams
- Users
- Database
- Locale
- Storage
- Account

###Tech Stack:
| Technology |     Used For     |
|:----------:|:----------------:|
| Vue.Js     | Frontend         |
| Appwrite   | Backend          |
| Element Ui | Style Components |
| TypeScript | Primary Language |
| Pinia      | State Management |

### Inspiration:

{% embed https://madewithvuejs.com/ %}

### Submission Category:
Maybe Web2 Wizards, can someone please confirm?

### Link to Code

{%embed https://github.com/reyesmfabian/made-with-appwrite %}


### Additional Resources / Info

The Project is Live !!! 

Feel free to test it 

{%embed https://madewithappwrite.com/ %}
Titbits: Promises
Tags: javascript, beginners, discuss, startsmall
Published: 2022-04-14 18:53:24

// Example 1:
```js
const p = Promise.resolve('A');

p.then(function (val) {
  console.log(val);
  p.then(function () {
    console.log('D');
  });
  console.log('B');
});

p.then(function () {
  console.log('C');
});
```

// Example 2: 
```js
const p = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve('A');
  }, 100);
});

p.then(function (val) {
  console.log(val);
  p.then(function () {
    console.log('D');
  });
  console.log('B');
});

p.then(function () {
  console.log('C');
});
```

### What is the output of Example 1 and 2?

Both logs same output: A B C D

Few things to observer

- It doesn't matter if the promise is immediately resolved (Example 1) or took 100ms in (Example 2), the output remains the same. Because promises behaves asynchronous all the time.
- We are calling `p.then` multiple times, i.e A promise is once resolved it has immutable value either resolved or rejected. 
- Why can't the output be A D B C?
```js
// Step 1
p.then(function (val) {
  // Step 2
  console.log(val)
  p.then(function () {
    // Step 3
    console.log('D')
  })
  console.log('B')
})
```
Promises are added to job queues in the Event loop, it has a tick which loops and executes any callback event queues scheduled. For every one such tick or end of one async loop, it checks for the job queues and runs execute any callbacks.

In the above example inside Step 2, JS engine starts printing first console and adds p.then to job queue and prints B. And finally job queue picks up after the async loop and executes Step 3.
Real Time Events Using Soketi - Laravel 9
Tags: php, laravel, webdev, programming
Published: 2022-04-14 18:51:39

It's great to have this great article explaining Broadcast and receive real-time events in Laravel 9 using Soketi, a very simple, fast, and resilient open-source WebSockets server I found it and wanted to share it with you because of the importance of this topic that I asked about more than once. I found that this article will help you.

- https://kbouzidi.com/real-time-events-with-laravel-and-soketi

I hope you enjoyed with me and I adore you who search for everything new.
Webhooks for Sheets
Tags: showdev, googleappsscript
Published: 2022-04-14 18:51:38

Hey peeps 👋🏾

Just a quick share here that my upcoming product — **Webhooks for Sheets** is now LIVE on Product Hunt and you can start your experiments with the add-on here —
https://www.producthunt.com/posts/webhooks-for-sheets

![Webhooks for Sheets](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4vno1rng2zgntdr0du2o.jpeg)

Would love to hear back from you about ways in which the tool can be improved or if you'd like to contribute to the actual Webhook code, you can do that too from here —
https://github.com/choraria/google-apps-script/blob/master/Sheets/Webhooks

I'll continue sharing more updates on [Twitter](https://twitter.com/choraria) and [LinkedIn](https://www.linkedin.com/in/choraria/) so feel free to follow along and engage in whatever way you feel like ☺️

Cheers,
Sourabh
How to run Dart code on Google Cloud IDE
Tags: dart, googlecloud
Published: 2022-04-14 18:37:49

Below is the step to run [Dart](https://dart.dev) code on [Google Cloud editor](https://cloud.google.com/shell/docs/editor-overview). Google Cloud editor has multiple alias names. Some of the names are Google Cloud Shell shell or IDE.

## Step

- Sign in to Google Cloud Account.
- Open Google Cloud IDE using the link below.

Link: https://ide.cloud.google.com/
- Click File > Open menu to open directory / folder.
- Click File > “New File” menu to create a new file.
- Type file name as “hello-word.dart”.
- Type dart code in the “hello-word.dart” file.

Sample code: https://github.com/manikandank276/blog/blob/main/dart-101-part-1.dart
- Click Terminal > “New Terminal” menu to open terminal if not opened.
- Run the below command to configure Google Cloud project using below command.

`Command: gcloud config set project <google-cloud-project-id>`
- Click on the “AUTHORIZE” button in the “Authorize Cloud Shell” screen.
- Run the below command to go to the directory which contains the dart file.

`Command: cd <directory>`
- Run the below command to execute the dart file.

`Command: dart hello-word.dart`
- Dart and Flutter SDK downloads and installs automatically.
- Code output displays in the terminal.

## Screenshot

![Google Cloud editor](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3tc3qvpsy570ac1w91a9.png)