teleren/devto huggingface dataset:
An AWS Community Builder Christmas - Thank you!
Tags: cbchristmas2022, aws, awscommunitybuilders
Published: 2022-12-21 16:44:21

The year ends, and we reflect and are thankful for all the great things we got to live in 2022 and prepare to enjoy everything 2023 will bring us.

And that includes the AWS Community Builder's program.

## What surprises you most about the community builders program?

The **Community** in AWS Community Builders. Is not just a group of people bragging about who does the most community reach, but a community in itself. You get to know and interact with great people, motivated and willing to go the extra mile to teach others (and themselves) about tech and the cloud. The experience of experience that energy and gusto for our profession fill you with energy and promise.

## What’s your background and your experience with AWS?

I am starting to feel like a veteran with six years of cloud experience, seeing the best and the worst that cloud projects can bring you.

## What’s the biggest benefit you see from the program?

The recognition. It works wonders for your self-image to know you have been accepted to a program of this magnitude and are recognized as a valuable partner for aws.
And the swag doesn't hurt, either. To arrive at a meetup in your "AWS Community Builder" hoodie makes an impact.

## What’s the next swag item that you would like to get?

A nice pin would be great.

## What are you eating for dinner today? Share the recipe!

https://cookpad.com/mx/recetas/99788-tamales-chiapanecos

## Is there anything else you would like to say about the community builders program in 2022?

Thank you very much!
Have a great Christmas, a happy new year, and a better 2023!

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c1ox4skkexq7deho5s9x.png)
Top websites for website vulnerability checks online
Tags: website, vulnerability, checks, websecurity
Published: 2022-12-21 16:26:41

---
title:  Top websites for website vulnerability checks online
published: true
description: 
tags: website, vulnerability, checks, websecurity 
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2022-12-21 10:32 +0000
---

Website vulnerabilities can compromise the security and integrity of your online presence, potentially leading to data breaches, malware infections, and other serious consequences. To ensure that your website is as secure as possible, it's important to regularly check for vulnerabilities and take steps to address any issues that are found. Here are the top ten websites that you can use to check for vulnerabilities in your website:

#####Acunetix: 
This tool offers comprehensive website scanning and vulnerability testing, including for SQL injection, XSS, and more.

#####Qualys SSL Labs:
 This tool allows you to check the SSL/TLS configuration of your website and identify any vulnerabilities or weaknesses.

#####Sucuri SiteCheck:
 This tool scans your website for malware, vulnerabilities, and other security issues.

#####Nessus:
 This tool offers a range of security testing capabilities, including vulnerability assessment and web application scanning.

#####WebInspect:
 This tool offers comprehensive website security testing, including for vulnerabilities such as SQL injection and cross-site scripting.

#####ImmuniWeb:
 This tool offers a range of website security testing services, including vulnerability assessment and web application scanning.

#####Burp Suite:
 This tool is a comprehensive web application testing platform that includes a range of features for identifying vulnerabilities.

#####HCL AppScan:
 This tool offers a range of security testing capabilities, including web application scanning and vulnerability assessment.

#####Nikto:
 This open-source web server scanner can be used to identify a range of vulnerabilities, including those related to outdated software versions.

It's important to note that no single tool can identify all vulnerabilities, and it's recommended to use a combination of tools and approaches to ensure that your website is as secure as possible. To access these websites, you can use the following links:

Acunetix: https://www.acunetix.com/
Qualys SSL Labs: https://www.ssllabs.com/
Sucuri SiteCheck: https://sitecheck.sucuri.net/
Nessus: https://www.tenable.com/products/nessus-vulnerability-scanner
WebInspect: https://www.microfocus.com/en-us/cyberres/application-security/webinspect
ImmuniWeb: https://www.immuniweb.com/
Burp Suite: https://portswigger.net/burp
AppScan: https://www.hcltechsw.com/products/appscan
Nikto: https://cirt.net/Nikto2
Compilation vs. Transpilation
Tags: beginners, typescript, javascript, programming
Published: 2022-12-21 16:23:42

## TLDR

Compilation is the process of turning source code into machine code, while transpilation is the process of turning source code from one high-level language into another.

## Background story

Today I had a conversation with two of my colleagues about the difference between compilation and transpilation. They asked me to explain it to them in simple terms, and I thought it would be a great idea to write an article about it for anyone who might be wondering about the same thing.

Compilation and transpilation are both processes that involve turning source code written in one programming language into another. However, there are some key differences between the two that I will explain below.

## Compilation

