teleren/devto huggingface dataset:
Enhancing Your Experience with WP-Events Manager: Insights and Suggestions
Published: 2024-02-29 05:55:28

Dear Community,

I hope this message finds you well. As someone who passionately teaches Salsa Dance in a picturesque beach town in Mexico, I've embarked on a journey that bridges cultures and continents. My unique path—from a Canadian learning Latin dance in Korea, to sharing these vibrant rhythms with both tourists and locals in Mexico—highlights the universal language of dance. Interestingly, while my lessons cater mainly to tourists, it's fascinating to see the cultural exchange unfold, especially since the local dance flavor, Cumbia, differs from the "L.A. Style" Salsa I teach, known locally as "Linia" or "Casino Style".

This cultural tapestry led me to leverage WP-Events Manager for my website, aiming to create a hub for Latin Dance events. Investing in their comprehensive bundle was a decision made with the intent to offer the best to my audience. However, my experience has surfaced opportunities for enhancement within the platform that I believe are crucial for potential users to consider.

    Optimization of Event Listings: The current setup where event listings significantly slow down website performance due to the lack of optimized thumbnail support is a critical area for improvement. Implementing a feature for automatic thumbnail optimization or allowing users to upload optimized images could drastically enhance site speed and user experience.

    Management of Expired Events: The handling of expired events presents a challenge, especially when it affects the visibility of past events and their SEO value. A refined approach, such as introducing settings to manage the visibility of expired event details without cluttering current listings, could greatly benefit both organizers and attendees, preserving the SEO efforts and enabling historical event exploration.

As I continue to navigate these challenges, I remain hopeful for future updates that will address these concerns, enriching the WP-Events Manager platform for all its users. I look forward to sharing more insights and developments in the coming months and eagerly anticipate the enhancements that WP-Events Manager will introduce to improve our collective experience.

Warm regards
Cloud Computing 2024: Explore the Future Today!
Tags: devops, azure, azureai, cloudcomputing
Published: 2024-02-29 11:53:49

