teleren/devto huggingface dataset:
Cracking the AWS Migration Code with a Humorous Brush: Discovering the 7 Rs for Cloud Adventure
Tags: todayilearned, aws
Published: 2023-11-02 11:46:27

## 1. Rehost (or Lift and Shift):
It’s like taking your old couch to your new home. It doesn’t matter if it goes with the style of the new room, and that door could be covered up, but it’s fast, and you won’t need to go for new couches!
## 2. Replatform (or Lift, Tinker, and Shift):
This is similar to adding a spoiler to a car. It’s not a spaceship but it feels cooler to be in the cloud.
## 3. Repurchase (or Drop and Shop):
It is like exchanging an old but reliable bike with a new one with all the bells and whistles. Though you might still need to get your old one, the new ride is still good enough.
## 4. Refactor (or Rearchitect):
Turn your tree house into a mansion with an elevator, a waterslide and a mini golf course. It’s challenging work, but your treehouse will be out of this world!
## 5. Rearchitect (or Rebuild):
It’s like the old tree house has been blown up and in its stead is the techno tree castle with the turrets, the drawbridge and the dragon standing guard. It may be too much for some, but it’s now yours – your very own cloud kingdom.
## 6. Retire:
Just as the [KonMari](https://konmari.com/about-the-konmari-method/) way of tidying your wardrobe. You say goodbye to your aged, discarded clothes (or apps) with love and send them to the old folks' home (or trash can).
## 7. Retain:
This is like holding on to one’s childhood comic book collection. You may know that it is no expensive object but you have an incredible feeling with it, you don’t want to get rid of it so soon.

However, they enable you to determine what to do with the apps upon shifting to the cloud. Sometimes we go casual, others times, extravaganzas, and now and then, retain the good ol’s! 😄🚀

If you want a deep dive into it, please take a look at the following links:

- [Iterating the 7 Rs migration strategy selection](https://docs.aws.amazon.com/prescriptive-guidance/latest/application-portfolio-assessment-guide/iterating-7-rs-migration-strategy-selection.html)
- [Prioritization and migration strategy](https://docs.aws.amazon.com/prescriptive-guidance/latest/application-portfolio-assessment-guide/prioritization-and-migration-strategy.html#migration-r-type)
advanced find replace in vscode using regex
Tags: vscode, regex, findreplace, productivity
Published: 2023-11-02 11:35:50

## tldr;
The `$` operator lets you select all regex results from `0-n` in the `replace` section (`n` = #regex results).

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

_**Important hint:** If your result doesn't show up using `$1`, try `$0` first._

## A little tale how I stumbled upon it

I wanted to replace CSS values across dozens of files. I needed to replace `width: 200px;` with `width: px(200);`, thus preserve part of the search result and wrap it with some other text. Therefore I needed a regex replace that didn't strip too much of the result that I wanted.

> vscode supports a lot more find replace than I knew.


### What I had: `style.scss`
```scss
@function px($v) {
  @return 1px * $v;
}

body {
  width: 200px;

  .some-class {
    width: 15.55px;
  }
}
```

### What I wanted: `style.scss`
```scss
@function px($v) {
  @return 1px * $v;
}

body {
  width: px(200);

  .some-class {
    width: px(15.55);
  }
}
```

Now over many files I didn't want to manually replace all the values. What I found was this:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uppa64gxvgm0nzwcbsyh.png)
Memoization in Modern Ruby: How a Shape-Based Approach to Instance Variables Lookup Impacts Performance.
Tags: ruby, performance
Published: 2023-11-02 11:32:39

Memoization is a classic technique in Ruby programming, greatly assisting in boosting performance. With Ruby's ongoing evolution, particularly towards a shape-based method in instance variable lookups, thoughtfully implementing memoization can be beneficial. Inspired by Jean Boussier's insights on RailsAtScale.com, this post highlights some suggested best practices.

#### Why Consider Memoization?

Memoization helps cache results of resource-heavy function calls, aiming to speed up subsequent executions. Ruby’s newer shape-based mechanism for instance variable lookups suggests organizing objects based on their instance variables. This approach influences performance and memory usage, but it's important to note that using memoization indiscriminately could lead to a range of object shapes, which might inadvertently affect performance. Understanding these subtleties can be helpful for developers looking to craft efficient and thoughtful Ruby code.

#### Suggested Best Practices

Aligning with Ruby's shape-based approach and optimizing memoization strategies, developers might consider the following approaches:

1. **Mindful Use of Memoized Variables**: It’s generally a good idea to keep memoized variables to a minimum. Ideally, aiming for one or two per class helps. If you find yourself needing more, initializing these variables to `nil` in the constructor could be a proposed better approach:
    
```ruby
class MyClass 
	def initialize     
		@expensive_value = nil   
	end    
	
	def expensive_value     
		@expensive_value ||= compute_expensive_value   
	end 
end
```

    
2. **Handling Falsy Values with Tokens**: When dealing with memoized values that might return falsy results, using a token could be a neat way to differentiate between an uninitialized state and a value that's legitimately falsy:
    
```ruby
class MyClass   
	NOT_SET = Module.new   
	private_constant :NOT_SET    
	def initialize     
		@expensive_value = NOT_SET   
	end    
	
	def expensive_value     
		return @expensive_value unless @expensive_value == NOT_SET     @expensive_value = compute_expensive_value   
		end 
	end
end
```
    

#### Wrapping Up

Adjusting to Ruby's shape-based approach for variable lookups, we might consider refining our memoization tactics to help maintain efficient performance and thoughtful memory usage. For those interested in exploring this topic further, Jean Boussier provides a deeper dive in his article at [RailsAtScale](https://railsatscale.com/2023-10-24-memoization-pattern-and-object-shapes/). It's a thought-provoking read for anyone interested in evolving their Ruby coding practices in harmony with the latest language developments.

---

_This summary reflects ideas from Jean Boussier's article published on October 24, 2023, on RailsAtScale.com. To broaden your understanding, the original article is well worth a read._
Embracing Open Source: My Journey as a Hacktoberfest Maintainer
Tags: hack23maintainer
Published: 2023-11-02 11:30:19

Have you ever wanted to make a meaningful contribution to open-source software? If so, you've probably heard of Hacktoberfest. In this post, I want to share my journey as a Hacktoberfest maintainer, and how this experience opened up new horizons in the world of open source.


### Intro
To become a Hacktoberfest maintainer, I had to select an open-source project I was passionate about and create a repository on platforms like GitHub or GitLab. As a maintainer, my responsibilities included reviewing and merging pull requests, guiding contributors, and ensuring the project's overall health.
Github: https://github.com/narasimha-1511

## Project

As a Hacktoberfest maintainer, I hosted three exciting repositories to engage contributors and encourage open-source participation:

1. **Spotify Clone**: This repository aimed to recreate the core features of the popular music streaming platform, Spotify. Contributors could work on implementing user authentication, playlist creation, and other music-related functionalities.

2. **Todo List Application**: The Todo List repository focused on developing a user-friendly task management application. Contributors could contribute by adding new features, improving the user interface, or fixing bugs.

3. **Contact Saving App**: The Contact Saving App repository was designed to build a simple yet efficient contact management application. Contributors could enhance its features, optimize performance, and improve the user experience.

### Review and Merging Process

To ensure the smooth operation of these repositories, I established a clear process for reviewing and merging pull requests:

- **Pull Request Review**: I actively monitored the incoming pull requests. Contributors were encouraged to follow a standardized format for their pull requests, including a clear description of their changes and any relevant documentation.

- **Code Quality**: I paid close attention to the code quality in each pull request. I checked for adherence to coding standards, efficient algorithms, and the overall impact of the changes on the project.

- **Feedback and Collaboration**: I maintained open and constructive communication with contributors. If a pull request needed improvement or changes, I provided detailed feedback and worked collaboratively with the contributor to address the issues.

- **Merging and Release**: Once a pull request met the project's standards and received a positive review, I merged the changes into the main branch. Additionally, I ensured that proper versioning and release notes were maintained to keep the project organized.
Introducing the Telegram Booking System in "Expressway"
Tags: javascript, beginners, webdev, express
Published: 2023-11-02 11:27:31

In my ongoing mission to enhance "Expressway," I'm thrilled to introduce a new feature: the Telegram booking system. This addition streamlines the booking process, offering users the ability to effortlessly make, view, and cancel bookings. 

**Automated Booking Simplified**

The Telegram booking system in "Expressway" takes the hassle out of managing appointments. Users can easily interact with the system through Telegram, making the booking process efficient and user-friendly. No more cumbersome forms or email exchanges. It's automation at its finest.

**Adaptability for Your Needs**

The versatility of the Telegram booking system goes beyond mere bookings. The booking system can also be adapted to allow for client bookings of developer services in an automated fashion. By repurposing this feature, you save development time and maintain a coherent user experience, enabling clients to easily book your services.

**Seamless Stripe Integration**

I know that integrating payment processing is crucial for many applications. That's why "Expressway" seamlessly integrates with Stripe, ensuring secure and customizable payment solutions for bookings, purchases, or subscriptions. It's a reliable addition to your toolkit.

**Easy Integration into Existing Projects**

"Expressway" has always focused on easy integration, and the Telegram booking system is no exception. You can effortlessly incorporate this feature into your existing Express projects without significant code overhauls. It's about enhancing your applications without the headache of a major rewrite.

In summary, the Telegram booking system in "Expressway" simplifies booking processes, offers adaptability for various needs, integrates with Stripe, and smoothly incorporates into your projects. It's a practical addition that empowers developers and improves user experiences. Stay tuned for more updates as "Expressway" continues to evolve and serve your development needs.

Developers are invited to explore and test "Expressway" services, including the new addition of the booking system. Just send me a PM. Your feedback and insights are invaluable as I continue to refine and expand my offerings to cater to your specific needs. Don't hesitate to reach out and let me know how "Expressway" can further support your projects. Thank you for being part of my journey!

Fill out this {% cta https://www.surveymonkey.com/r/SMYM5TD %} survey {% endcta %} to share your insights and needs. Your feedback will play a pivotal role in shaping "Expressway" to cater to more Express developers like you.
Soft launching Squaredev alpha. The LLM platform for developers.
Tags: javascript, opensource, ai, python
Published: 2023-11-02 11:17:21

Hello DEV community. 

We want to communicate that over the next days we will be rolling out [squaredev.io](https://squaredev.io) here in DEV. 

Although still in alpha, we want to get feedback as early as possible in order to build the right thing. We will also try to give a lot of freebies for early users like free LLM model use, a free vector database and more.

Squaredev is a fully open source platform for developers that are building with LLMs. Our vision is to make building with AI a commodity and a default part of the development stack, much like front end and back end.

We love the development experience of platforms like Vercel, Netlify, Supabase, Planetscale, etc and want to build the same experience for AI development, all in open source.

The platform will be hosting a vector database, open source LLMs and provide easy retrieval, monitoring and other tooling needed for easy AI development. Everything will be abstracted and composable using the best practices, so you don't have to know every detail of building an AI system and achieve what you need with a couple of API calls.

Star our repo so that you don't miss out: [https://github.com/squaredev-io/squaredev](https://github.com/squaredev-io/squaredev).

We'll announce all our future features and freebies here on DEV first. If things go well, we will also give our alpha users swag t-shirts and mentions on social.

Cheers,
Megaklis
Fuchsia OS | Cross-Device OS | Fuchsia | VTNetzwelt
Tags: webdev, react, fuchsia, fullstack
Published: 2023-11-02 11:00:33

Fuchsia is its ability to run Android applications, making it a versatile platform. Google envisions Fuchsia OS as the future of cross-platform, secure, and scalable operating systems to meet the diverse computing needs of the digital era. **_[Fuchsia OS](https://www.vtnetzwelt.com/insights/google-fuchsia-os/)_** is Google's forward-looking, open-source operating system designed to power a wide range of devices, from smartphones and tablets to IoT devices and more. What sets Fuchsia OS apart is its microkernel architecture, which enhances security and adaptability.
7 Awesome YouTube Channels that Will Help You to Be a Better Software Engineer 🧑‍💻
Tags: programming, beginners, softwareengineering
Published: 2023-11-02 11:00:00

I believe that most software engineers learn from the internet. It can be from online resources such as blogs, free/paid online courses, interactive coding platforms (like HackerRank and LeetCode), video tutorials, and others.

I usually learn through the sources mentioned above. But in my opinion, the most effective way to learn is through YouTube videos because we can see how other people write their code step by step. And the best thing about it is free.

Here, I will share YouTube channels that I think are good and teach me a lot.

Here is the list:

### Josh tried coding
https://www.youtube.com/@joshtriedcoding/featured
The videos on this channel are very well explained. We can find many good tips, tutorials, or even long tutorials that build something from scratch.

---

### Web Dev Simplified
https://www.youtube.com/@WebDevSimplified
This is one of the most my favorite programming channels. The channel's name is not a joke. They are simplified and very well explained. It makes the audience easy to understand.

---

### Cosden Solutions
https://www.youtube.com/@cosdensolutions
If you're a front-end developer, especially in React, this is the best channel I can suggest. All videos are well explained, and it's not only about how to write React code but also how to write React code in a good way.

---

### Sonny Sangha
https://www.youtube.com/@SonnySangha
It's not an ordinary YouTube programming channel, because you'll find super good tutorials here. A lot of long video tutorials and web clones can be found here.

---

### freeCodeCamp.org
https://www.youtube.com/@freecodecamp
If you need a YouTube channel that covers all the programming topics, we can't find anything better than this. From beginner to advanced level, all are covered here.

---

### Fireship
https://www.youtube.com/@Fireship/featured
This one is also a great YouTube channel. If you want to keep up with the most updated programming topics, here is the right place.

---

### CodeAesthetic
https://www.youtube.com/@CodeAesthetic/videos
This channel doesn't have many videos yet, but all the videos here are great. It is animated very well, making it easier to understand.

---

That's YouTube programming channels I usually learn from. Besides the channels mentioned above, there are tons of other channels also great.

Happy learning, happy coding 🧑‍💻
Nintendo Passkey Implementation Analyzed
Tags: cybersecurity, passkeys, ux, passwordless
Published: 2023-11-02 11:00:00

## Nintendo's Passkey Game Changer
In the age of growing cyber threats, traditional passwords are becoming increasingly obsolete. The digital security realm is witnessing a shift towards more secure and user-friendly authentication methods, with passkeys emerging as the frontrunner. Now, Nintendo, a household name in the gaming world, is venturing into the passkey-driven authentication space, echoing the strides taken by tech giants like [TikTok](https://www.corbado.com/blog/tiktok-passkeys), [WhatsApp](https://www.corbado.com/blog/whatsapp-passkeys), [LinkedIn](https://www.corbado.com/blog/linkedin-passkeys), and [GitHub](https://www.corbado.com/blog/github-passkeys-best-practices-analysis).

## Nintendo's Groundbreaking Passkey Strategy

Nintendo, though not always synonymous with cutting-edge digital infrastructure, is now making waves with its forward-thinking strategy. By integrating passkeys as an alternative sign-in method, Nintendo is not merely adapting to industry standards but also signaling its dedication to enhancing user experience. This is not just about augmenting security but underlining Nintendo's pledge to prioritize a user-centric login experience.
Currently, Nintendo allows users to associate up to 10 unique passkeys with their accounts, supporting iPhones, iPads, macOS devices, and Android systems. While there's still anticipation regarding when Windows devices will be incorporated, the move is generating significant buzz.

## Implications for Developers and Product Managers

Nintendo's decision transcends a mere tactical shift; it's an omen of the industry's trajectory. For software developers and product managers, it's crucial to recognize this evolution, understanding the nuances and merits of passkey authentication. Integrating such advancements requires a meticulous approach, focusing on optimizing security while also elevating the user experience.
Moreover, speculations are rife about Nintendo's broader objectives. Is this an initiative towards readying for the next generation of gaming platforms? The introduction of passkeys alludes to a future where gamers can effortlessly transition between devices, enriching their overall engagement.

## Final Thoughts

Nintendo's endorsement of passkeys heralds a transformative phase in digital authentication. As gaming, tech, and online security spheres converge, such initiatives are indispensable. It's a clarion call for developers and product managers to immerse themselves in the passkey universe. The horizon promises robust security coupled with a seamless experience.

Read more about [Nintendo passkeys here](https://www.corbado.com/blog/nintendo-passkeys).
Challenge 2 - Product preview card component - Frontend Mentor
Tags: frontend, 100daysofcode
Published: 2023-11-02 10:58:58

## Frontend Mentor - Product preview card component solution

This is a solution to the [Product preview card component challenge on Frontend Mentor](https://www.frontendmentor.io/challenges/product-preview-card-component-GO7UmttRfa). Frontend Mentor challenges help you improve your coding skills by building realistic projects. 

## Table of contents

- [Overview](#overview)
  - [The challenge](#the-challenge)
  - [Screenshot](#screenshot)
  - [Links](#links)
- [My process](#my-process)
  - [Built with](#built-with)
  - [What I learned](#what-i-learned)
  - [Continued development](#continued-development)
  - [Useful resources](#useful-resources)
- [Author](#author)
- [Acknowledgments](#acknowledgments)

## Overview

### The challenge

Users should be able to:

- View the optimal layout depending on their device's screen size
- See hover and focus states for interactive elements

### Screenshot


![Desktop View](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eitz7wc3ck4bp2ifklct.png)

![Mobile View](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s7skf1jqy5d8a849vmls.png)

### Links

- Solution URL: [Github](https://github.com/abhishek-baliyan-dev/Frontend-mentor-challenge-Product-preview-card-component)
- Live Site URL: [Gihub Pages](https://abhishek-baliyan-dev.github.io/Frontend-mentor-challenge-Product-preview-card-component/)

## My process

- First, I See the design then thought, how do I lay that out in html
- Then I wrote the HTML
- Second, how can i use CSS to achieve the layout
- Then I wrote the CSS for layout
- Third, how should each element be styled
- Then I wrote CSS for each element

### Built with

- Semantic HTML5 markup
- CSS
- Flexbox
- Mobile-first workflow

### What I learned

- Screen Reader - Visually hide
- How to add img/icon on button

### Continued development

- CSS Grid
- In depth CSS

### Useful resources

- [Image replace using css content property](https://stackoverflow.com/questions/12142386/replacing-an-image-in-an-img-tag-using-css) - This helped me for image replacement in media query.

## Author

- Website - [Abhishek Baliyan](https://www.abhishekbaliyan.com) - Coming soon
- Frontend Mentor - [@abhishek-baliyan-dev](https://www.frontendmentor.io/profile/abhishek-baliyan-dev)
- Twitter - [@Abhi___baliyan](https://twitter.com/Abhi___baliyan)

## Acknowledgments

The stackoverflow guide of image replacing by css solved my problem.
How To Recover Your Cryptocurrency After A Scam
Published: 2023-11-02 10:54:52

Although losing my Bitcoin was wrenching Digital Assets Recovery  made me ecstatic afterwards. My Bitcoin was saved from the abyss by their skillful manipulation. In recent years, we have witnessed a significant rise in the occurrence of crypto theft, leaving investors vulnerable and concerned. As the popularity and value of cryptocurrencies soar, so does the interest of cybercriminals in targeting these digital assets. Understanding the motives and methods behind crypto theft is crucial in safeguarding our investments and ensuring a secure digital landscape. The impact of crypto theft extends beyond financial loss. For those who fall victim to such crimes, the emotional toll can be equally burdensome. Imagine the frustration and despair of losing your hard-earned money due to the actions of malicious individuals. The need for trustworthy and effective solutions has never been more pressing. My gratitude is eternal to Digital Assets Recovery. For proper interaction, Contact Digital Assets Recovery via: digitalassetsrecovery(@)writeme.com & their webpage is www.digitalassetrecovery.info