Compilation is the process of converting source code written in a high-level programming language (such as C++ or Java) into machine code that can be run on a computer. This machine code is specific to the type of processor that the computer is using and is generally not readable by humans. Compiling source code allows it to be run more efficiently on a computer, as the machine code is optimized for the specific processor it is being run on.

## Transpilation

Transpilation, on the other hand, involves converting source code from one high-level programming language into another. For example, transpiling TypeScript to JavaScript involves taking source code written in TypeScript and converting it into JavaScript. This process is often used to allow code written in newer or less widely-used programming languages to be used in environments where those languages are not supported.

### Typescript and JavaScript

One example of transpilation in action is the conversion of TypeScript code to JavaScript. TypeScript is a programming language that was developed by Microsoft and is a superset of JavaScript. It adds features to JavaScript such as static typing and class-based object-oriented programming, which can make it easier to write large-scale applications. However, not all environments support TypeScript, so transpiling it to JavaScript allows it to be used in those environments.

## Feel free to contact me

I hope this explanation of the difference between compilation and transpilation has been helpful! If you have any questions or would like further information, please don't hesitate to ask.

## Full Disclosure

I used tools such as ChatGPT and Grammarly to help me write this article. These tools assisted in the writing process by suggesting alternative phrases and correcting grammar errors, but the content of the article is entirely my own work.
Three great virtues of a programmer
Tags: programming, productivity, discuss, watercooler
Published: 2022-12-21 16:14:52


In his book "Programming Perl" (also known as "Camel Book"), Larry Wall encourages us to develop these three great virtues of a programmer: laziness, impatience, and hubris.

There are many ways to interpret this, but in the second edition of the book, we have a glossary with definitions of these terms:

**Laziness**

The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful, and document what you wrote so you don't have to answer so many questions about it. Hence, the first great virtue of a programmer. Also hence, this book. See also impatience and hubris. (page 609)

**Impatience**

The anger you feel when the computer is being lazy. This makes you write programs that don't just react to your needs, but actually anticipate them. Or at least pretend to. Hence, the second great virtue of a programmer. See also laziness and hubris. (page 608)

**Hubris**

Excessive pride, the sort of thing Zeus zaps you for. Also the quality that makes you write (and maintain) programs that other people won't want to say bad things about. Hence, the third great virtue of a programmer. See also laziness and impatience. (page 607)

---

I've seen a lot of criticism of this, especially in the context of the author and his design of Perl, but leaving that aside, I think there's some truth to this.

Almost all great programmers I've met had these virtues, at least to some degree (and in some sense of these words). A sort of pride or hubris is a huge motivator to improve things, to come up with something better. And the combination of impatience and laziness can help you to force yourself to find less wasteful, less broken ways.

That being said, I've also seen lousy programmers with these virtues, so I'm not sure I'd recommend actively developing them; but if you already do have them, maybe you can use them to your advantage.
        
<hr><small>
Note: This is a snapshot of the wiki page from the <a href="https://betterways.dev">BetterWays.dev wiki</a>, you can find the latest, fully formatted version here: <a href="https://betterways.dev/three-great-virtues-of-a-programmer">betterways.dev/three-great-virtues-of-a-programmer</a>.
</small>
Kubernetes local environment set up in Mac
Tags: kubernetes
Published: 2022-12-21 16:10:26

Environment Setup in Mac :

- 
kubctl : It is a command line tool that helps to connect to K8S Cluster. Run the following command - 
```
brew install kubectl
```
After installation check the version with the following command -
```
kubectl version
```

- 
Hyperkit : Install a Hypervisor
```
brew install hyperkit
```

See the installations done already using the command - 
```
brew list
```

- 
Minikube : Minikube is a tool that helps to run K8S Cluster in local machine. It runs Single Node K8S cluster on local machine which eases the process of development.
Install - 
```
brew install minikube
```

Verify installation -
```
minikube version
```
Start Minikube(prerequisite - Docker Daemon should be up and running) - 
```
minikube start
```
Status of Minikube - 
```
minikube status
```
Check the Cluster Information - 
```
kubectl cluster-info
```
Check nodes - 
```
kubectl get nodes
```
Stop Minikube - 
```
minikube stop
```
Delete cluster
```
minikube delete
```
Devs watch out - another supply chain attack methodology emerges!
Tags: security
Published: 2022-12-21 15:56:30

As a cybersecurity observer, I get amazed (on a daily basis) by the amount of innovation that attackers put behind exploiting the newest attack surfaces. Take the software supply chain for example - there was a malicious "SentinelOne" SDK package uploaded to PyPi python opensource repository. 

