teleren/devto huggingface dataset:
The Future of Frameworks
Tags: webcomponents, javascript, designsystems
Published: 2021-10-25 14:12:00

Love them or hate them, web components ("custom elements") are making a huge dent in the world of front-end development. As of today, [close to 18% of page views in Chrome](https://twitter.com/claviska/status/1452621707576029194) are registering web components. That's an insane amount of usage!

The benefits of a framework-agnostic component model are becoming obvious to web developers, particularly those who have built the same components over and over again to accommodate various framework flavors. That kind of rework is a time sink that inevitably leads to visual and functional inconsistencies. Maintaining multiple versions of the same component isn't a winning strategy for developers, designers, or end users.

Web components solve this problem not by replacing frameworks, but by _complementing_ them with a [standardized component model](https://github.com/WICG/webcomponents#readme). Create your lower-level building blocks as custom elements, then plug them into a framework that handles higher-level operations. When it's time to upgrade or switch frameworks, you can do it more easily because you don't have to rip out the foundation and rebuild everything from scratch. Interoperability is why web component-based design systems are so appealing to large organizations.

My prediction is that front-end frameworks will move away from proprietary component models and embrace custom elements as first-class citizens. Both [Vue](https://v3.vuejs.org/guide/web-components.html#building-custom-elements-with-vue) and [Svelte](https://svelte.dev/docs#Custom_element_API) provide mechanisms for authoring them — although they still use and support their own component models as well.

_"But I don't plan on switching frameworks!"_

Unlike diamonds, frameworks aren't forever.* They come and go and, as their popularity fades, so does support, contributions, and community interest. Contrast this to web standards that browsers commit to supporting without breaking changes.

We've been building and rebuilding buttons for years because the component model has been baked into our frameworks. We don't need to do that anymore. If longevity is a goal, custom elements are where it's at.

---

<small>

*Whether you consider React a framework or a library is irrelevant. It has its own [component model](https://reactjs.org/docs/react-component.html), [VDOM](https://reactjs.org/docs/faq-internals.html), and [synthetic event system](https://reactjs.org/docs/events.html). If it walks like a framework and talks like a framework&hellip;

</small>
Is clearing session data for edge caching mandatory?
Tags: help, caching, forem, rails
Published: 2021-10-25 14:05:11

---
title: Is clearing session data for edge caching mandatory?
published: true
description: Exploring Forem caching system
tags: help,caching,forem,rails
//cover_image: https://direct_url_to_image.jpg
---

I try to replicate the Forem caching system for my Rails app. I just wonder if there is any security issues with keeping Session cookies while caching a page?

In [Forem's controller concern](https://github.com/forem/forem/blob/main/app/controllers/concerns/caching_headers.rb), which sets cache headers, `request.session_options[:skip] = true` is skipping session cookies.

Could someone explain to me why? I use session data in order to redirect the user after login to the last page visited.

Thanks for your help, I am quite a noob about caching!
Slots?
Published: 2021-10-25 13:49:54

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

Slots are a HTML element that allows the user to set a placeholder inside of a web component to fill up with any markup. This lets you create multiple DOM trees and present them all together.

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

Our latest project, called learning-card, has multiple uses of this <slot> element for us to fill with any content we want. Below is the example card that we are trying to replicate.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pb91gpm6wlk3aiscwozf.png)
This is what we have so far for this project, as there is a lot more to fix and add to this.

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


Follow the project: https://github.com/TheKodingKrab/project-two
HASHING
Published: 2021-10-25 13:42:52

Hashing is the process of converting a given key into another value. A hash function is used to generate the new value according to a mathematical algorithm. The result of a hash function is known as a hash value or simply, a hash. ... Keep in mind that two keys can generate the same hash.
Hashing is an important data structure designed to solve the problem of efficiently finding and storing data in an array. For example, if you have a list of 20000 numbers, and you have given a number to search in that list- you will scan each number in the list until you find a match.
Hashing Algorithms. Hashing algorithms are just as abundant as encryption algorithms, but there are a few that are used more often than others. Some common hashing algorithms include MD5, SHA-1, SHA-2, NTLM, and LANMAN. MD5: This is the fifth version of the Message Digest algorithm. MD5 creates 128-bit outputs.
Event bubbling, capturing and how to prevent them
Tags: javascript, webdev, programming, tutorial
Published: 2021-10-25 13:34:24

Lets say you have a parent container that also has a child element inside it.
```html
<div class="parent">
  <h1 class="child">hello</h1>
</div>
```
And you have added a event listener to them.
```js
const parent = document.querySelector(".parent")
const child = document.querySelector(".child")

parent.addEventListener("click", () => {
  console.log("Parent clicked!")
})

child.addEventListener("click", () => {
  console.log("child clicked!")
})
```
Now try to click on just the parent. You should see **Parent clicked!**
But now if you try to click on the child element in the console you will see not only **child clicked!** was printed but **Parent clicked!** was also printed.
![js event bubbling demo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k32skzzkacpzikjekwlf.png)
 
Why is that? That is due do something called event bubbling. So when a event is emitted on the child it will bubble up to its parent.
And it makes sense if you think about it, the child element was sitting inside its parent. So we wanted to click on just the child but in reality we clicked on both the parent and the child. So both events were fired. Now notice that first **child clicked!** was printed and then **Parent clicked!** was printed. That means the even is first fired on the child then its bubbling up to its parent. But if we want we can make it do the opposite as well.
So to do that as the third argument of our `addEventListener` we can pass `true`. So if we do that you will see first **Parent clicked!** will be printed then **child clicked!**.
```js
parent.addEventListener("click", () => {
  console.log("Parent clicked!")
}, true)

child.addEventListener("click", () => {
  console.log("child clicked!")
}, true)
```
![JavaScript event capturing demo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/crp0ioe0zmyql73foq5s.png)
 
So basically passing `true` as the third argument of `addEventListener` tells JavaScript to use capturing mode instead of bubbling mode. And in capturing mode event is fired to the parent then goes down to its child which is the opposite of event bubbling.

Also if we want we can prevent event bubbling and event capturing by calling `stopPropagation` on the event. So if we click on child only the event listener set on child will be fired and if we click on parent only the event listener set on parent will be fired.
```js
parent.addEventListener("click", (e) => {
  e.stopPropagation()
  console.log("Parent clicked!")
})

child.addEventListener("click", (e) => {
  e.stopPropagation()
  console.log("child clicked!")
})
```
![preventing event bubbling](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/saxmpn0az66xmumpvf9c.png)
 
Alight that's all for now. Make sure you check out my other articles and [YouTube Channel](https://www.youtube.com/c/AngleBrace)
{% link 0shuvo0/i-made-squid-game-with-javascript-10j9 %}
What is Jina AI?
Tags: jina, programming
Published: 2021-10-25 13:18:55

__About Jina__
Jina is an *Open-source search framework*, powered by Deep Learning technology. It is empowering developers to build croaa-modal or multi-modal search systems for text,video,audio.

*Jina* was first released on GitHub in April 2020. The project is under heavy development and is maintained by a full-time team.

There is a huge potential for Jina to be used in the real world. Thus it is a great opportunity for contributors to make a **Real impact**.

The core components are mainly written in Python.
DateTime->diff | Does It Round? (no)
Tags: php
Published: 2021-10-25 13:10:24

In working with differences between timestamps I had a question that may seem trivial, however with the answer not clearly defined in the [manual](https://www.php.net/manual/en/datetime.diff.php), I wanted to write up my findings 🤓

The question: Does the `->diff` function that can be used with `DateTime()` round to the nearest day? For example:

```
error_log("DateTime round question");

$date_start = new DateTime('2021-10-22 00:00:00');
$date_end = new DateTime('2021-10-22 23:59:59');
$difference = $date_start->diff($date_end);

error_log("timeDifference: " . $difference->days);
```

The result to this is: `timeDifference: 0`;

The time differences are 1 second from being 1 day apart and the result of the difference is 0 days - perfect!
Top Pen Testing Software in 2021
Published: 2021-10-25 12:46:59

Penetration testing has become an essential part security testing. Most of the <a href="https://www.testrigtechnologies.com/">software and QA testing companies</a> refers best penetration testing tools to perform pen testing process. As a security testing, you should select best tool that offer best value for your time. 

The role of pen testing tools is the most important part of security testing. To overcome security issues, security experts automate certain tasks, improve testing efficiency and discover issues with the help of pen testing tools.

There are 2 different types of penetration testing tools such as static analysis tools and dynamic analysis tools.

<b>Top Pen testing Tools/Software’s.</b>

There are so many different number of factors to perform pen testing but the most important thing is experience and knowledge of the penetration tester. To perform pen testing security testers should be knowledgeable and experienced in his work. 
Below is the list of top pen testing software’s to handle your penetration testing activity.

1. Powershell-Suite:
Supported Platforms: Windows

2. Zmap: 
Supported Platforms: Linux platforms and macOS

3. Xray:
Supported Platforms: Linux and Windows

4. SimplyEmail
 Supported Platforms: Docker, Kali, Debian, Ubuntu, macOS

5. Wireshark
Supported Platforms: Windows, Linux, macOS, Solaris

6. Hashcat
Supported Platforms: Linux, Windows, and macOS

7. John the Ripper
Supported Platforms: Windows, Unix, macOS, Windows

8. Hydra
Supported Platforms: Linux, Windows, Solaris, macOS

9. Aircrack-ng
Supported Platforms: Windows, OS X Solaris, Linux

10. Burp Suite
Supported Platforms: Windows, macOS, and Linux
ServenoMaster
Published: 2021-10-25 12:42:03

Born in Los Angeles, raised in Nashville, educated in London – Jonathan Green has spent years wandering the globe as his own boss – but it didn’t come without a price. Like most people, he struggled through years of working in a vast, unfeeling bureaucracy.
After the backstabbing and gossip of the university system threw him out of his job, he was “totally devastated” – stranded far away from home without a paycheck coming in. Despite having to hang on to survival with his fingernails, he didn’t just survive – he thrived.
He says that getting fired with no safety net was the best thing that ever happened to him. Despite the stress, it gave him an opportunity to rebuild and redesign his life.
One year after being on the edge of financial ruin, Jonathan had replaced his job and was working as a six-figure SEO consultant. But with his Rolodex overflowing with local businesses and their demands getting higher, he knew that he had to take his hands off the wheel.
That’s one of the big takeaways from his experience. Lifestyle design can’t just be about replacing one job with another. Oftentimes, you’re just replicating the stress and misery that came with that lifestyle!
Thanks to smart planning and personal discipline, Jonathan once again started from scratch, this time with a focus on repeatable, passive income that created lifestyle freedom.
In a short while, he was more successful than he could have ever possibly expected. He traveled the world, helped friends and family, and moved to an island in the South Pacific.
Today, he’s devoted himself to breaking down every hurdle that entrepreneurs face at every stage of their development, from building mental strength and resilience in the depths of depression and anxiety, to improving financial and business literacy, to developing a concrete plan to escape the 9-to-5 – all the way down to the nitty-gritty details of teaching what you need to know to build a business of your own.
In a digital world packed with “experts,” few people have the experience to tell you how things work, why they work, and what’s actually working in the online business world right now.
Jonathan doesn’t just have the experience. A best-selling author, a ”Ghostwriter to the Gurus” who commands sky-high rates due to his ability to deliver captivating work in a hurry, and a video producer who helps small businesses share their skills with their communities – he has experience in a variety of spaces.
He’s also the founder of the Serve No Master podcast, a weekly show focused on financial independence, networking with the world’s most influential people, writing epic blog posts online, and traveling the world for cheap.
Altogether, his experience makes him one of the most captivating and accomplished people in the lifestyle design world. He has dedicated his life to sharing the best of what he knows with total transparency as part of his mission to free regular people from the 9-to-5 and live on their own terms.
Learn from his successes and failures… and Serve No Master.

Contact -  https://servenomaster.com
Contentlayer & Effect — Architectural Patterns And Decisions.
Tags: effect, contentlayer, functional, typescript
Published: 2021-10-25 13:01:20

---
title: Contentlayer & Effect — Architectural Patterns And Decisions.
published: true
date: 2021-10-25 12:41:49 UTC
tags: effect,contentlayer,functionalprogramming,typescript
canonical_url: https://www.matechs.com/blog/contentlayer-effect-architectural-patterns-and-decisions
---

### Contentlayer & Effect — Architectural Patterns And Decisions.

_Join the first online event of EFFECT TIME for free!_

![Contentlayer & Effect — Architectural Patterns And Decisions.](https://cdn-images-1.medium.com/max/1024/0*ZGwJsTVsnS5I3OG_.png)

**EFFECT TIME** kicks off on Thursday, October 28, 2021.

In this live stream, we’ll be speaking about how _Effect_ was used to build _Contentlayer_ and go through its architecture and design decisions. We’ll further explore how _Effect_ could be used better in order to improve _Contentlayer_.

Contentlayer is a tool that turns your content into data — making it super easy to import MD(X) and CMS content in your app.

To learn more about Contentlayer, visit: [https://github.com/contentlayerdev/contentlayer](https://github.com/contentlayerdev/contentlayer).

Effect is a fully-fledged functional effect system for typescript with a rich standard library.

To learn more about _Effect_, visit: [https://github.com/Effect-TS/core](https://github.com/Effect-TS/core).

### The speakers

**Johannes Schickling**  — Founder of [Prisma](https://www.prisma.io/) and creator of _Contentlayer_.

**Michael Arnaldi**  — Founder of [Matechs](https://www.matechs.com/) and creator of _Effect_.‍

🎟️ [Get your ticket now! It’s FREE!](https://www.eventbrite.co.uk/e/effect-time-contentlayer-effect-architectural-patterns-and-decisions-registration-193556692277)

* * *
How to change the default Editor from Nano in Ubuntu/Debian
Tags: nano, vim
Published: 2021-10-25 12:25:07

---
title: How to change the default Editor from Nano in Ubuntu/Debian
published: true
description: Change Default editor in Ubuntu/Debian
tags: nano,vim
canonical_url: https://citizix.com/how-to-change-the-default-editor-from-nano-in-ubuntu-debian/
//cover_image: https://direct_url_to_image.jpg
---

Checkout this guide [here](https://citizix.com/how-to-change-the-default-editor-from-nano-in-ubuntu-debian/) on how to change the default guide for debian/ubuntu
Running MsSQL Server 2019 with Docker and Docker-Compose
Tags: docker, mssql, database
Published: 2021-10-25 12:17:05

---
title: Running MsSQL Server 2019 with Docker and Docker-Compose
published: true
description: How to run MsSQL Server 2019 with Docker and Docker-Compose
tags: docker,mssql,databases
canonical_url: https://citizix.com/how-to-run-mssql-server-2019-with-docker-and-docker-compose/
//cover_image: https://direct_url_to_image.jpg
---

Wondering how to run MsSQL server using docker or docker compose? Checkout this guide https://citizix.com/how-to-run-mssql-server-2019-with-docker-and-docker-compose/
TOP 100+ DoFollow Backlink Sites | High PR Free Backlink Sites 2021
Tags: backlinks, socialbookmarking, profilesubmission, stackblogger
Published: 2021-10-25 12:07:29

## List of DoFollow High PR Free Social Bookmarking Sites

[**Serial**]	   [**Website**]	     [**Link Type**]
1	https://bookmymark.com/	DoFollow
2	https://www.digg.com/	DoFollow
3	https://www.soup.io/	DoFollow
4	https://www.pearltrees.com/	DoFollow
5	https://backlinks.stackblogger.com/	DoFollow
6	http://www.n4g.com/	DoFollow
7	http://www.storeboard.com/	DoFollow
8	http://www.bookmarkingbase.com/	DoFollow
9	http://www.bookmarkmaps.com/	DoFollow
10	http://www.video-bookmark.com/	DoFollow
11	https://www.bookmarkmonk.com/	DoFollow
12	http://www.votetags.info/	DoFollow
13	http://www.zypid.com/	DoFollow
14	http://www.highprbookmarking.com/	DoFollow
15	https://story.wallclassifieds.com/	DoFollow
 List of DoFollow High PR Free Social Bookmarking Sites

## High PR Profile Submission Sites List
[**Serial**]	   [**Website**]	[**Domain Authority (DA)**]
1	https://www.medium.com/	94
2	https://www.slideshare.net/	92
3	https://scoop.it/	86
4	https://www.last.fm/	90
5	https://www.github.com/	96
6	https://www.quora.com/	91
7	https://www.about.me/	91
8	https://www.crunchbase.com/	90
9	https://www.disqus.com/	92
10	https://www.instructables.com/	89
 High PR Profile Submission Sites List

## High DA DoFollow Backlink Sites List
[**Serial**]	   [**Website**]	[**Domain Authority (DA)**]
1	https://wordpress.com	93
2	https://blogspot.com	80
3	https://tumblr.com	94
4	https://storeboard.com	75
5	https://flipboard.com	88
6	https://shutterstock.com	91
7	ecommerce.shopify.com	95
8	https://steemit.com	84
9	www.moz.com	91
10	www.evernote.com	91
High DA DoFollow Backlink Sites List
A Quick 10-Second Programming Joke For Today
Tags: jokes, dailydeveloperjokes
Published: 2021-10-25 12:00:13

---
title: "A Quick 10-Second Programming Joke For Today"
description: "Check out today's daily developer joke! (a project by Fred Adams at xtrp.io)"
series: "Daily Developer Jokes"
published: true
tags: #jokes, #dailydeveloperjokes
---

Hi there! Here's today's Daily Developer Joke. We hope you enjoy it; it's a good one.

![Joke Image](https://private.xtrp.io/projects/DailyDeveloperJokes/public_image_server/images/5e12594a73e61.png)

---

For more jokes, and to submit your own joke to get featured, check out the [Daily Developer Jokes Website](https://dailydeveloperjokes.github.io/). We're also open sourced, so feel free to view [our GitHub Profile](https://github.com/dailydeveloperjokes).

### Leave this post a ❤️ if you liked today's joke, and stay tuned for tomorrow's joke too!

_This joke comes from [Dad-Jokes GitHub Repo by Wes Bos](https://github.com/wesbos/dad-jokes) (thank you!), whose owner has given me permission to use this joke with credit._

<!--
Joke text:
___Q:___ Why did the document store go out of business?

___A:___ It had NoSQL.
 -->
ASP.NET Core Blazor | Dropdownlist Data from Database
Tags: blazor, dotnet, csharp, webdev
Published: 2021-10-25 11:41:15

[Web development with Blazor video series.](https://www.pragimtech.com/courses/blazor-webassembly-tutorial/)

In this video we will discuss how to bind data from a database table to a dropdownlist in ASP.NET Core Blazor. Another common usecase is to bind an Enum to dropdownlist, so we will discuss binding an enum as well.

Notes and Slides https://www.pragimtech.com/blog/blazo... 

Download Syncfusion free license key : https://bit.ly/3hyqDuP 

Syncfusion Website: https://bit.ly/2TiIEnC 

Syncfusion Blazor Components:https://bit.ly/3hlJ0ln

{% youtube T-QlZFXuu8M %}
When you mention www.mywifiext.net, what exactly do you mean?
Tags: mywifiext, webdev, programming
Published: 2021-10-25 11:34:58

<a href="https://mywifi-extt.com/www-mywifiext-net/">mywifiext.net</a> setup is a web-based configuration tool that allows you to connect your Netgear range extender to your existing network. Wait for the extender to boot up after you unbox it and plug it into a power outlet. Log on to mywifiext.net when the power light turns green and follow the simple steps to configure your extender in a matter of seconds.
To explore the configurations of your home Wi-Fi, use the local address rather than the web URL.
If you work in a large office or live in a large home, you may notice that your wireless connection is weak - in a specific area of your home or business.
The Netgear range extenders function by being placed where the existing wireless connection begins to deteriorate. They can connect to an existing router and then increase the range to expand the network's coverage.
Along with the Netgear extender setup, the mywifiext.net setup page supports the following provinces:
•	Using mywifiext.net, you can quickly clone your Mac.
•	Set up port forwarding and triggering.
•	Upgrade the firmware on your router and extender to quickly increase network speed.
•	Keep an eye on your network's connected gadgets.
•	Run a speed test to see how fast your uploading and downloading speeds are.
•	If necessary, change network passwords.
•	Resolve issues with multiple ports on PlayStation and other gaming devices.
What Is the Best Way to Connect to mywifiext.net?
•	First, connect the extender to a power source. Remember to keep it as close to the main router as possible.
•	Open a browser on your PC and type in <a href="https://mywifi-extt.com/" rel="dofollow">Mywifiext</a> setup.
•	If not, go to your browser's address bar (where URLs are written, such as google.com) and enter in mywifiext.net.
•	You will now be prompted to enter a username and password.
Visit More: <a href="https://mywifi-extt.com/">Mywifiext</a> 
<a href="https://mywifi-extt.com/netgear-login/">netgear login</a> | <a href="https://mywifi-extt.com/netgear-router-login/">netgear router login</a> | <a href="https://mywifi-extt.com/www-mywifiext-net/">mywifiext.net</a> | <a href="https://mywifi-extt.com/netgear-router-setup/">netgear router setup</a>