teleren/devto huggingface dataset:
Using SQL with Delta Lake [Create: Data]
Tags: opensource, news, showdev, discuss
Published: 2020-12-03 20:04:27

---
title: Using SQL with Delta Lake [Create: Data]
published: true
description: Learn about Delta Lake at Create: Data online event
tags: #opensource #news #showdev #discuss
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/7p2dgcnmv9mk87z14ktg.jpg
---

Do you work with data lakes? This session is for you! Join [Jacek](https://about.me/JacekLaskowski) and I as we talk about Delta Lake, an open-source storage management system (storage layer) that brings ACID (atomicity, consistency, isolation, durability) transactions and time travel to Apache Spark and big data workloads.

This past summer, Delta Lake 0.7.0 was released for use with Apache Spark 3. It was a [HUGE exciting release](https://github.com/delta-io/delta/releases/) that also introduced full coverage of SQL DDL(data description language) and DML(Data Manipulation Language) commands. We'll be talking about this release and how Delta Lake approaches the challenges that can arise when working with data lakes.

Join us for [Create: Data](https://aka.ms/createdata) online event, and please put your questions in the chat and here, we are more than happy to take all your questions and thoughts with our speakers.
Developers cheat sheets
Tags: discuss, beginners, cheatsheets, developers
Published: 2020-12-03 19:45:45

When I study something, I always write a summary of what I learned, for myself, sometimes on paper, sometimes in a document on my computer ...

Over time, I noticed that many developers did the same, online, creating cheat sheets related to specific tools, methodologies, good practices and so on ... initially for themselves or their co-workers, and over time for the community.

I used to store these cheat sheets on my computer, to keep the basics and tips easily available when I needed to access them.

Recently, I wondered why I was keeping them just for me, as it could benefit many other developers as well.

This is the reason why I created a [cheat sheets repository](https://github.com/GuillaumeFalourd/developers-cheat-sheets) storing those cheat sheets that were relevant to my area.

I encourage everyone to create their own cheat sheet repositories, and share them with others.

What about you?
Do you take note after learning something? 
What do you do with those notes afterwards?
What do you like and/or hate most about distributed conferences? Answer for the chance to be featured on our podcast!
Tags: discuss, podcast
Published: 2020-12-03 19:45:23

---
title: What do you like and/or hate most about distributed conferences? Answer for the chance to be featured on our podcast!
published: true
tags: discuss, podcast
---

The [DevDiscuss Podcast](https://dev.to/devdiscuss) begins with an interview and ends with commentary from listeners — and we like to feature the actual _voices_ from our community!

> ### **This week's prompt: “What do you like and/or hate most about distributed conferences?”** 
  
For your chance to appear on an upcoming episode, answer the question above by:

- Calling our Google Voice at +1 (929)500-1513 and leave a message 📞

- Sending a voice memo to pod@dev.to 🎙

- OR, leaving a comment here (we'll read your response aloud for you) 🗣

_Please send in your recordings by Wednesday, December 9th at Midnight, ET (9 PM PT, 5 AM UTC)_

_**Voice recordings will be given priority placement**_ 😉 

---

Don't forget to check out the latest episode [here](https://dev.to/devdiscuss/s3-e2-demystifying-architecture)
Salesforce’s Slackquisition, PHP 8.0, Amazon Sidewalk, & more on DevNews!
Tags: news, podcast
Published: 2020-12-03 19:20:42

---
title: Salesforce’s Slackquisition, PHP 8.0, Amazon Sidewalk, & more on DevNews!
published: true
description: Check out S2E6 of the DevNews pod!
tags: news, podcast
series: DevNews Season 2
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/zoxvbu0494gq3sxtjp4v.png
---

### **We're back with another episode of DevNews...** 

{% podcast https://dev.to/devnews/s2-e6-salesforce-s-slackquisition-php-8-0-amazon-sidewalk-and-computer-fraud-and-abuse-act %}


### This week, @saronyitbarek and I covered:
- Salesforce's $27.7 billion Slack purchase
- Amazon's upcoming Sidewalk feature for IoT devices


### We also spoke with the following guests about two other stories:

- [Jerry Gamblin](https://twitter.com/JGamblin), Manager of Security and Compliance at Kenna Security. We chatted with Jerry about the U.S. Supreme Court hearing arguments about The Computer Fraud and Abuse Act.
- [Sara Golemon](https://github.com/sgolemon), Core Developer and Release Manager on the PHP team. Sara joined us to talk about PHP 8.0.

_You can [follow DevNews](dev.to/devnews) to get episode notifications and listen right in your feed_ — or subscribe on your platform of choice! Plus, if you leave us a review, we'll send you a free pack of thank-you stickers. Details [here](https://airtable.com/shr8oKAIMZgdYnBxx). 

## Quick Listening Links
- [Apple Podcasts](https://podcasts.apple.com/us/podcast/s2-e6-salesforces-slackquisition-php-8-0-amazon-sidewalk/id1525581923?i=1000501173129)
- [Spotify](https://open.spotify.com/episode/6faNGXVUC6qfEqil7L3BCp)
- [Google](https://podcasts.google.com/feed/aHR0cDovL2ZlZWRzLmNvZGVuZXdiaWUub3JnL2Rldm5ld3NfcG9kY2FzdC54bWw/episode/aHR0cHM6Ly9kZXZwb2RzLmRldi9wb2RjYXN0cy9kZXZuZXdzLzE0?sa=X&ved=0CAQQkfYCahcKEwiQ2afivLLtAhUAAAAAHQAAAAAQAw&hl=en)
- [Stitcher](https://www.stitcher.com/show/devnews)
- [Listen Notes](https://www.listennotes.com/podcasts/devnews/s2e6-salesforces-nsKGFSaiYtb/)
- [TuneIn](https://tunein.com/podcasts/Technology-Podcasts/DevNews-p1352512/?topicId=159179945)
- [RSS Feed](http://feeds.codenewbie.org/devnews_podcast.xml)
- [Transcript](https://devpods.herokuapp.com/podcasts/devnews/episodes/70)
- [PocketCasts](https://pca.st/detp0o36)

---
_Acknowledgements_ 
- _@levisharpe for producing & mixing the show_
- Our season two sponsors, [Triplebyte](https://triplebyte.com/a/YU8fSn0/d) and [Vonage](https://nexmo.dev/devnews2)!

# 🗞️🗞️🗞️
Do they teach "pointers" in bootcamp? Should they?
Tags: discuss, computerscience, codenewbie
Published: 2020-12-03 19:16:45

The _pointer_ is not a thing that every developer _needs_ to know, but it's still a thing that exists. This question is kind of a stand in for concepts _like_ pointers and not just that one thing.

I wonder: Do they teach this concept in bootcamp at all?

Should they teach stuff like pointers at all to a group learning, say, web development in JavaScript? If so, does it come early or late?

I imagine the course doesn't need to cover computer science from the ground up, but what should get detailed and when?

{% wikipedia https://en.wikipedia.org/wiki/Pointer_(computer_programming) %}
A Clean Code Box
Tags: css, html
Published: 2020-12-03 19:10:51

Have you ever thought of a beautiful way to document your code?
Well I have got a simple way to do it!

here is how it will look:
![code box](https://dev-to-uploads.s3.amazonaws.com/i/7in4qhd3yw51u7kwq93j.PNG)
Very simple but clean and pleasant to look at

If you are looking for the code, add this to your css:
```css
pre {
	padding: 30px;
	background-color: #f5f2f2;
	border-radius: 10px;
	display: inline-block;
}
code {
	padding: 10px;
	background-color: #141414;
	color: white;
	display: block;
	border-radius: 10px;
	box-shadow: 10px 10px 20px grey, -10px -10px 20px white, 5px 5px 5px black inset;
	text-shadow: 5px 5px 5px black, -2px -2px 2px #212121;
}
```

If you are lazy to insert this css, insert this in your html:
```html
<!--Deperected-->
<link rel="stylesheet" href="https://imagineeeinc.github.io/api/cdn/css/codebox.css">
<!--New from a new source-->
<link rel="stylesheet" href="https://eureka-imagineee-server.github.io/code-snips/css/codebox.css">
```
and for the html add this:
```html
<pre><code>
-->your code goes here<--
</code></pre>
```
You can obviously hook it up to a syntax highlighter like highlight js to make it lot cooler and you can always edit the code for your own needs

<iframe height="649" style="width: 100%;" scrolling="no" title="Code Box" src="https://codepen.io/imagineeeinc/embed/oNzbBXB?height=649&theme-id=light&default-tab=css,result" frameborder="no" loading="lazy" allowtransparency="true" allowfullscreen="true">
  See the Pen <a href='https://codepen.io/imagineeeinc/pen/oNzbBXB'>Code Box</a>
</iframe>
Dynamic Programming
Tags: algorithms, java
Published: 2020-12-03 19:10:48

Dynamic Programming is nothing but optimized version of recursion. Dynamic programming reduce the time complexity of simple recursion from exponential to polynomial.
The basic idea behind dynamic programming to store the results of subproblems so that, we don't have to re-calculate them again and again.
There are two approaches for solving dynamic programming questions :
1. Tabulation Method or Bottom Up Approach.
2. Memoization Method or Top Down Approach.

I am going to cover these two approaches in detail in my post. So, don't forget to check my next post.

     💖💖 Keep reading and keep supporting.💖💖
The road to React-contexify v5
Tags: react, javascript, webdev, opensource
Published: 2020-12-03 18:53:02

---
title: The road to React-contexify v5
published: true
description: Add a context menu to your react app with ease
tags: #react #javascript #webdev #opensource
// cover_image: 
---

TLDR: For those who never heard about react-contexify, the library lets you add a context menu to your app with ease. You can see what it looks like below.

![Alt Text](https://user-images.githubusercontent.com/5574267/100552409-500dfd80-3287-11eb-96ee-fc1d17ef50b8.gif)
You can find the project [here](https://fkhadra.github.io/react-contexify/)

## There is always room for improvement

There were 36 open issues on GitHub 😱(vs 2 today). It doesn't seem like a lot but for a single person, believe me, it takes quite some time to review them all. Every time I wanted to work on it, I had to cancel, I always found a "good" reason to give up.

One day, while I was working on a new app, I needed a context menu. Without thinking too much I've added react-contexify to my app and I started to work with it. The more I've worked with it the more I was struggling to accomplish even the simple things, and I'm the one who created this 🤦‍♂️.

Despite the lack of simplicity, some people were still using it. Open source is about people, not about software. I had to thanks those people for their trust. One way of doing that was to improve the library they rely on.

## Do it, do it right, do it well

After browsing the 36 issues, I was able to classify them into 3 categories:
- bug
- features
- lack of documentation

Thanks to that, I knew exactly what I had to do. I won't go into details on how I fixed the bugs or added new features. What I want to highlight here, is when you understand the problem you have to solve, it become clear in your mind what you should do. It's a real productivity boost.

## Eat your own dogfood

The documentation is as important as the code, even more important. I noticed that with one of my other library, [react-toastify](https://github.com/fkhadra/react-toastify), when I rewrote the documentation for it, the download skyrocketed(currently 2M/Month based on npm stat).

Based on my previous experience, I decided to rewrite the documentation. During the rewrite, I used my library extensively, thanks to that I spotted bugs and missing features.

## Key take away

Invest your time in the documentation. Good documentation === happy developer 😍
Your project doesn't need to be perfect before you release it. You can always improve it over time.

Hope you enjoyed that post. Thanks for reading!
#Day 2: Learnt to reverse a DLL
Tags: 100daysofcode
Published: 2020-12-03 18:50:31

As a newbie, after studying doubly linked list, singly linked list seems to be just the tip of iceberg.

I found it difficult initially how to reverse a DLL but eventually after learning more about DLL from YouTube videos, I solved it successfully (I took me 2 hours actually). I'm feeling a bit satisfied. 

Hope I'll be able to solve more DSA questions after this 100 days of code challenge that I've taken.

Thanks for reading. Have a nice day.
Detect Dos, ping etc.. using SNORT
Tags: security, snort, dos, cybersecurity
Published: 2020-12-03 18:47:37

𝘿𝙚𝙩𝙚𝙘𝙩 🇩‌🇴‌🇸‌, 🇵‌🇮‌🇳‌🇬‌  𝙚𝙩𝙘... 𝙪𝙨𝙞𝙣𝙜 🇸‌🇳‌🇴‌🇷‌🇹‌


Snort is a packet sniffer that monitors network traffic in real time, scrutinizing each packet closely to detect a dangerous payload or suspicious anomalies.

My OS :- ubuntu
Let my ip address be 192.168.1.103

🅢🅔🅣🅤🅟:- ( will be easy in future  ) 

First you need to make some changes in configuration of snort. 

𝚜𝚞𝚍𝚘 𝚐𝚎𝚍𝚒𝚝 /𝚎𝚝𝚌/𝚜𝚗𝚘𝚛𝚝/𝚜𝚗𝚘𝚛𝚝.𝚌𝚘𝚗𝚏

Now, change HOME_NET IP address to your ip range. 
Like, 
𝚒𝚙𝚟𝚊𝚛 𝙷𝙾𝙼𝙴_𝙽𝙴𝚃 𝟷𝟿𝟸.𝟷𝟼𝟾.𝟷.𝟶/𝟸𝟺

Now go to
/𝚎𝚝𝚌/𝚜𝚗𝚘𝚛𝚝/𝚛𝚞𝚕𝚎𝚜/𝚕𝚘𝚌𝚊𝚕.𝚛𝚞𝚕𝚎𝚜
and add the rules given below

( Watch rules writing in the image. ) 

🅓🅔🅣🅔🅒🅣    🅟🅘🅝🅖    🅢🅒🅐🅝

𝙍𝙪𝙡𝙚:-
𝚊𝚕𝚎𝚛𝚝 𝚒𝚌𝚖𝚙 𝚊𝚗𝚢 𝚊𝚗𝚢 -> $𝙷𝙾𝙼𝙴_𝙽𝙴𝚃 𝚊𝚗𝚢 (𝚖𝚜𝚐:"𝙿𝚒𝚗𝚐 𝚍𝚎𝚝𝚎𝚌𝚝𝚎𝚍"; 𝚜𝚒𝚍:𝟷𝟶𝟶𝟶𝟶𝟶𝟷; 𝚛𝚎𝚟:𝟷; 𝚌𝚕𝚊𝚜𝚜𝚝𝚢𝚙𝚎:𝚒𝚌𝚖𝚙-𝚎𝚟𝚎𝚗𝚝;)

alert ---> show alert 

ICMP ---> It's a protocol used to report error in ipv4

->  :- to

$HOME_NET ---> destination ip

msg ---> shows message which you write

sid --->  keyword is used to uniquely identify Snort rules. This information allows output plugins to identify rules easily.
100 - 1,000,000 Rules already registered . So u need to use greater than this id like 1,000,123.

rev --->  keyword is used to uniquely identify revisions of Snort rules

classtype:icmp-event ---> Categorizes the rule as an “icmp-event”, one of the predefined Snort categories. This option helps with rule organization.

𝘿𝙚𝙩𝙚𝙘𝙩𝙞𝙣𝙜
𝚜𝚞𝚍𝚘 𝚜𝚗𝚘𝚛𝚝 -𝙰 𝚌𝚘𝚗𝚜𝚘𝚕𝚎 -𝚚 -𝚌 /𝚎𝚝𝚌/𝚜𝚗𝚘𝚛𝚝/𝚜𝚗𝚘𝚛𝚝.𝚌𝚘𝚗𝚏 -𝚒 𝚎𝚑𝚝𝟶


-A console   ----> shows standard output alert
-q   ----> quite mode
-i    ----> interface
-c   ----> config


🅓🅔🅣🅔🅒🅣    🅣🅒🅟    🅢🅒🅐🅝

𝙍𝙪𝙡𝙚:-
𝚊𝚕𝚎𝚛𝚝 𝚝𝚌𝚙 𝚊𝚗𝚢 𝚊𝚗𝚢 -> $𝙷𝙾𝙼𝙴_𝙽𝙴𝚃 𝚊𝚗𝚢 (𝚖𝚜𝚐: "𝚃𝙲𝙿 𝚂𝚌𝚊𝚗 𝙳𝚎𝚝𝚎𝚌𝚝𝚎𝚍"; 𝚜𝚒𝚍:𝟷𝟶𝟶𝟶𝟶𝟶𝟶𝟻; 𝚛𝚎𝚟:𝟸; )


🅓🅔🅣🅔🅒🅣    🅓🅞🅢    🅐🅣🅣🅐🅒🅚

𝙍𝙪𝙡𝙚:-
𝚊𝚕𝚎𝚛𝚝 𝚝𝚌𝚙 𝚊𝚗𝚢 𝚊𝚗𝚢 -> $𝙷𝙾𝙼𝙴_𝙽𝙴𝚃 𝟾𝟶 (𝚏𝚕𝚊𝚐𝚜: 𝚂; 𝚖𝚜𝚐:"𝙿𝚘𝚜𝚜𝚒𝚋𝚕𝚎 𝙳𝚘𝚂 𝙰𝚝𝚝𝚊𝚌𝚔 𝚃𝚢𝚙𝚎 : 𝚂𝚈𝙽 𝚏𝚕𝚘𝚘𝚍"; 𝚏𝚕𝚘𝚠:𝚜𝚝𝚊𝚝𝚎𝚕𝚎𝚜𝚜; 𝚜𝚒𝚍:𝟹; 𝚍𝚎𝚝𝚎𝚌𝚝𝚒𝚘𝚗_𝚏𝚒𝚕𝚝𝚎𝚛:𝚝𝚛𝚊𝚌𝚔 𝚋𝚢_𝚍𝚜𝚝, 𝚌𝚘𝚞𝚗𝚝 𝟸𝟶, 𝚜𝚎𝚌𝚘𝚗𝚍𝚜 𝟷𝟶;)

#reference__researchgate-website
And from google

𝙀𝙭𝙩𝙧𝙖
Ping scan :- nmap 192.168.1.103
Tcp scan :- nmap -sT 192.168.1.103
Dos :- Use any tools😐

Contact me via telegram :- I am groot  [ @Etf_Zan ]
First Code Component in Framer Web
Tags: tutorial, framer, typescript, react
Published: 2020-12-03 18:42:23

Hi all :wave:,

If you like creating prototypes with Framer Web and want to achieve more complex interactions, this is the tutorial for you! I've worked on this short tutorial series to help you understand code components in Framer Web. This is the beginning of that journey.

{% youtube cbYOSD9DMvw %}

## :question: What we'll make

Throughout the series, we'll be making some screens you might see in a mobile banking app. The code components we'll build together in this part is a line item and bar chart. We'll build these in code and then put them onto the canvas like any other component.

## :hammer: Why is it useful

Framer Web is a great prototyping tool but it can be even better when you know a little bit of code. I'll help you take the first step. If you've coded a little bit, this will be a breeze. If you're a professional web developer or have React knowledge then you'll see how you can leverage your existing skills in Framer Web. 

We’ll cover the basics of a React component, styling your components in JSX and how to leverage default props all within the context of Framer Web. The skills you learn here are applicable to React apps too. You can take your prototypes from Framer Web into code and that’s just what we’ll be doing throughout the series.

## :world_map: Where to go from here

The skills you learn here are applicable to Framer Web but they're also many of the same skills you'll need if you want to create React components. I even show you how to go beyond Framer Web and take your project into a separate code project. This makes handoff to other developers easy and will help you build better collaboration between design and engineering.

***

I hope you found this useful and can't wait to see what you create! If you're new to Framer Web, give it a shot. If you're a long time user, I hope this is useful for trying something new.

:raised_hands: **Thanks for reading and watching!**
Real-world SD in College
Tags: codenewbie, computerscience, career
Published: 2020-12-03 18:31:09

How do I do real-world software development in college?
Well, let's deep dive into it. I will be helping you out, with this super productive guide.

Step 0: 📌 Train your mind 🧠
The zeroth step before anything you do, is to train your mind.

Step 1: 📌 Basics of Git and GitHub 👨💻
Understanding git is a powerful tool in managing projects.

Step 2: 📌 Take a simple project. 📔
Say A To-Do App.

Step 3: 📌 Be an Architect 👷♂️
Let's see what a simple to-do app can have.
- Add, Delete, Modify To-Dos
- Search Todos
- Label Todos.
- (Many other features like labeling, progress bar)
But let's go with the above three basic ideas for our first sprint.

Step 4: 📌 Learning by doing. 🧏♂️👩💻
While building this, you will surely learn new things. It can be a shift from basic web dev to ReactJS.

Step 5: 📌 Make things modular when you code. 📔  📔

Step 6: 📌 Test the modules you made. ⚙

Step 7: 📌 Deploy the web app to Netlify  🌍

Step 8: 📌 Use GitHub Actions, to build a CI / CD for your project. 👨💻

Step 9: 📌 Brainstorm, to add more features which you thought above. 🧠 👨💻

Step 10: 📌 Share your learnings on LinkedIn and grow your network. And contribute to Open Source ❤😉
The Day 0 post.
Tags: programming, discuss, beginners
Published: 2020-12-03 18:27:40

This is a welcome post of mine. I just got to know about the dev community. It seems like I missed a lot as an aspiring software developer. 
Anyone willing to help me or need any sort of help regarding technology can connect with me right here:
https://www.linkedin.com/in/hussain-9001/
Road to SAAS Launch Pt.2
Published: 2020-11-03 04:20:55

Last post I left off briefly explaining the MVC structure in Rails. So let's get started. MVC is used in Rails as the *"separation between “domain logic” (also called “business logic”)from the input and presentation logic associated with a graphical user interface(GUI). In the case of web applications, the “domain logic” typically consists of data models for things like users, articles, and products, and the GUI is just a web page in a web browser."*

#What MVC means

**M** - models: (typically in web applications this represents a element on the site... common models are **users**) it is in charge of handling data and business logic.
**V** - views: the GUI what the end user see's
**C** - controller: the controller acts as the "middle" man between the views and the model. it is in charge of handling graphical user interface objects and presentation.

Here's another photo for a visual:
![MVC Diagram](https://dev-to-uploads.s3.amazonaws.com/i/9s61gx1c238l5n3g6jey.png)

And this is what the file structure of a Rails app looks like:
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/s4d7ytc54rwc22zagxkv.png)

I know I promised a sample app in this next post but I'll stop here in my explanation of the MVC framework because without being able to see this work in action it can get confusing. (If you haven't noticed I'm a visual learner)

The next series of these post will seem a lot like a tutorial because in a way... it is. Although this will be a refresher for me, I hope to maybe inspire the next developer to take a stab at Rails.
Apache Camel #4 - Processors
Tags: java, processors, apache, camel
Published: 2020-12-03 18:18:21

---
title: Apache Camel #4 - Processors
published: true
description: how to use them
tags: #java #processors #apache #camel
cover_image: https://thepracticaldev.s3.amazonaws.com/i/4y77w0gtvru6d7wv7yv9.jpeg
---

Hello Devs!

Long time no new article!

Guess i have to fix that.

Today we are talking about processors in Apache Camel routes.

Processors are a part of camel which enables us to write our custom components and business logic and implement it in the routes.

There are two ways of using processors.

1. Creating a class and implementing Processor with process method. This way we can easily write a test and separate processor logic from route itself. It looks something like this in the route.

```.process(new CustomProcessor())```

Processor itself will look something like this:

```
public class CustomProcessor implements Processor {

    @Override
    public void process(Exchange exchange) {
         exchange.getIn().setBody("test");
    }
}
```


2. Functional way.
```.process(exchange -> exchange.getIn().setBody("test"))```

Even though this way is easier that first, it couples processor logic to route and you could only test it if you test whole route.

My YT: https://www.youtube.com/channel/UC0Ws7Fn3fTjZ9eKH87R_rKA


That would be all for today!
Stay safe,stay cool!

George / Djordje
Predicting The Future - Building SaaS #70
Tags: python, django, views
Published: 2020-12-03 18:12:14

{% youtube LjWeKqK6H-A %}

In this episode, we worked on two issues. The first issue was fixing incorrect projected completion dates of tasks. We used test driven development to reveal the bug and work on the fix. The second issue add some extra data to display on a page.

We picked a couple of tasks at random to fix for this stream session.

The first issue related to the course view when paired with what the student's actions. This view shows the projected completion dates for individual tasks. When the school year was set to start in the future, this view was incorrect.

My local test data didn't have this same setup so we started by writing a unit test to prove that the view was broken. After writing the test, the fix was very straightforward to add.

For the second issue that I picked, we worked directly on the code because I knew that there was already test code in place to guide the changes. The issue was that the student index page did not display the grade level for each enrolled student. We modified the context of the view to include enrollment data so that the template could show the grade level.
How javascript works?
Tags: javascript, codenewbie, webdev, react
Published: 2020-12-03 18:08:28

#### The Core Fact: "Everything in javascript happens inside an Execution Context"
Now, what's execution context? 
You can assume it be a container where your whole code is executed. 
Execution context has two components in it:
1. Memory Component (Variable Environment)
2. Code Component (Thread of Execution)

Now let's understand the role of each component in the execution context.

The first component, the memory component which is also known as the variable environment is responsible for *storing all the variables and functions as* **key value pair**. Long story short, it's sort of an environment which is used to store all the variables and functions as **key : value pair**.

The second component, the code component which is also known as the thread of execution is responsible for executing the code **one line at once**. It's called the thread of execution because it's like a thread in which the whole code is executed one line at a time.

#### Another core fact: "Javascript is a synchronous single-threaded language"
Let's understand why it's called single threaded because javascript can execute one command at a time. It's called synchronous single-threaded because javascript can execute one command at a time in a **specific order**. It means it can go to the next line only when the current line is being finished executing.

#####Conclusion: Javascript isn't possible without this execution context. It is a synchronous single threaded language.