#what
This package pretends to be a legitimate SDK but was actually uploaded to the OSS repo with the intent of stealing data from developers. It has already been downloaded 1000+ times.

(SentinelOne is one of the known names in the cybersecurity space - looks like these attackers are taking inspiration from the phishermen carrying out phishing attacks in the name of Bank of America :P )

#how
Here is how this opensource software supply chain attack methodology works:
1) Malicious SDK package with a legit-sounding name gets uploaded to the PyPi open-source repo but on a random IP not belonging to the SentinelOne vendor company.
2) Package has a trojan hidden inside, which besides offering access to SentinelOne API, also secretly captures the data being exchanged by the systems using this malicious package.
3) The systems whose developers download and utilize this package get compromised and then attackers are able to steal any sensitive data exchanged by the compromised system not limited to:
a) K8s/AWS config info 
b) host/gitconfig files and credentials within these files
c) Bash / SSH histories

This begs the question, as a security professional or DevOps professional dealing with everchanging attack surface dynamics, how do you plan to deal with your software/infrastructure security in the future?
Why You Should Ignore the Naysayers and Keep Learning
Tags: webdev, beginners, javascript, discuss
Published: 2022-12-21 15:53:05

As a self-taught web developer who has been working through The Odin Project's curriculum, I have learned a lot about the importance of building a strong foundation in core concepts. Recently, I had a conversation with a friend who works as a developer at a popular MNC, and they repeatedly told me that I was wasting my time by focusing on core concepts and that I should just choose a framework, build projects, and learn that way.

While I agree that building projects is a great way to learn, I strongly disagree with the idea of skipping core concepts like vanilla JavaScript in favor of jumping straight into a framework like React. In my experience, people who give this type of advice and those who follow it are often primarily motivated by the desire to land a job. And there's nothing wrong with that - I'm not saying that wanting a job is a bad motivation. However, if your only focus is getting hired, you should consider that there are hundreds of younger developers who already know the framework and a lot of other things, and ask yourself why a recruiter would choose to hire you over them. And consider how much difference there would be in the paychecks of both of them.

I've even spoken with a React developer who had two years of experience but couldn't differentiate between syntax from vanilla JavaScript and syntax provided by React.

In my opinion, it's essential to have a solid foundation in core concepts before moving on to frameworks or libraries. By understanding how they work and how to use them effectively, rather than just following a recipe without truly understanding the ingredients, you will be better equipped to succeed as a developer.

Ultimately, if you're still learning, I would advise you to stop focusing on what others are telling you and focus on your passion. And if you are the person giving this type of advice, realize that what worked for you might not work for everyone. It's not a one size fits all approach when it comes to learning. Instead of telling someone else how they should learn, consider offering them resources and support to help them achieve their learning goals.
Class Component or Functional Component
Tags: webdev, javascript, react, oldwaynewway
Published: 2022-12-21 15:42:29


In React, class components are JavaScript classes that extend the `React.Component` base class and contain a `render()` method, which returns a JSX element representing the component’s rendered output. Class components can also have state and lifecycle methods, which allow them to manage data and perform actions at specific points in the component’s lifecycle.

Functional components, on the other hand, are simple JavaScript functions that accept props as an argument and return a JSX element representing the component’s rendered output. They do not have state or lifecycle methods, and are typically used for presentational components that do not need to manage any internal data or perform actions at specific points in their lifecycle.

You should use class components when you need to manage state or perform actions at specific points in the component’s lifecycle. You should use functional components when you don’t need to manage state or perform actions at specific points in the component’s lifecycle, and you just want to render some UI based on props.

With the introduction of React hooks in version 16.8, it is now possible to use state and other React features in functional components as well. This means that you may not always need to use class components, and you can use functional components even if you need to manage state or perform actions at specific points in the component’s lifecycle.

Here is an example of a class component in React:

```
import React, { Component } from 'react';

class MyClassComponent extends Component {
  state = {
    count: 0
  };

  incrementCount = () => {
    this.setState({ count: this.state.count + 1 });
  }

  render() {
    return (
      <div>
        <button onClick={this.incrementCount}>Increment count</button>
        <p>Count: {this.state.count}</p>
      </div>
    );
  }
}
```

This class component has a state object that stores a count, and a method called incrementCount that increments the count by one. It also has a render method that returns a JSX element containing a button and a paragraph element displaying the current count.

Here is an equivalent functional component using React hooks

```
import { useState } from 'react';

function MyFunctionalComponent() {
  const [count, setCount] = useState(0);

  return (
    <div>
      <button onClick={() => setCount(count + 1)}>Increment count</button>
      <p>Count: {count}</p>
    </div>
  );
}
```

