teleren/devto huggingface dataset:
Integrating Google reCAPTCHA
Tags: programming, javascript, api, node
Published: 2023-11-16 11:08:23

To integrate Google reCAPTCHA in your project, you need to perform the following steps for both the API and frontend:

1-Set up reCAPTCHA API:

- Go to the Google reCAPTCHA website (https://www.google.com/recaptcha).

- Sign in with your Google account. (youremail@gmai.com)

- Register your website and obtain the reCAPTCHA Site Key and Secret Key.

2-Install the necessary dependencies:

- Install the react-google-recaptcha package for the frontend using npm or yarn.

3-Frontend Integration:

- Import the required components from the installed package: ReCAPTCHA from "react-google-recaptcha".

- Create a reference using useRef to access the reCAPTCHA component.

- Set up the necessary states to manage the form data, validation, and reCAPTCHA token.

- Render the reCAPTCHA component using the obtained Site Key from the API.

- Implement event handlers to handle form submission and user actions (e.g., toggling password visibility).

- Validate the form fields and display error messages if necessary.

- Use the getValue() method of the reCAPTCHA reference to get the user's response and set the token state.

- Pass the obtained token along with other form data to your API request.

4-Backend Integration:

- Implement an API endpoint to receive the form data and reCAPTCHA token.

- Verify the reCAPTCHA token using the reCAPTCHA Secret Key obtained in step 1.

- If the token is valid, proceed with processing the form data. Otherwise, return an error.

- Please note that the provided code is only the frontend part and assumes you have implemented the backend API separately.

- Remember to replace the placeholder "REACT_APP_GOOGLE_RECAPTCHA_SITE_KEY" with the actual Site Key obtained from the Google reCAPTCHA website.

- Make sure to handle the API request to postUser on your server-side code. You can find the integration example on `your-platform-api` and `your-platform-fe`
Wordle Today game
Tags: gamedev
Published: 2023-11-16 11:04:14

The word game [wordle today](https://wordletoday.io/) has become increasingly popular in recent months. Invented by Jonathan Feinberg, this game is a fun and challenging way to put your reasoning and vocabulary skills to the test. Players get six opportunities to accurately guess a five-letter word in this game. The number of letters that are correct and in the proper position (shown by a green square) or correct but in the erroneous position (represented by an image) is given for each estimate made by the player. a yellow square).

The goal of this game is to properly identify a five-letter word from a pool of six options. The game's apparent ease belies its underlying complexity, which makes it both difficult and compelling to play. With thousands of five-letter words, there is a fresh puzzle to solve in every round of this game.

Wordle Today's success can be traced in part to the fact that the user doesn't have to go through the hassle of downloading or registering. Players can hop on the action from any web-enabled device with a simple web browser download.

The game's social elements are likely a big part of its appeal. Players compete against one another, but they can brag about their achievements to their friends and on social media. Gamers from all around the world can connect in online communities and discussion boards to share tips, strategies, and support.

Wordle One of the most fascinating aspects of modern data usage is how it is being put to use. The game keeps track of how many guesses a player needs to make until getting the proper word, and stores this information anonymously. The ability to benchmark one's progress against that of gamers all over the world enhances the competitive nature of the game. The system also makes sure the randomly produced words are balanced, so that no one has an unfair advantage over the other.

In its current iteration, Wordle Today serves as a fun and thought-provoking tool for assessing both vocabulary and reasoning skills. Its popularity among fans of puzzle games can be attributed to its accessibility, ease of use, and social features. This game has a special challenge that can keep players of all skill levels amused for a long time.
Navigating AWS re:Invent 2023: An AWS re: Invent All Builder’s Tale
Tags: awsreinvent2023, techdiversity, amazon, cloudcomputing
Published: 2023-11-16 11:04:05

I’m thrilled to share the exciting news that I’ve been awarded the AWS re:Invent All Builders Welcome grant, paving the way for my attendance at AWS re:Invent 2023 in Las Vegas, Nevada— an eagerly awaited five-day conference from November 27th to December 1st. The journey from the initial excitement of the grant to the nail-biting wait for my visa has been nothing short of exhilarating.

Receiving the AWS re:Invent All Builders Welcome grant is a testament to the value placed on builders like me in the AWS community. The anticipation has been building, and as the conference approaches, I find myself eagerly awaiting the opportunity to delve into the intricacies of cloud innovation.

The conference boasts a stellar lineup of key sessions that promise to be enlightening and transformative. Noteworthy keynotes by industry luminaries such as Adam Selipsky, Dr. Ruba Borno, Werner Vogels, and Dr. Swami Sivasubramanian are sure to set the tone for an immersive learning experience. Additionally, sessions on OpenSearch by Daniel Doubrovkine, David Tippett, and Gene Alpert, coupled with insights into ML/DL and GenAI by experts like Karthik Anantha Padmanabhan, James Spiteri, Jeff Boudier, and Mark Trinquero, promise to broaden my understanding of cutting-edge technologies.

Aside from the keynotes, I’m particularly excited about the sessions on Kubernetes, GitOps, Cloud, and DevOps. Interactive workshops, builder sessions, and breakout sessions will provide a dynamic platform for me to engage with these topics and gain hands-on experience.

Beyond the scheduled sessions, I am eager to connect with like-minded individuals in the AWS re:Invent community. The prospect of joining the Slack group and engaging with fellow grant recipients on LinkedIn has added another layer of excitement to my journey. The sense of camaraderie and shared enthusiasm in these virtual spaces create an invaluable network of peers who are equally passionate about pushing the boundaries of innovation.

A significant highlight of this journey is the opportunity to connect with my mentor. Her unwavering support and guidance have been instrumental in navigating the path leading up to AWS re:Invent. The virtual meeting with the rest of the team has not only eased any initial anxieties but has also fostered a sense of belonging within our mentorship group.

As a passionate engineer with expertise in Cloud Computing and DevOps. I’m eager to explore opportunities to grow and learn how I can contribute to innovative projects in the near future. If you’re attending, let’s connect at #peertalks or on LinkedIn. Here’s to an amazing experience at AWS re:Invent 2023 — filled with learning, networking, and the exploration of new opportunities! 🚀

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/thf9n0opr1ib8hbr9c8p.jpg)
File changes detector Detect new and deleted files using python
Tags: python, coding, programming, development
Published: 2023-11-16 10:56:46

**hi 🙂🖐**

{% embed https://www.youtube.com/watch?v=PIlr0xVXi0Q %}

Discover how to detect new and deleted files using a simple Python script. Our video tutorial guides you through the process, making file changes detection easy for everyone. Stay tuned to enhance your Python skills and efficiently manage your files
MDB v7 is coming soon, very soon.
Tags: bootstrap, webdev, javascript, news
Published: 2023-11-16 10:54:45

_**We're on the eve of releasing MDB v7. Some really cool changes, fixes and optimizations incoming:**_

**Breaking changes:**
Changed HTML init for all components and plugins to unified data attributes
Unified event and method names, added new events, removed some methods
Changed names of Javascript files
We moved from preparing files with compiled modules for every component to using ES modules.
Timepicker
Removed appendValidationInfo and enableValidation options
Renamed headID option to headId
Renamed bodyID option to bodyId
To make transition to MDB v7 easier we prepared a list of changes needed in existing projects, which you can find in Migration guide

**Design updates:**
Introduced a new theming system that allows setting the theme for the entire page, its parts, or selected elements using data attributes.

**Fixed & improved:**
Select
fixed dispose to restore custom content
fixed infinite error after image loading error
WYSIWYG - fixed padding in the dropdown when WYSIWYG is used in the form
Calendar - fixed validation issues in the add event modal
Treeview - added support for custom ID for treeview items
Table editor - fixed pagination to be responsive
Datepicker
Removed option switchToMonthViewLabel
Changed default values for switchToMultiYearViewLabel and switchToDayViewLabel options
Lightbox - removed option fontAwesome
Charts
Removed option dataLabelsPlugin
Added register method allowing controllers registration
enhance the dispose method for all components

**Other:**
Changed bundler used for compilation to Vite

 **Check out Material Design for Bootstrap [HERE](https://dev.to/mdbootstrap/mdb-v7-is-coming-soon-very-soon-1j2e)**
Passkeys @ Facebook
Tags: cybersecurity, passkeys, facebook, authentication
Published: 2023-11-16 10:53:58

## Revolutionizing User Authentication

Facebook’s anticipated rollout of passkeys promises to revolutionize user authentication on the largest social network, with a focus on technical and strategic innovation​​.

## WhatsApp Leading the Charge

The implementation of passkeys in [WhatsApp](https://www.corbado.com/blog/whatsapp-passkeys), closely linked to Facebook and Instagram, suggests a forthcoming similar rollout for these platforms. This is particularly significant for Facebook, with its vast mobile user base, setting the stage for a broader adoption of passkeys​​.

## Mobile-First Strategy

With a majority of Facebook users accessing the platform via mobile devices, passkeys are a fitting solution. [Mobile devices are generally equipped to handle passkeys](https://www.corbado.com/blog/september-2023-update-insights-passkey-readiness), offering an opportunity for Facebook to later extend this technology to desktops, especially macOS users who use iCloud Keychain for password synchronization​​.

## Hardware Security Keys as a Foundation

Facebook’s existing support for hardware security keys like YubiKeys establishes a solid groundwork for the integration of passkeys, demonstrating the company’s commitment to advanced security measures​​.

## Strategic Advantages for Facebook and Instagram

Meta’s deployment of passkeys in [WhatsApp](https://www.corbado.com/blog/whatsapp-passkeys) signals an overarching strategy that could influence Facebook and Instagram, potentially leading to simultaneous passkey rollouts. The integration of logins across these platforms is noteworthy, although there are ongoing discussions about the technicalities of passkey binding to ensure phishing prevention​​.

## Anticipating a Security Paradigm Shift

The introduction of passkeys by Facebook is expected to mark a significant shift in digital security and user convenience. This movement is anticipated to quicken the adoption of passkeys globally, following trends seen after similar rollouts by [Google](https://www.corbado.com/blog/passkeys-best-practices-from-google), [GitHub](https://www.corbado.com/blog/github-passkeys-best-practices-analysis), and [Amazon](https://www.corbado.com/blog/amazon-passkeys-launch)​​.

_For in-depth insights and updates on Facebook’s passkey technology, including its potential impact and implementation, visit our [comprehensive blog post here](https://www.corbado.com/blog/facebook-passkeys)._
1 million RPS DDoS attack to Russian bank
Tags: ddos, cybersecurity, attack, hackers
Published: 2023-11-16 10:47:21

Discover how to Enhance Your Cybersecurity with RELIANOID to avoid situations like the recent Cybersecurity Alert: Sberbank, a prominent Russian financial institution, has revealed its encounter with an unprecedented distributed denial of service (DDoS) attack, described as the most formidable in recent history. The attack, reaching one million requests per second (RPS), underscores the escalating cyber threats faced by major institutions. 
https://www.relianoid.com/blog/1-million-rps-ddos-attack-to-russian-bank/
#CybersecurityAlert #Sberbank #DDoSAttack #ThreatIntelligence #RELIANOID #NetworkSecurity #SiteReliability #CyberDefense #EnterpriseSecurity #CyberThreats #FinancialSecurity #TechNews #CyberResilience #InfoSec #DataProtection #LoadBalancer #CyberSafety #DigitalSecurity #TechSolutions #SecurityProtocols #StaySecure #CyberAwareness #Russia 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1gh2b16ipkpbetodytb7.jpg)
Help me to show the 🥳 fun at work in your country.
Tags: programming, testing, webdev, help
Published: 2023-11-16 10:32:51


## Pre-history

My career in IT started as a servant to programmers, fixing a line or two in the code, and now I am a director in a vast international privacy company. If I look back, it was different. Oh gosh, we had so much fun in the past.

Do you remember the [chair rowing](https://www.youtube.com/watch?v=9Na0qnYO81E)? Do you remember us [singing IT songs](https://www.youtube.com/watch?v=YRlPTbKHIPQ) and directing [movies about Java](https://www.youtube.com/watch?v=3vI_7os2V_o) while [writing funny RFCs](https://en.wikipedia.org/wiki/IP_over_Avian_Carriers)? 

Recently, most of the world decided that IT is an elite profession that needs to produce only value no matter what.

This is a great tragedy, and we should rectify it. Why do we have feelings, emotions, and personalities if we no longer have fun?

## What's the project about?

I want to collect "evidence" that the fun 🥳 **is still in our technology-driven hearts**. And I want **proof **from every country in the world.


## How can you help?
I want your wild input on how you have fun at work. 

### Option One: Video
If you feel brave, you can talk with me (online or offline) and answer a few questions (5 minutes tops). I will send them to you in advance.

### Option Two: Text
You can contribute to a Git repo and share your links or a short `<p>` on how you have fun working as IT in your country and region.

### Option Three: Share 🙏🏼
If you still want to help but prefer to keep videos or knowledge private, you can share this article with your peers, and someone could share their story with me.

## What's in for you?

All of the videos will mention your name (unless you don't want to) and be published under [Creative Commons CC BY license](http://creativecommons.org/licenses/by/4.0/), so apart from sharing your part of the story, you will be famous.

Apart from the fame, if I can raise some money, I will ensure you get a nice T-shirt for this project.

## I am in! How to get started?

 👉 [Fill in this form](https://forms.gle/g1Q7fYz24aqMRd8U7) to show interest, and I will contact you when the project starts (sooner than you expect).

If you want to keep your real e-mail private from me, use a service like [this](https://addy.io) to mask your e-mail. But please check your e-mail often for the event activity.

## Trust
This is a hobby project unrelated to any company or commercial interest. [My website](https://talkweb.eu) is a good start if you want to learn more about me before jumping into it. And here is me, talking about fun at work at a conference.

{% vimeo 884299606 %}

Photo by Tolu Akinyemi on [Unsplash](https://unsplash.com/photos/a-man-walking-down-a-hallway-next-to-a-yellow-wall-Bvl8UWVGmIw?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash)
Invoke REST Services in AEM Interact AWS Cloud
Tags: aem, aemcomponent, aemarchetype, dispatcher
Published: 2023-11-16 10:25:54

First and foremost, comprehend the Digital Experience Platform, especially within the context of AEM (Adobe Experience Manager). This platform allows you to leverage its capabilities to create a modern website with full features and high customization. In this article, however, we won't delve into the specific details of utilizing REST APIs and establishing interactions between the AEM site and AWS Cloud.

## Implement Front-end Module Logic
Assume you are using Typescript in your Front-end module to handle the logic of calling REST API created by Sling Servlet within the AEM site. We will represent the page as an XML file, as shown below:
» [http://localhost:4502/content/flagtick/us/en/sample.html.-1.json](http://localhost:4502/content/flagtick/us/en/sample.html.-1.json)
`{
  "jcr:primaryType": "cq:Page",
  "jcr:content": {
    "jcr:primaryType": "cq:PageContent",
    "jcr:mixinTypes": [
      "mix:versionable"
    ],
    "jcr:createdBy": "admin",
    "jcr:title": "Sample Page",
    ...
    "cq:template": "/conf/flagtick/settings/wcm/templates/sample-template",
    ...
    "root": {
      "jcr:primaryType": "nt:unstructured",
      "layout": "responsiveGrid",
      "sling:resourceType": "flagtick/components/content/container",
      "container": {
        "jcr:primaryType": "nt:unstructured",
        "layout": "responsiveGrid",
        "sling:resourceType": "flagtick/components/content/container",
        "container": {
          "jcr:primaryType": "nt:unstructured",
          "layout": "responsiveGrid",
          "sling:resourceType": "flagtick/components/content/container",
          "sample": {
            "jcr:primaryType": "nt:unstructured",
            "jcr:title": "Sample",
            ...
            "sling:resourceType": "flagtick/components/content/sample",
            ...
          }
        }
      }
    }
  }
}`
Go to ...
Automating `updated_at` Timestamps with `update_all` in Ruby on Rails
Tags: ruby, rails, database, postgres
Published: 2023-11-16 10:22:11

## Introduction
Ruby on Rails greatly simplifies many programming tasks, yet sometimes its behavior can diverge from expectations. A notable example is when using the `update_all` method. This method, while efficient, does not automatically update the `updated_at` column in a database record. This oversight can lead to difficulties in tracking changes, particularly when auditing data history. This article presents a practical solution to this issue.

## Understanding Ruby's Handling of Modules and Classes
Ruby's approach to modules and classes is fundamental to understanding the solution. In Ruby, a class can inherit features from a parent class and incorporate modules. This is achieved through a `super` pointer in each class, which references its parent, and a `method_table` that contains its methods. When a method is invoked, Ruby searches the `method_table` and, if necessary, proceeds up the inheritance chain. Including a module into a class inserts the module's methods into this lookup process, allowing for flexible and powerful customization.

## The Art of Monkey Patching
'Monkey patching' refers to dynamically modifying or extending a class. In our case, we want Ruby to execute custom code before the native `update_all` method. This reverse lookup—checking our module first and then the original class—is made possible through the `prepend` keyword. By prepending our module, `CustomUpdateAll`, to `ActiveRecord::Relation`, we ensure that our version of `update_all` is found first. This technique is particularly useful in Rails, where code in `config/initializer` is executed after the framework has loaded.

## Enhanced `update_all` Code
I first want to acknowledge that this is based on and inspired by [Choncou's Code](https://gist.github.com/timm-oh/9b702a15f61a5dd20d5814b607dc411d) with some slight modifications of my own.

```ruby
# config/initializer/custom_update_all.rb
module CustomUpdateAll
  def update_all(updates)
    # Check if updates should modify the updated_at column
    if updates.is_a?(Hash) && !updates.delete(:skip_touch) && column_names.include?("updated_at")
      super(updates.merge(updated_at: Time.zone.now)) # Merge our custom timestamp
    else
      super # Call the original update_all method
    end
  end
end

ActiveRecord::Relation.prepend(CustomUpdateAll)
```

## Further Exploration
While this solution addresses hash-based updates, it can be expanded to handle strings and arrays. If you want, experiment and adapt the code to these formats, sharing your modifications and insights.

## Conclusion
In summary, this article detailed a method to ensure `updated_at` is automatically updated when using `update_all` in Ruby on Rails. This solution enhances data integrity and simplifies record auditing. Your feedback and experiences with this approach are warmly welcomed.

## References
[Choncou's Code](https://gist.github.com/timm-oh/9b702a15f61a5dd20d5814b607dc411d)
What Is the Difference Between a CV and a Resume?
Tags: resume, resumebuilder, resumeforstudents, resumeforemployee
Published: 2023-11-16 10:13:55

The terms "CV" (Curriculum Vitae) and "Resume" are frequently used interchangeably, which causes job seekers to become confused. These two publications, however, serve different functions and differ greatly in terms of content, length, and usage. In this article, we'll look at the fundamental distinctions between a [CV and a resume.](https://truresume.ai/)

1. Dimensions:

The length is one of the most visible differences. A CV is normally lengthy, frequently covering many pages, whereas a resume is usually brief, rarely exceeding one or two pages.

2. Information:

A CV provides a full picture of your whole career, including academic achievements, research, publications, presentations, and professional experience. A resume, on the other hand, emphasizes relevant abilities, experiences, and achievements pertaining to a given job or industry.

3. Function:

CVs are frequently utilized in academic and research environments, as well as for foreign job applications. They place an emphasis on qualifications and accomplishments in a broader perspective. In the corporate world, resumes are standard and are personalized for job applications, emphasising abilities and experience relevant to a certain role.

4. Educational Focus:

A CV emphasizes education by detailing educational institutions, degrees, academic achievements, and research experience. In contrast, a resume normally includes a brief education section that emphasizes actual work experience.

5. Personal Details:

Depending on regional customs, a CV may include personal information such as date of birth, nationality, and even a photograph. To avoid potential discrimination, most resumes exclude such personal information.

6. Work Experience:

A CV has a detailed job history that lists all important work experiences in reverse chronological order. Resumes emphasize recent and relevant professional experiences while excluding less relevant ones.

7. Job-Specific Tailoring:

Resumes are extremely adaptable and should be adjusted to each job application. CVs, on the other hand, remain generally consistent and include your whole career background.

Section 8: Additional Sections

Publications, research projects, and academic prizes are common elements on CVs. A summary or objective statement, abilities, and certifications are examples of resume parts.

9. Regional Differences:

CV and resume vocabulary and standards vary by area. "Resume" is more widely used in some countries, such as the United States and Canada, whereas "CV" is more widespread in Europe and other areas of the world.

10. Preferences for Industry:

Certain sectors or professions may have special CV or resume requirements. Academic and scientific industries, for example, prefer CVs, but business and corporate sectors prefer resumes.

for more details please check https://truresume.ai/