Stay earlier of the curve in 2024 with our whole analysis of the modern-day-day dispositions, possibilities and traumatic situations in cloud computing! Our blog “[Cloud Computing 2024: Key Trends and Challenges](https://www.ecfdata.com/cloud-computing-key-trends-and-challenges/)” delves deeper into the evolution of cloud offerings, and makes a specialty of the insights crucial to navigate the dynamic international of generation.

Discover excellent headlines together with:

Combining artificial intelligence (AI) and gadget mastering (ML).
Compatibility and mobility for seamless operation
Advantages of multiclouds and allocated cloud strategies
Enhancing cloud safety systems
Managing cloud fees and environmental obligation
Ensuring cloud governance and compliance
Cloud structures designed for particular industries
Adopting cloud-native standards for agile improvement
Improving the Data Environment with DataOps and Data Fabric
Harnessing the electricity of aspect computing for actual-time insights
Gain aggressive gain:
Unlock the functionality of cloud computing to pressure innovation, overall performance and business organization price. Understand the traits shaping the destiny of cloud generation and set yourself on the adventure of virtual transformation.

Contact ECF Data Solutions:
Conquer cloud computing worrying situations with self-belief! Our expert services are tailored to quite a few industries, offering cost-powerful and dependable answers to useful resource your efforts. Contact us in recent times to simplify your cloud migration adventure and unencumber first-rate business opportunities.

[Get in Touch with Us](https://www.ecfdata.com/contact-us/)
Day 11: Introduction to React Hooks
Tags: react, reactjsdevelopment, reactnative, javascript
Published: 2024-03-01 14:29:59

**Introduction**
Welcome to Day 11 of our 30-day blog series on React.js! Today, we'll explore React Hooks, a powerful feature introduced in React 16.8 for adding state and other React features to functional components. Hooks provide a more concise and flexible way to write components compared to class components.

**What are React Hooks?**
React Hooks are functions that enable functional components to use state, lifecycle methods, context, and other React features without writing a class. Hooks allow you to reuse stateful logic across multiple components, making code more modular and easier to maintain.

**useState Hook**
The `useState` Hook allows functional components to add state to their logic. It returns a stateful value and a function to update that value, similar to `this.state` and `this.setState` in class components.

```jsx
import React, { useState } from 'react';

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

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

```
In the above example:

- We import the `useState` Hook from the React package.

- We use array destructuring to create a state variable `count` and a function `setCount` to update the count state.

- The initial value of count is provided as an argument to `useState`.

**useEffect Hook**
The `useEffect` Hook enables functional components to perform side effects, such as fetching data, subscribing to events, or updating the DOM, similar to lifecycle methods in class components.

```jsx
import React, { useState, useEffect } from 'react';

function Timer() {
  const [seconds, setSeconds] = useState(0);

  useEffect(() => {
    const timerID = setInterval(() => {
      setSeconds(prevSeconds => prevSeconds + 1);
    }, 1000);

    return () => clearInterval(timerID);
  }, []); // Empty dependency array ensures the effect runs only once on component mount

  return <div>Seconds: {seconds}</div>;
}

```
In the above example:
We use the `useEffect` Hook to start a timer when the component mounts and clean it up when the component unmounts.

The empty dependency array `[]` ensures the effect runs only once when the component mounts.

React Hooks revolutionize the way we write React components by allowing functional components to use state and other React features without classes. The `useState` and `useEffect` Hooks are just the beginning, as React provides many more Hooks for various use cases.

Stay tuned for tomorrow's post, where we'll explore more advanced concepts and Hooks in React, including useContext, useMemo, and useCallback.
Ao infinito e além
Tags: career, pgrowth
Published: 2024-03-01 17:30:46

Hoje, vamos falar um pouco sobre o impossível que está apenas na sua cabeça e os limites que você mesmo coloca sobre si.

Há algum tempo, comecei a tomar alguns cuidados com a minha saúde mental no trabalho e nos estudos, pois, para atingir a longevidade na minha carreira que pretendo, preciso me preocupar com esses aspectos emocionais, como a síndrome do impostor, insegurança, autoavaliação, etc.

Todos nós temos nosso próprio processo para aprender algo ou nos tornarmos bons em alguma coisa, certo? E isso leva um certo tempo, que continua sendo nosso, sem levar em consideração nenhuma outra pessoa na face da terra, apenas nós mesmos!

Atualmente, vejo que esse processo individual não está sendo respeitado. É basicamente um ciclo de frustração que se aplica não só na área de TIC, mas em diversas outras áreas. Nós, por natureza do século XXI, ficamos a maior parte do tempo vendo como as pessoas fazem as coisas, ou nos comparando o tempo todo. Isso é muito errado. Não sabemos realmente o que uma pessoa fez para chegar aonde chegou ou conquistar o que conquistou. Essa comparação constante está acabando com a nova geração. Esse ciclo de vida se resume basicamente em três fases:

1° - Você decide aprender algo ou alcançar um objetivo.
2° - Você se cobre de pensamentos.
3° - Simplesmente por pensar demais, você acaba colocando seu objetivo primário longe demais da sua realidade e simplesmente desiste, sim... desiste de realizar seu objetivo, por pensar não ser capaz o suficiente! Muitas vezes, antes mesmo de tentar.

A sua insegurança de achar que não consegue fazer algo, ou ter esse 'pré-conceito' que aquilo não é para você, é um pensamento ignorante que limita sua capacidade e coloca uma régua com um limite 'X' na sua vida.

Pense comigo, a questão não é achar que você não sabe fazer algo (ou não é capaz) e se martirizar com isso; o principal ponto é simplesmente não se cobrir de pensamentos e apenas fazer. Nesse caso, você terá duas possíveis consequências como resultado final: na tentativa, você consegue executar com êxito e acerta, proporcionando o glorioso sentimento de satisfação, ou na tentativa, você erra e acaba não conseguindo, mas ganha uma experiência única que vai fazer você tentar outra vez de uma forma diferente (com a plena certeza de que você terá um pouco a mais de chance de acertar).

Errando, você se perpetua em uma onda de pensamentos negativos, mas isso não pode te abalar. Sempre procure pensar que, independentemente do resultado, você está sempre caminhando para o 'objetivo alcançado com sucesso!' e se, por acaso, não conseguir, tente novamente. Essas inúmeras tentativas não são em vão... uma hora você consegue!

Quero acabar este artigo com o seguinte argumento: fique tranquilo e não desista, não pare de tentar, olhe de fato para o seu caminho e não para o do vizinho.
Estimate the read time of an article without any library in JavaScript.
Tags: javascript, webdev, tutorial, beginners
Published: 2024-03-01 20:56:19

In this article, we'll embark on a journey to craft a JavaScript function to help us estimate the read time of an article. You will dabble with a little bit of regex to help you strip your content clean for proper estimation. Keep in mind that since this is pure JavaScript, it works across the stack (front-end and back-end).

Let's get started.

## Strip HTML Tags

If there are HTML tags present in your content, you will need to strip the content to make the estimation more accurate.

To do that, we have to do some regex:

```
const htmlTagRegExp = /<\/?[^>]+(>|$)/g
const textWithoutHtml = text.replace(htmlTagRegExp, '')
```

- **htmlTagRegExp**: The regex function catches any HTML tag syntax.
- **textWithoutHtml**: The `.replace` property replaces the HTML tag syntax caught by the regex with a blank space.

With that, we achieved the first phase of the estimation.

## Match all words

```
const wordMatchRegExp = /[^\s]+/g
const words = textWithoutHtml.matchAll(wordMatchRegExp)
```

- **wordMatchRegExp**: This regex function is used to match all non-whitespace characters. It's designed to match individual words in a text.
- **words**: The matchAll method is used to find all matches of the regular expression in the given textWithoutHtml. It returns an iterator containing all the matches.

## Let's Estimate!

To estimate the read time of the content, you will unpack words and get the length as the word count. Then you divide it by 200. Why? because 200 words per minute is the assumed average reading speed.

```
const wordCount = [...words].length
const readTime = Math.round(wordCount / 200)
```

With that, you have gotten the estimated read time of your content.

## Conclusion

You can always set this up as a reusable function in your project and make use of it without installing any additional packages.

See you on the next one.
Supercharge Your Website Search with Google's PSE!
Tags: webdev, google, search, javascript
Published: 2024-03-02 12:09:34

Hey developers! Let's talk about enhancing your website's user experience with a powerful search bar. Today, we're diving into Google's Programmable Search Engine (PSE).

## What is PSE?
PSE is a free service that empowers you to integrate a custom search engine directly into your website. It utilizes Google Search's technology, ensuring users receive fast and relevant results within the specific context of your website's content.

Key perks for developers:

**Targeted Search:** Define the search scope, directing users to specific websites or content you choose.
**Customization:** Craft the search bar and results page to match your website's design aesthetics.
**User-Friendly Features:** Implement features like search refinements, autocomplete, and promotions for an enhanced experience.
**Easy Integration:** Integrate the PSE code seamlessly into your website with minimal technical expertise.

Get started with PSE:

Head over to https://programmablesearchengine.google.com/about/ for comprehensive setup instructions and documentation.


![Google Search](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/thlqv8b0ns4hifuwmo2o.png)
What is JavaScript?
Tags: javascript, beginners
Published: 2024-03-02 14:42:14

JavaScript, often abbreviated JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. It lets us add interactivity to pages e.g. you might have seen sliders, alerts, click interactions, popups, etc on different websites — all of that is built using JavaScript. Apart from being used in the browser, it is also used in other non-browser environments as well such as Node.js for writing server-side code in JavaScript, Electron for writing desktop applications, React Native for mobile applications, and so on
Uncovering Generative Artificial Intelligence and LLMs: A Brief Introduction
Tags: gpt4, generativeai, llm, largelanguagemodels
Published: 2024-03-02 23:00:20

---
title: Uncovering Generative Artificial Intelligence and LLMs: A Brief Introduction
published: true
description: With the popularization of tools such as ChatGPT, Google Bard (currently Gemini), and other similar applications, which generate responses based on what the user asks, the machinery behind these innovations also came to light.
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v9htuti7qog7hr9mis01.png

tags: #gpt4 #generativeai #llm #largelanguagemodels
---

With the popularization of tools such as ChatGPT, Google Bard (currently Gemini), and other similar applications, which generate responses based on what the user asks, the machinery behind these innovations also came to light.

![A machine turning into a human being with data and books behind it](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k64kxi2js5wex2u0ri7f.jpg)

We call the set of these technologies **Generative Artificial Intelligence**. Generative AI is, under the hood, algorithms that generate content based on patterns recognized in previously learned data.

Different from other categories of Machine Learning, Generative AIs work by **synthesizing new data instead of just predicting and making decisions**.

With the evolution of statistical models and analysis of linguistic patterns since the 80s, with the advancement of Machine Learning algorithms, along with the exponential growth of data and information from the internet, combined with the increase of the storage capacity with technical improvements and cheaper hardware, Generative AI has become more feasible.

The **LLMs (Large Language Models)** emerged from this reality of abundant data. They are Machine Learning models focused on working with Natural Language Processing, that is, **processing, understanding, interpreting, and generating human language**.

With a vast amount of data learned, the LLMs can detect existing patterns and relationships between the words in a given sentence. 
From there, they are able to make predictions of the possible next words, generating more meaningful answers.

The applications of LLMs are diverse, from developing dialogues to generating text, code, images, audio, video, and much more. You can also use video, audio, and image as data input.

Today, it's possible to utilize LLMs to create chatbots and virtual assistants, code generators and correctors, sentiment analysis, text classification and grouping, translation, summarization, you name it.

The future of Generative AI promises even more improvements and possibilities, evolving how we interact and utilize the technology in our daily lives.

Please share this post with your friends.

#### References:
- Large Language Models (LLM) - Databricks
- Generative AI with LangChain - Ben Auffart
- Desenvolvendo aplicativos com GPT-4 e ChatGPT - Olivier Caelen e Maria-Alice Blete
A simple tip to find hidden gems in Shodan
Tags: security, infosec, cybersecurity
Published: 2024-03-03 03:55:28

Shodan is a well-known recon tool, but in larger scopes, it has so many results that it’s hard to find something useful without navigating through all the results pages.


![Microsoft results](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xnt44draj731ffmptc9j.png)

In this image searching for hostnames from Microsoft we got +100k results. It would be a TON of work going through 20 pages of results trying to find something.

### That's when the 'facets' search comes into play

Facets are a set of filters that can help with your search. Some basic filters are ‘country’, ‘city’, ‘ssl cert’, and so on. 


![Facets](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jxoa40twl8ckp142hor2.png)

Personally, the filter that helps me the most to find some interesting stuff for pentests and bug bounties is the ‘http.title’. In many cases, there will be some repetitive titles with an error message or a default response for pages without content.

So instead of going through 20 pages of search, you will have a list that only shows one time each title, and it’s filtered by occurrences.

By doing that we can go for the titles that only show up one or two times in the whole search, that’s where we can find something misconfigured, a subdomain that shouldn’t be public, internal dashboards, and many more.


![Facets3](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/btdmvvraoxda69xbepp3.png)

Usually I don't bother looking for the most common titles, the focus is in the ones with a few appearances.

![Facets2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5istr5dq4tpf6279r1c1.png)

In this image, we can see that we have some titles that get our attention. 

Usually I try to look for titles that contain some keywords like "Dashboard", "Welcome", "Internal" and so on.

From now on, you just gotta dig and look for more.
How Do I Get a Refund From Microsoft Store?
Published: 2024-03-03 11:24:50

Microsoft continues to improve its user experience and customer satisfaction. According to user feedback, they have improved cancellation procedures and refund policies. It is a sign that they are committed to providing great service. Microsoft Store refund requests are often confusing, even though it is easy to buy apps and game controllers. Here, we explain how to cancel subscriptions on Windows 11/ 10. We also explain how to [request refunds on the Microsoft Store ](https://www.howtogeeki.com/refund-microsoft-store/)and track refund requests.
Learning web development is hard
Tags: webdev, javascript, beginners, programming
Published: 2024-03-03 14:12:55

## `console.log(Learning web development is hard)`
Yup, you read it right. Learning web development is hard and that's a fact. Not only web development, but in fact everything that's worth learning takes time. For example cooking, if you want to be a good chef, you have to spend lots of time in the kitchen. Same is for web development career, good programmers spend lots of time in code editors. So, how to get better? My answer might not surprise you... The real key to mastery is practice. That's it. Nothing more but a good amount of practice! Watching some tutorials or courses won't make you even remotely as good as if you were practicing by yourself instead of just watching someone else to code. Will watching cooking tutorials make you a good chef? The answer is no. And same is for web development. You will get frustrated, sad and feel like giving up but that's okay. As I said earlier, learning web development is hard. You need to take your time and trust the process and eventually you'll get there.

## My story
When I started learning web development, the first thing I started with was HTML and CSS. The first one seemed easy, but CSS at first felt daunting… there was so much about it to learn that it took me a few months to grasp it well. And when I finally felt good with CSS, JavaScript came on to the stage. It was even harder to add interactions to the page than just styling it with CSS. JavaScript is where the real web programming comes into play, as HTML and CSS are not programming languages(hate me or not). Getting fundamentals of JavaScript wasn't that hard, but the deeper into the concepts of programming the harder it gets. I’m over a year into the field and now I am currently struggling with React. It is hard but it is fun, so I enjoy every minute in vs code.

## Conclusions

Web development is hard and don't let it discourage you, use it to fuel you instead. How? Embrace the process and the reward. It always was and will be a long and hard process 

Let me know what you think about this article as it is my first one in the comments below! Thanks for reading and to the next one.
What is the currying function
Published: 2024-03-03 16:12:37

Currying is the process of taking a function with multiple arguments and turning it into a sequence of functions each with only a single argument. Currying is named after a mathematician Haskell Curry. By applying currying, an n-ary function turns into a unary function.

Let's take an example of n-ary function and how it turns into a currying function,

const multiArgFunction = (a, b, c) => a + b + c;
console.log(multiArgFunction(1, 2, 3)); // 6

const curryUnaryFunction = (a) => (b) => (c) => a + b + c;
curryUnaryFunction(1); // returns a function: b => c =>  1 + b + c
curryUnaryFunction(1)(2); // returns a function: c => 3 + c
curryUnaryFunction(1)(2)(3); // returns the number 6
CSS tips to avoid bad UX
Tags: css, webdev
Published: 2024-03-03 17:18:56

I believe CSS is a powerful tool to make perfect UX. I'm here to share my tips for unfortunate mistakes.

If you like it you'll get more [by subscribing to my newsletter](https://cssisntmagic.substack.com).

## Please, stop using resize: none

We used to use resize: none to disable textarea resizing. We end up textareas are terrible for typing data 😒 

The vertical value and limit to the heights makes the same without discomfort 💡

**A wrong code**
```css
.textarea {
  resize: none;
}
```

**A correct code**
```css
.textarea {
  resize: vertical;
  min-height: 5rem;
  max-height: 15rem;
}
```

## Leave the content property empty to avoid unexpected voicing

Pay attention, screen readers voice a text that's defined with the content property. It might lead to unexpected voicing. It's why we shouldn't use CSS to add text to a web page 😉

**A wrong code**
```css
.parent::before {
  content: "I am text";
}
```

**A correct code**
```css
.parent::before {
  content: "";
}
```

## aspect-ratio is a page jump pill

Page jumps after loading pictures is a pain. It's well, aspect-ratio help to avoid it. For example if the picture has the 600x400px size we should set aspect-ration: 1.5 (600px / 400xp = 1.5) 😊

**A wrong code**
```css
img {
  display: block;
  max-width: 100%;
}
```

**A correct code**
```css
img {
  display: block;
  max-width: 100%;
  aspect-ratio: 1.5;
}
```

## animation without prefers-reduced-motion might lead to dizziness or headache

Motion animation might lead users with vestibular disorders to experience dizziness 😩 

So we should wrap it in prefers-reduced-motion to avoid problems if users disable animations in OS settings 👍

**A wrong code**
```css
.example {
  animation: zoomIn 1s;
}
```

**A correct code**
```css
@media (prefers-reduced-motion: no-preference) {
  .example {
    animation: zoomIn 1s;
  }
}
```