teleren/devto huggingface dataset:
LINKED LIST DATA STRUCTURE IN COMPUTER SCIENCE.
Tags: devchallenge, cschallenge, computerscience, beginners
Published: 2024-06-17 15:47:30

*This is a submission for [DEV Computer Science Challenge v24.06.12: One Byte Explainer](https://dev.to/challenges/cs).*

## Explainer

<!-- In a linked list, nodes dynamically grow and shrink, facilitating efficient element insertion and deletion.  Each node stores data and points to the next, ideal for scenarios requiring frequent changes without contiguous memory allocation. -->

## Additional Context

<!-- linked lists offer a flexible and efficient way to manage elements with dynamic growth/shrinkage, ideal for scenarios requiring frequent changes without the need for contiguous memory allocation. -->

<!-- Team Submissions: I don't have teammates. -->

<!-- Don't forget to add a cover image to your post (if you want). -->

<!-- Thanks for participating! -->
I Built a Chrome Extension with Svelte and Firebase!!🔥🔥
Tags: extensions, firebase, svelte, typescript
Published: 2024-06-17 15:46:14

Hey everyone, hope you're doing well!

Recently, I discovered a site called [Watchparty](https://www.watchparty.me/), which allows you to watch videos in sync with your friends and family. It's a fantastic concept, but I encountered a few issues: there were no options for syncing subtitles, and the user interface felt a bit outdated (no offense intended). Nonetheless, the site works wonders and is definitely worth checking out.

While exploring similar sites, I came across [Metastream](https://app.getmetastream.com/), which has a modern interface and supports subtitles with third-party Chrome extensions. However, I faced challenges there too—some videos didn't work, and the platform hadn't been updated in six years. So, I decided to tackle these issues myself. 

### Introducing Sync Buddy

Sync Buddy is a Chrome extension designed to let you watch any video from any website in sync with others. It also features a chat functionality that can be toggled by pressing Shift + Enter.
It can support any website as long it has a video tag in it. it syncs in real time and the chat box is nonintrusive as well. 



While this isn't a tutorial, I'd like to provide an overview of the components involved in developing my Chrome extension:

### Components:

- **Popup (Svelte)**: The main UI of the extension, accessible by clicking the extension icon in your browser.
- **content.ts**: Injected script that adds listeners and updates the DOM on websites.
- **background.ts**: Web worker managing logic and authentication.
- **manifest.js**: Configuration file for the extension.



_That's all, Yeah it's pretty easy to make an extension._



I made this project over the weekend and learned a lot about creating browser extensions. It's important to note that this is a personal/pet project, so there may be some bugs.

Oh, I forgot to tell you, it's pretty simple to use as well. Install the extension, then open a website with a video, click on the icon, and enter a room name. Share the room name and ask your friends and family to join using the same name (they should be on the same website as well). Voila! You're done. Enjoy binge-watching!


You can learn how to install and get started using the extension from the GitHub repository's [README](https://github.com/Mazahir26/sync-buddy/blob/main/README.md).


You can find the code on [GitHub](https://github.com/Mazahir26/sync-buddy) under the MIT License.


### Credits:
I would like to give credit to [Watchparty](https://www.watchparty.me/) and [Metastream](https://app.getmetastream.com/) for inspiring this project and providing valuable insights into synchronized video watching.


Additionally, this project is based on [svelte-chrome-extension-template](https://github.com/taishi55/svelte-chrome-extension-template) by [taishi55](https://github.com/taishi55). Thank you for the foundation!


Thank you so much for checking it out! Feel free to ask any questions, share suggestions, or provide feedback. Your input is valuable!😁😁
Recursion
Tags: devchallenge, cschallenge, computerscience, beginners
Published: 2024-06-17 15:41:49

*This is a submission for [DEV Computer Science Challenge v24.06.12: One Byte Explainer](https://dev.to/challenges/cs).*

## Explainer

<!-- Explain a computer science concept in 256 characters or less. -->

## Additional Context

<!-- Please share any additional context you think the judges should take into consideration as it relates to your One Byte Explainer. -->

<!-- Team Submissions: Please pick one member to publish the submission and credit teammates by listing their DEV usernames directly in the body of the post. -->

<!-- Don't forget to add a cover image to your post (if you want). -->

<!-- Thanks for participating! -->

Recursion - see recursion.
IPFS: The Decentralized Future of File Storage in 256 Characters
Tags: devchallenge, cschallenge, computerscience, beginners
Published: 2024-06-17 15:40:24


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


**##  IPFS Explained in 256 Characters**

"IPFS (InterPlanetary File System) is a decentralized protocol for storing and sharing files. It uses content-addressing to uniquely identify files by their cryptographic hash, enabling efficient and secure data retrieval without relying on a central server. This ensures data integrity and resilience."
I am looking for Senior Python Developer who has over 8 years of professional experience
Tags: webdev, python, ai, devops
Published: 2024-06-17 15:39:36

We are running a startup business that is targeted to the US software and digital marketing sector. So we are looking for a talented and skilled Python Expert who has over 8 years of experience in Data Analytics, Web API Development, ML.

Additionally, effective communication skills in English are vital for collaborating with team members and presenting findings to stakeholders. The ability to clearly and concisely convey complex information is a must.

Skills:

- Python Libraries such as Django, Flask, FastAPI for web development and Pytorch, selenium, Numpy, Pandas, Pyspark, SnowFlake, Airflow

- SQL Server, PostgreSQL, MongoDB

- Docker, Kubernetes

- AWS, Terraform, ES2, CI/CD

- Jira, Trello

 

Responsibilities:

- Analyze large datasets and extract meaningful insights using Python and data analytics techniques.

- Construct data models and develop algorithms to facilitate data analysis.

- Utilize data manipulation and visualization tools to present findings in a clear and actionable manner.

- Apply statistical analysis and machine learning techniques to identify patterns and trends within the data.

- Collaborate with team members to understand project objectives and requirements.

- Effectively communicate findings and recommendations to stakeholders through reports and presentations.

Requirements:

- Proficiency in Python programming.

- Strong knowledge of data analytics techniques.

- Experience with data manipulation and visualization.

- Familiarity with statistical analysis and machine learning.

- Excellent problem-solving and analytical skills.

- Strong verbal and written communication skills in English.

Job Details:

- Company Size: Medium

- Duration: 6 to 12 months

- Expertise Level: Expert

 

 

Salary Range: 2.5k per month.

Note: Please attach the short video for the assessment of your Verbal English.(Brief Introduction of yourself for about 3 mins).

If it looks good, we will proceed with several steps of the interview process.

 

How to apply: Please send updated resume and the link of short intro video via email: eugenegoodwin67@gmail.com (Technical Recruiter). He will schedule the interview for technical background assessment.

 

*The proposals with no video will be ignored. Please check that you attached your short video and start the message with "video was attached"*

 

whatsapp : +1 (614) 391-6839
Install JDK11(MACOS)
Tags: programming, beginners, tutorial
Published: 2024-06-17 15:39:09

## 1.download installation package
(macOS version end with .pkg) 
[download link](https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.19+7/OpenJDK11U-jdk_x64_mac_hotspot_11.0.19_7.pkg)
## 2.install jdk11

1. open the '.pkg' file
2. follow the installation prompts to install

## 3.configuring environment vaiables

- open the terminal, run the fllowing command to confirm the installation path

```
/usr/libexec/java_home -v 11
```

- edit '~/.zshrc' or '~/.bash_profile' file，add the following content

```
export JAVA_HOME=$(/usr/libexec/java_home -v 11)
export PATH=$JAVA_HOME/bin:$PATH
```

- save and exit the file, use the following command to make the configuration effective

```
source ~/.zshrc
or
source ~/.bash_profile
```
## 4.verify

- check 'JAVA_HOME' variable

```
echo $JAVA_HOME
```

- check java version

```
java -version
```

- check javac version

```
javac -version
```

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vpbfdoj7nbnn7ou2e4ur.png)
Shamir Secret Sharing in 256 characters or less
Tags: devchallenge, cschallenge, computerscience, beginners
Published: 2024-06-17 15:35:52

*This is a submission for [DEV Computer Science Challenge v24.06.12: One Byte Explainer](https://dev.to/challenges/cs).*

## Explainer

You and your friends have a treasure map (secret). You cut it into pieces so no one can find the treasure alone.Each friend gets a piece (share). BUT, you cut it in such a way that only a certain number of you need to be there (quorum).
JSON
Tags: javascript, json
Published: 2024-06-17 15:34:35

## JSON.stringify()
> The JSON.stringify() method converts a JavaScript object or value to a JSON string. This is useful for sending data over a network, storing data in text format, or logging.

```
const obj = { name: "John", age: 30, city: "New York" };
const jsonString = JSON.stringify(obj);

console.log(jsonString); // Output: {"name":"John","age":30,"city":"New York"}
```
## JSON.parse()
The JSON.parse() method parses a JSON string and constructs the JavaScript value or object described by the string. This is useful for converting JSON data received from a web server into JavaScript objects.
```
const jsonString = '{"name":"John","age":30,"city":"New York"}';
const obj = JSON.parse(jsonString);

console.log(obj.name); // Output: John
console.log(obj.age);  // Output: 30
console.log(obj.city); // Output: New York

```
File locking vs Row Level Locking
Tags: devchallenge, cschallenge, computerscience, beginners
Published: 2024-06-17 15:34:03

*This is a submission for [DEV Computer Science Challenge v24.06.12: One Byte Explainer](https://dev.to/challenges/cs).*

## Explainer

<!-- Explain a computer science concept in 256 characters or less. -->
Have you ever wondered how can multiple users perform DML operations on same table at the same time? Because of row level locking in RDBMS. In RDBMS every row is a file instead of table as a file.
Rows inside a table is scattered (fragmented) all over the DB server HD, to speed up ***INSERT*** statement.
## Additional Context

<!-- Please share any additional context you think the judges should take into consideration as it relates to your One Byte Explainer. -->

Consider a multi-user environment, if multiple users are inserting rows simultaneously into the same table, and if MySQL were to store the rows sequentially then it would be really slow.
That's why when you insert a row into the table, wherever it finds the free space it will store the row there.

<!-- Team Submissions: Please pick one member to publish the submission and credit teammates by listing their DEV usernames directly in the body of the post. -->

<!-- Don't forget to add a cover image to your post (if you want). -->

<!-- Thanks for participating! -->
A Beginner's Guide to Choosing the Right Domain and Hosting for Your Website
Tags: webdev, career, learning, productivity
Published: 2024-06-17 15:29:16

**Choosing the Perfect Domain and Hosting for Your Website**

When starting your website, two key decisions are crucial: selecting a domain name and choosing a hosting provider. Here’s a simple guide to help you make the right choices:

**1. Domain Name:**

Your domain is your online identity. Follow these tips:

- **Simplicity and Memorability:** Choose a name that’s easy to remember and spell.
  
- **Reflect Your Brand:** Ideally, your domain should align with your brand or website’s purpose.

- **Choose the Right Extension:** .com is standard, but consider others like .net or .org depending on your site’s focus.

**2. Hosting Provider:**

Your hosting provider stores your website’s files and makes it accessible online:

- **Reliability and Uptime:** Opt for providers known for high uptime percentages.

- **Speed and Performance:** Look for fast loading times; it’s crucial for user experience and SEO.

- **Support:** 24/7 customer support ensures help when needed.

- **Scalability:** Ensure your hosting plan can grow with your site’s needs.

- **Security:** Features like SSL certificates and regular backups are essential for site security.

**Putting It All Together:**

- **Register Your Domain:** Use a registrar like GoDaddy or Namecheap to search and purchase your domain.

- **Choose a Hosting Plan:** Sign up with a provider that fits your requirements and follow their instructions to link your domain.

Take your time with these decisions as they impact your site’s performance and accessibility. If in doubt, most providers offer support to guide you through the process.

Happy building!
In Spring Boot, what is the use of @PostConstruct? Explain using Example.
Tags: springboot, java, interview
Published: 2024-06-17 15:24:40

##Use of @PostConstruct in Spring Boot
====================================

In Spring Boot, `@PostConstruct` is used to annotate a method that should be executed after dependency injection is complete and before the bean is put into service.

Example:
--------

Suppose we have a class `UserService` that requires some initialization logic after its dependencies are injected. We can use `@PostConstruct` to annotate a method for this purpose.

```java
import javax.annotation.PostConstruct;

import org.springframework.stereotype.Service;

@Service
public class UserService {

    @PostConstruct
    public void init() {
        // Initialization logic, e.g., loading configuration, setting up resources, etc.
        System.out.println("UserService initialized!");
    }

    // Other methods of UserService
}
    
```

In this example:

*   The `UserService` class is annotated with `@Service` to indicate it as a Spring-managed bean.
*   The `init` method is annotated with `@PostConstruct`, ensuring it runs automatically after all dependencies of `UserService` are injected by Spring.
*   Any initialization logic needed for `UserService` can be placed within the `init` method.

Conclusion:
-----------

`@PostConstruct` in Spring Boot provides a convenient way to perform initialization tasks for a bean after its dependencies are injected. It ensures that the initialization logic is executed exactly once before the bean is used, contributing to the robustness and reliability of the application.
I've created an open source Spring Boot + Nextjs starter kit
Published: 2024-06-17 15:17:38

Seeing how these are quite popular currently (mainly in nextjs space) and how one still doesn't exist with spring boot as a backend, I've decided to create one myself.

Here is the repository: https://github.com/NerminKarapandzic/spring-boot-nextjs-starter-kit

There's nothing special about the integration with Nextjs here, you could easily swap it with any frontend framework.

The starter kit includes:
Authentication with email and password
Authentication with oauth2 providers (google, facebook, github, okta)
RBAC
Password reset
Email sending with SMPT, using mailpit locally
Basic s3 integration
Pages for all of the basic user stuff on frontend and so on...

There is a youtube video that I made while building this, if you're interested you can check that out as well:
{% youtube EbIps-suESk %}

I plan to add smaller updates to this over time, things like user impersonation, maybe some basic analytics (perhaps self hosted solution), observability, newsletter subscriptions and scheduling etc.
I'd love to get contributors from outside as well, so feel free to make suggestions or straight up pr's :)
Assymetric Encryption in 256 characters or less
Tags: devchallenge, cschallenge, computerscience, beginners
Published: 2024-06-17 15:15:48

*This is a submission for [DEV Computer Science Challenge v24.06.12: One Byte Explainer](https://dev.to/challenges/cs).*

## Explainer

Assymetric encryption is like a locked box. Anyone can put a letter through the slot (public key), but only the owner can open it and get the letter (private key). This ensures that only the intended receipient can read the message.
Fasilitas eksklusif dan pengalaman spiritual yang mendalam tersedia dalam Paket Umroh Plus.
Published: 2024-06-17 15:13:40

Paket Hemat 2024 dengan 9 Hari penjelajahan

Kalender Keberangkatan: 10 Agustus. 14 September. 12 Oktober. 9 November. 7 Desember

Rute SUB-JED tanpa transit menggunakan Lion Air/Citilink/setaraf
seowa
Paket dengan biaya Rp Rp 28.300.000 all inclusive

Tempat akomodasi yang dipilih di Mekkah dan Madinah:
Hotel Mekkah : Fajr Badee/Setaraf
Hotel Madinah : Abraj Tabah/Setaraf 

Harga lengkap meliputi: Tiket Pesawat PP. Hotel & Akomodasi. Visa. Perlengkapan. Ziyarah. Muntawif. Bus. Makan 3x. Air Zamzam 5L

BONUS eksklusif yang didapat: 1. GRATIS Umroh tiap hari hingga 4x Umroh 2. GRATIS Kereta cepat Madinah - Mekkah 3. GRATIS Extra city tour ke Thaif 4. GRATIS Skincare Umroh
 
 
Ambil Promo ini sekarang, kuota terbatas untuk 30 pendaftar
[Umroh Plus](https://umrohplus.biz.id)
El Arte de Conectar a Través de los Gustos y las Aficiones
Tags: productivity, career, learning, google
Published: 2024-06-17 15:07:44

En la vida cotidiana, encontramos múltiples oportunidades para conectar con los demás a través de intereses compartidos. La capacidad de hablar sobre nuestros gustos y aficiones no solo enriquece nuestras conversaciones, sino que también fortalece los vínculos personales y profesionales.

Comprender los Gustos y Aficiones

Uno de los primeros pasos para establecer una conexión significativa es comprender nuestros propios gustos y aficiones. Reflexionar sobre lo que nos apasiona nos permite ser más auténticos en nuestras interacciones. Además, cuando nos expresamos sobre nuestros intereses con confianza y entusiasmo, trascendemos la superficialidad y logramos una interacción más profunda. Por ejemplo, si eres amante de la música, hablar sobre tu banda favorita puede abrir la puerta a debates interesantes y conexiones profundas.

La Importancia de Preguntar

No podemos subestimar el poder de hacer preguntas. Interesarnos genuinamente por las pasiones de los demás es una forma poderosa de mostrar respeto y aprecio. Preguntas como '¿Qué te llevó a interesarte por la fotografía?' o '¿Cuál es tu película favorita y por qué?' son excelentes puntos de partida. Además, estas preguntas tienen el potencial de revelar puntos en común que pueden ser el fundamento de futuras interacciones.

Frases Clave para Conversaciones Enriquecedoras
Aquí surge la necesidad de enriquecer nuestro vocabulario y conocer frases adecuadas para hablar de estos temas. En este sentido, encontrar recursos que nos ayuden a mejorar nuestras habilidades de conversación es esencial. Estas frases especiales pueden ser de gran ayuda tanto para los novatos como para los más experimentados en el arte de la conversación.

Escucha Activa y Respuesta Apropiada

Escuchar activamente es tan importante como hablar. Esto implica prestar atención a lo que dice la otra persona y responder de manera que se sienta comprendida. A veces, una simple afirmación como 'Vaya, eso suena increíble' puede hacer la diferencia entre una conversación superficial y una conexión auténtica.

Para concluir, dominar el arte de conversar sobre los gustos y aficiones es una herramienta invaluable que no solo mejora nuestras relaciones personales sino que también puede ser crucial en el ámbito profesional. Así que la próxima vez que te encuentres en una conversación, no dudes en preguntar y compartir sobre esos pequeños detalles que nos hacen únicos.
SHA-256: The Heartbeat of Cryptographic Security in 256 Characters
Tags: devchallenge, cschallenge, computerscience, beginners
Published: 2024-06-17 14:59:35


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


**## SHA-256(Secure Hash Algorithm 256-bit)**

"SHA-256 is a cryptographic hash function that converts input data into a fixed 256-bit hash. It's widely used for data integrity, digital signatures, and secure password storage. Each unique input produces a unique hash, making it crucial for verifying data authenticity and security."
Backstage for AI's Decision-Making Process
Tags: devchallenge, cschallenge, computerscience, beginners
Published: 2024-06-17 14:58:24

*This is a submission for [DEV Computer Science Challenge v24.06.12: One Byte Explainer](https://dev.to/challenges/cs).*

## Explainer

Grad CAM vitally used in regions of CNN decisions, is a part of DL. uses gradients flowing into the final convolutional layer to show where model "looks" to make decisions, passes localization tests such as PASCAL VOC, MS COCO, and ImageNet.

## Additional Context

- Visualisation aspect: It conveys the idea that Grad-CAM shows "where model looks," which is a vivid way to describe its visualisation capability.
- Benchmark inclusion: Mentioning specific datasets (PASCAL VOC, MS COCO, and ImageNet) demonstrates Grad-CAM's wide applicability and validation.
- Accessibility: The explanation balances technical terms with more approachable language, making it understandable to a wider audience.

<!-- Team Submissions: Please pick one member to publish the submission and credit teammates by listing their DEV usernames directly in the body of the post. -->

<!-- Don't forget to add a cover image to your post (if you want). -->

<!-- Thanks for participating! -->