teleren/devto huggingface dataset:
Creating a Virtual Machine; step by step guide
Tags: cloud, devops, python, microservices
Published: 2023-04-20 18:10:42

The required quick and simple steps to create a Virtual Machine are outlined below. 
Note that a virtual machine is emulation of a physical computer made possible by virtualization ( hypervisors).In Azure a virtual machine is an instance of Azure Compute Service. A virtual machine can be created to run on different operating systems and configurations. 

## Step 1: sign up/login to Azure
Sign up for an azure account and login to Azure Portal

## Step 2: Create a new virtual machine
[A] Here virtual machine is selected in a variety of ways; one can click on virtual machine on the home page or type in virtual machine on search box or click  on ' create a resource' button on portal menu then click on create on Windows Server 2019 Datacenter which is more specific. Since what is being created is a Windows Virtual Machine the basics tabs (Basics, Disk, Management, Advanced, Tags, Review + Create) are completed thus. 
Choose subscription then create a resource group followed after this stage give the virtual machine a specific name, select a region and availability zone from the drop down menu.

!(https://dev-to-uploads.s3.amazonaws.com/uploads/articles/76715osmb1ezgnlrnr7i.png)

## Step 3: Choose virtual machine size
From the size options, select the required size based on compute demand such as CPU power and RAM required.

!(https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1yfb9sqho2w3nlq9i79n.png)

## Step 4: Create username and password
Create a username and password under the administrator account section, both will be used to login to the virtual machine.

!(https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i3x4jd3jai3z96agto2w.png)

## Step 5:Allow inbound ports
Under inbound ports rules allow the default http(80), https (443) and RDP(3389). 

!(https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lod678ykujqroysq0myb.png)
Since the wizard tabs are completed, validate the virtual machine provisioning by clicking on Review + Create . After the validation is successful , click on "create" to deploy the virtual machine.
After the deployment is successfully completed, a virtual machine has been created.

!(https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6yhmwm6h5fzcbee8qqgg.png)

To connect to the virtual machine, click on Go to resource, next click on connect option on the overview page of virtual machine.
Download the RDP 

Next, open the downloaded RDP file and click on connect when 

Input the credentials that were created under administrator account section

Great, the created virtual machine has been connected to. 

!(https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lc8mf8ffdkp57r32hpku.png)

Now this virtual machine can be used as a computational resource.
Jiu Jitsu and Software Engineering: A Surprising Comparison
Tags: beginners, webdev, programming, career
Published: 2023-04-20 18:05:06

Jiu Jitsu and software engineering may seem like two completely unrelated fields, but surprisingly, they share a lot in common. Both require a strategic and analytical approach to problem-solving, and both involve continuous learning and improvement. In this article, we will explore the similarities between jiu-jitsu and software engineering and how you can apply these principles to boost your career.

### Focus on fundamentals:
In jiu-jitsu, mastering the basics is crucial to success. Similarly, in software engineering, focusing on fundamental concepts such as algorithms and data structures can help you build a strong foundation. By mastering the basics, you can develop a better understanding of complex concepts and improve your problem-solving abilities.

### Continuous learning and improvement:
Jiu-jitsu practitioners are always learning and refining their techniques. Similarly, software engineers must stay up to date with the latest technologies and best practices. By embracing continuous learning, you can improve your skills and stay relevant in an ever-changing industry.

### Strategic thinking:
Jiu-jitsu requires strategic thinking and the ability to anticipate your opponent's moves. Software engineering also requires strategic thinking to solve complex problems and anticipate potential roadblocks. By developing strategic thinking skills, you can become a more effective problem-solver and improve your decision-making abilities.

### Collaboration and communication:
In jiu-jitsu, you must collaborate with your training partners to improve your skills. In software engineering, collaboration, and communication are essential to working effectively in a team. By fostering collaboration and communication skills, you can improve your ability to work with others and achieve better results.

### Conclusion:
In conclusion, jiu-jitsu and software engineering share several similarities that can benefit your career. By focusing on fundamentals, embracing continuous learning, developing strategic thinking, and fostering collaboration and communication skills, you can become a more effective problem-solver and improve your productivity. Whether you're a jiu-jitsu practitioner or a software engineer, these principles can help you achieve success in your career.
Growing your Brand with Ankita Kulkarni
Tags: webdev, javascript, beginners, podcast
Published: 2023-04-20 17:55:05


Original: https://codingcat.dev/podcast/3-8-Growing-your-Brand

{% youtube https://youtu.be/DhnFQkvWtmU %}

## Links

* [Developer to Leader Course](https://www.developertoleader.com/)

### Questions

1. Can you tell us more about yourself?
2. What got you interested in developer education?
3. What made you want to make the transition from senior level and management roles into content creation?
  1. SEO - Search Engine Optimization, keyword research that will increase the awareness of your product.
      1. How do you focus on a topic? Find the things you are passionate about within a niche topic and focus on creating content on those. You have an individual voice that may speak to someone better than someone else’s content.
    2. Make sure you keep consistent both in your voice and content.
  2. How do you use SEO and keyword research to optimize my tech content for search engines? 
      1. Finding painpoints and intents that developers have and search for.
    2. Start with outlines and expand.
    3. Block time to focus on creating.
4. What formats of content creation have you explored? Does it bring you joy?? 
  1. newsletters - 2 newsletters breaking down code and engineering leadership
  2. YouTube videos - Planning your topics, outline talking points, find and editor to edit them for you 😅
  3. Courses - Think about the journey and what did I go through to get here. Rough outline and finalize content to have it ready. Have people try out your course and give feedback. Feedback is one of the best ways to get people interested and find bugs before you release a course.
  4. Ebook - Different types of learners may want a different medium so I wrote a book on the first 90 days of transitioning into engineering leadership.
5. How do you create engaging and informative tech content that will attract and retain readers?
  1. Asking for feedback and looking at what the community is asking around my topics.
6. Sometimes we struggle with where to post and where to gather with our users. We have Discord communities, YouTube and Twitch channels, and Twitter followings. With so many different place to communicate, how do you aggregate users to one place?
7. What are some ways to monetize content to generate income?
  1. digital content - making content accessible for everyone with free content
  2. ebooks
8. How do you create these code snippets on your site?
  1. [Snappify](https://snappify.com/)
9. What are some things you are trying to reach a wider audience?  
  1. Being consistent with content.
  2. Social media isn’t as
  3. marketing, email
  4. ads
  5. collaborate with other tech content creators or brands to grow reach and audience
  6. giveaways
10. How do you measure and track your success? 
  1. Google Analytics
  2. Newsletter subscribers
  3. Conversion rates
Tips to be a good Full-Stack-Developer
Published: 2023-04-20 17:48:12

Learn Fundamentals first. And be perfect in that

Revise all the things you've learnt(Tech Hub)

Make Projects on your own

Don't stuck in tutorial hell

Find a Mentor and held meeting every week with him/her and talk about what you've learn

Don't think of money the company will give Take the decision properly

Build Discipline

Focus on one language and immerse in it

Learn in Months

Use 90/90 Rule means first 90 is for UI/UX design and next 90 is of Backend.

Follow me for more ...
SyntaxError: Unexpected reserved word 'await' in JS
Tags: javascript, abotwrotethis
Published: 2023-04-20 17:02:02

JavaScript is one of the popular programming languages that are widely used to develop web applications. Like any other programming language, it has its own set of rules and syntax that must be followed to avoid errors.

One of the common errors that JavaScript developers face is the "SyntaxError: Unexpected reserved word 'await'" error. In this blog post, we will explain the causes of this error and how to fix it.

## What Causes the SyntaxError: 'Unexpected reserved word 'await'' Error?

The "SyntaxError: Unexpected reserved word 'await'" error occurs when the code tries to use the `await` keyword outside an `async` function. The `await` operator is used to wait for a Promise to resolve before moving on to the next statement. 

Since the `await` operator can only be used inside an `async` function, using it outside of an `async` function will result in a SyntaxError. 

Let's take a look at an example to understand this better.

```
function fetchData() {
  const response = await fetch('https://example.com/data');
  const data = await response.json();
  return data;
}

fetchData();
```

In the above example, the `await` keyword is used inside the `fetchData()` function. However, since the function is not an `async` function, the code will result in a SyntaxError.

## How to Fix the SyntaxError: 'Unexpected reserved word 'await'' Error?

To fix the "SyntaxError: Unexpected reserved word 'await'" error, you need to use the `await` operator inside an `async` function.

Here's an example:

```
async function fetchData() {
  const response = await fetch('https://example.com/data');
  const data = await response.json();
  return data;
}

fetchData();
```

In the above example, the `fetchData()` function is an `async` function, and the `await` operator is used inside the function. This code will run without any SyntaxError.

To summarize, when you use the `await` operator, make sure you are using it inside an `async` function. If you use it outside of an `async` function, it will result in the "SyntaxError: Unexpected reserved word 'await'" error. 

## Conclusion

In this blog post, we have explained the causes of the "SyntaxError: Unexpected reserved word 'await'" error in JavaScript and how to fix it. Remember to use the `await` operator only inside an `async` function to avoid this error.

JavaScript can be a tricky language at times, but with a little bit of practice and understanding of its syntax, you can become a pro in no time. We hope this blog post has been informative and helps you avoid future errors.
Get an overview of your databases/tables' dependencies in 1 minute.
Tags: database, awk, mermaidjs, lineage
Published: 2023-04-20 16:55:05

## Introduction

When working in big data, or even just "normal data", you may at some point have a lot of databases, with a lot of tables and a lot of dependencies between all these tables.

You may have to modify something in the data flow: a query, a table structure, name, or anything. And it can break stuff. A lot of stuff.

While I cannot help you not breaking stuff, I can help you know what can break (your project manager will call that "impact analysis", but we call that "features") with a little project of mine that generates automatically a [mermaidjs](https://mermaid.js.org/) diagram showing you all the links in and out of all the referenced tables in your SQL script: [sql-to-mermaid-awk (I know the name sucks)](https://github.com/Andromelus/sql-to-mermaid-awk).

And most important: It is written in [gawk](https://www.gnu.org/software/gawk/) ! Available on many *nix distros, even in your git for windows (git bash).

And before someone says it, yes, there already are some lineage tools. Only you can use it if the company or your wallet allows you to. ;)

## Example

Lets take this very simple SQL script. Note that it might not be a correct SQL script, but it matches all the correct syntax element for the program to understand it.

```sql
use raw_data_db;

# loading data from HDFS
create external table client (column string) location "/hdfs/path/somewhere";

use processing_data_db;

create table proc_client as
with raw_client as(

	select * from raw_data_db.client

),
raw_addresses as (
	select * from addresses
)

select * from raw_client
left join raw_addresses
on raw_client.id = raw_addresses.client_id;

use clean_data_db;

-- list all the clients and other company's clients
create view exposed_clients as select * from 
processing_data_db.proc_client

union all

select * from other_company_db.clients;

```

We have three databases, between one to two tables per database. Nothing fancy, but if you want to know, without any tool, which table requires which data, it will take you some time to manually draw something (with a pen, or any software).

With this sql-to-mermaid tool, a one line command does the trick:

`awk -f main.awk -v generate_html=1 < script.sql > diagram.html`

Which would create a HTML (diagram.html) file with the following:


![diagram no highlight](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nui9hqb0z3q1lcvpr1dh.PNG)

Ho, and to get the entire lineage of a table, just click on its name.

![diagram highlight](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zc2w9a1d3cmk7ekpvya8.PNG)

Now, imagine a team managing a datalake: Dozens of databases, dozens of tables per database, **at least** one HQL/Impala script to build one table, several tables joined together to create a new one, and no lineage tool (yup, personnal experience). Well, this project has you covered.
openGauss MOT Checkpoint Concepts
Tags: opengauss
Published: 2023-04-19 02:23:11

In openGauss, a Checkpoints is a snapshot of a point in the sequence of transactions at which it is guaranteed that the heap and index data files have been updated with all information written before the checkpoint.

At the time of a Checkpoint, all dirty data pages are flushed to disk and a special checkpoint record is written to the log file.

The data is stored directly in memory. The MOT does not store its data it the same way as openGauss so that the concept of dirty pages does not exist.

For this reason, we have researched and implemented the CALC algorithm, which is described in the paper named Low-Overhead Asynchronous Checkpointing in Main-Memory Database Systems, SIGMOND 2016 from Yale University.

Low-overhead asynchronous checkpointing in main-memory database systems.

CALC Checkpoint Algorithm – Low Overhead in Memory and Compute
The checkpoint algorithm provides the following benefits –

Reduced Memory Usage – At most two copies of each record are stored at any time. Memory usage is minimized by only storing a single physical copy of a record while it is live and stable versions are equal or when no checkpoint is actively being recorded.
Low Overhead – CALC's overhead is smaller than other asynchronous checkpointing algorithms.
Uses Virtual Points of Consistency – CALC does not require quiescing of the database in order to achieve a physical point of consistency.
Checkpoint Activation
MOT checkpoints are integrated into openGauss's envelope's Checkpoint mechanism. The Checkpoint process can be triggered manually by executing the CHECKPOINT; command or automatically according to the envelope's Checkpoint triggering settings (time/size).

Checkpoint configuration is performed in the mot.conf file – see the CHECKPOINT (MOT)section.
WAY TO LEARN PROGRAMMING LANGUAGE
Tags: beginners, programming, tutorial, productivity
Published: 2023-04-20 16:54:23

Before beginning to study a programming language, ask yourself why you want to do so. 
It's challenging to become a proficient coder without a specific goal. 
Consider the reason(s) you choose the specific programming language, and if you can come up with a satisfying response, it will help your learning.

1. **Start with the basics**: Before moving on to more advanced topics, you should have a firm grasp of some essential ideas in each programming language. You should familiarise yourself with the language's syntax, data types, variables, control structures, and functions.

2. **Practice**: To become proficient at programming, one must practice. Even if the code you produce is only for practice or little programs, you should write it frequently.

3. **Build projects**: A great method to put your programming skills to use is to build real-world projects. Begin with simple tasks and gradually add complexity as you acquire experience.

How can you learn programming languages through building projects?

1. **Building projects** provide you with practical practice using the language you're learning. You'll face challenges that you must overcome, and you'll learn how to create code that operates in the real world.

2. **Real-world applications**: You can use the language you're learning to construct projects and real-world apps. You might create a game, a smartphone app, or a website, for instance. This makes it easier for you to see how the language fits into the broader scheme of software development.

3. **Problem-solving abilities**: Building projects necessitates this ability, which is essential for any programmer. You'll discover how to use the characteristics of the language to solve big issues by breaking them down into smaller, more manageable chunks.

4. **Creativity**: Developing projects enables you to use your coding creativity. You can experiment with various strategies and discover brand-new approaches to problem-solving. Finding your own programming voice and growing your talents are both impacted by this.

5. **Portfolio**: Completing projects gives you a collection of work you can show prospective employers or customers. This will make you stand out from the competition and show off your programming abilities.
43 berufliches Vorwärtskommen: Hüte dich vor dem Davonschleicher.
Tags: deutsch, career, motivation, discuss
Published: 2023-04-20 16:35:54

Moin Moin,

neben dem [Einflüsterer→](https://dev.to/amustafa16421/40-berufliches-vorwartskommen-schutze-dich-vor-dem-einflusterer-3g4g) sollte man sich noch vor dem Davonschleicher hüten. Also demjenigen der sich aus der Verantwortung stiehlt. Dies macht er selbstverständlich _nicht_, wenn es Lorbeeren zu verteilen gibt. Sich davonschleichen tut er dann, wenn etwas schiefgegangen ist und jemand dafür geradestehen muss.

Jetzt könntest du auf den Gedanken kommen, dass dich dies nichts angehe, da es um die Verantwortung eines anderen geht. Teilweise stimmt dies. Jedoch ist zu bedenken, dass Software-Entwicklung ein „Teamsport“ ist. Das heißt nicht, dass grundsätzlich „Sippenhaft“ gilt, jedoch dass folgende zwei Aussagen zutreffen könnten:

1. Das Team prüft nicht sorgfältig, ob alle vorankommen.
2. Der Davonschleicher schafft es gegebenenfalls jemand anderen die Schuld in die Schuhe zu schieben.

Wenn sich jemand „erfolgreich“ davonschleichen kann, muss zwangsläufig _jemand oder etwas anderes_ für ein Problem geradestehen.

1. Hast du schon mal einen Davonschleicher entlarvt?
2. Hattest mal du einen Vorgesetzten der sich davonschlich?
3. Wie geht ihr mit Verantwortung in deinem Unternehmen um?

Beste Grüße,
Mustafa

Austausch mittels E-Mail: mustafa.kevin.dwenger@posteo.de
Betreff: Austausch
CSS Slide out animation for Image Gallery
Tags: web, frontend, webdev
Published: 2023-04-20 16:29:04

You likely have an image gallery or a blog post thumbnail gallery on your website, if so, this article will definitely help you bring your gallery to life and make it more interactive. To discover how to do this, read on. 

It's actually very simple and you can do it with about 20 lines of code in total, but the result is awesome. Sliding animated images are much more appealing than static images

First we need to make the gallery itself in HTML

```
<div id="gallery">

<!-- this is where your images go -->
<div>
```
Note that this code will not show anything because the src attribute needs to be added.
Additionally add the alt attribute so that if the image doesn't load you will still have some text in its place. Now so that your gallery isn't all stacked vertically let's make it flex with CSS.
Firstly create CSS file and copy or write this code inside it

```
#gallery{
display: flex;
}
#gallery img {
margin: 3rem 1.5rem;
border-radius: 1rem;
max-width: 40rem;

}
```
Now we have a flexed image gallery, but it sadly doesn't do anything. I added a `border-radius` property because I don't like completely square images, but if that's okay with you, you can delete it.
In the next step we will make the images slide upwards when you hover over them with css transition, so hang on.
Firstly add this code to the  `#gallery img` selector:

```
transition: all 400ms ease-in-out;
```
Now we will need to make the actual transition using this code:

```
#gallery img:hover{
transform: translateY(-1.2)
}
```
Look at your image gallery, it looks awesome, and even has a cool animation. You can be proud of yourself now.
A free solidity tutorial for experienced programmers
Tags: solidity, ethereum, web3, smartcontract
Published: 2023-04-20 16:24:28

RareSkills has released a free and comprehensive introduction to Solidity for experienced programmers.

Although there are many resources for the language, many of them are written to audiences new to programming. It is wonderful that blockchain has introduced many people to the world of coding.

But for senior engineers, using these resources can sometimes be frustrating and slow-moving. Our new tutorial is an up-to-date (2023), information-dense guide with tailored hands-on exercises.

## Advantages
- The resource is recent, with all examples written in the latest Solidity syntax (0.8.19)

- Obvious concepts like for loops and if statements are glossed over.

- Unique topics like how code can transfer cryptocurrency and interact with other smart contracts are explained thoroughly.

- Each chapter concludes with a list of exercises to practice. These exercises are open-sourced in our [solidity exercises](https://github.com/RareSkills/Solidity-Exercises) Github repo. The exercises are written in the [Foundry framework](https://book.getfoundry.sh/), which is the most advanced and up-to-date development framework for Solidity as of 2023.

The curriculum is designed to help the reader start developing real smart contracts as soon as possible, instead of toy examples. This helps motivate the information. We created the topic progression by working backward from common protocols like ERC20 tokens and NFTs rather than enumerating common topics in Ethereum development.

The smart contract and blockchain space will do well to attract experienced coders who can knowledge transfer useful know-how from other programming domains. This resource will help facilitate their introduction.

You can see the [free solidity tutorial](https://rareskills.io/learn-solidity) here. No credit card or email is required.