This functional component uses the `useState` hook to add state to the component. It has a variable called count that stores the current count, and a function called `setCount` that updates the count. It also has a JSX element that is similar to the one in the class component example.

I hope these examples help to illustrate the difference between class and functional components in React! Let me know if you have any other questions.
🏆 How do you evaluate the importance of StackOverflow reputation to find a job?
Tags: beginners, programming, career
Published: 2022-12-21 15:35:11

As a junior developer, my reputation on StackOverflow has really helped me get a job in positions that I wouldn't have been able to apply for with my limited experience. Indeed, many recruiters and senior developers have been impressed by my involvement in this forum and have seen a lot of potential.

However I noticed that many developers, both juniors and seniors, are not very active on this platform and doesn't seem to realize the impact it can have when searching for a job.

To be sure, I would appreciate your feedback on this question: 
 > How do you evaluate the importance of StackOverflow reputation to find a job?

**Link to the poll:** https://www.linkedin.com/posts/johannchopin_activity-7011290355278970880-iCEc


![preview of the poll](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aaoejyajnfx2lb0i0rr1.png)

Thanks in advance for your time😊
It's been a while...
Tags: career, programming, update, watercooler
Published: 2022-12-20 22:04:40

Hey there, fellow Devs!

Long time no see, right? I know, I know – I'm the worst at keeping up with my blog. But I've got some updates to share, and maybe even a little bit of encouragement.

First things first: life is good! No, seriously. I mean, sure, I've been super busy at work (my company is diving into some cool new tech like VR, AR, and XR) and at home (my kids keep me on my toes – my oldest will be 6 in 2023, my middle child is 4, and the little one will be 2 by the end of the year). But overall, things are going great.

And as I look back on my nearly 7 years in software development, I've learned a few things. Like, for example, senior developers are usually right (who knew?). They told me not to worry about certain things, and I worried about them anyways. And they told me to focus on other things, but I was too busy worrying about memorizing syntax. But it turns out they were right all along. Go figure.

But something that's been surprising to me is that I actually enjoy leadership roles, mentorship, and all that jazz. I mean, who would have thought I'd get excited about project management and code cleanup? And don't even get me started on meetings with clients – I love discussing business needs and advocating for my professional opinions. It's like, who am I even?

Anyways, I'm looking forward to the future and all the twists and turns it brings. I know there will be projects I love and projects I loathe, but that's all part of the journey. And who knows, maybe I'll discover even more things I never thought I'd enjoy as a software engineer. I mean, I've already taught middle school classes and mentored junior developers, and those were pretty great. So bring on the surprises!

Revised and Edited by an AI! (https://chat.openai.com)
Top 100+ AWS Architect Interview Questions and Answers
Tags: aws, awsinterviewquestions, edureka, cloud
Published: 2022-12-21 15:32:11

In this Edureka AWS Interview Questions video, you will get to know the questions which you may face in the interview, the concepts explained here are essential for any Solution Architect in the making.

{% embed https://www.edureka.co/blog/interview-questions/top-aws-architect-interview-questions %}
Heartbeat Messaging: What is it?
Tags: webdev, beginners, tutorial, programming
Published: 2022-12-21 15:31:44

In a [distributed system](https://dev.to/pragyasapkota/distributed-system-the-definition-nkh), network failures are bound to happen. Multiple servers are working together in sync which can be disrupted if one of the servers fails in any way. When we discussed [load balancing](https://dev.to/pragyasapkota/load-balancing-why-do-we-need-them-1kfn) and [leader election](https://dev.to/pragyasapkota/leader-election-2pk), we briefly discussed how the server chooses its leader and how they work periodically with their responsibility. Under leader election, there is a specific server to handle the task of avoiding the clusters from the other servers working on the same problem at once.

We learned the basic concept about it earlier, now we have a term — Heartbeat messaging. It represents those messages that all the servers send the center server at every time interval to let it know that they are functioning well. The heartbeat messaging is a metaphorical representation since the servers tell the central server they are alive.

If there is a case where there is no leader server or the central server, the servers self-select a set of servers and transfer the heartbeat message to those servers. The time interval to send the message is typically set by a few seconds.

This helps the system know if a server is down — it won’t be sending any heartbeat messages for a while.

{% embed https://github.com/pragyaasapkota/System-Design-Concepts %}

**_I hope this article was helpful to you._**

**_Please don’t forget to follow me!!!_**

**_Any kind of feedback or comment is welcome!!!_**

**_Thank you for your time and support!!!!_**

**_Keep Reading!! Keep Learning!!!_**