teleren/devto huggingface dataset:
AWS in a Nutshell
Tags: cloud, aws, frontend, deployement
Published: 2024-05-24 13:52:57

## AWS

**Most Commonly Used Terms**

1. `EC2` - It stands for Elastic Compute version-2, compute referred to a part of a big machine.Elastic means we can upscale or downscale it. Basically a server running elsewhere.

2. `S3` - It is used to store objects, objects referred to things that doesn't have any Data type, such as Video file, audio file , image file etc. `S3` stands for Simple storage Device.

3) `CloudFront` - It is basically a Content Delivery Network[ CDN ] that is used to deliver the static content to the user faster.

### Deplying Backend to the EC2 machine

-----ChatGPT-----
**`Learnings`**

- `SSH` - It stands for secure shell. It helps you connect to the other machine shell securely.

```ts
//ssh using mac
chmod 700 xyz.pem
ssh -i xyz.pem ubuntu@your_server_url

//ssh using windows
//1) Download Git bash
//2) Run it as Administrator
//3) Go the folder where xyz.pem file is present
chmod 700 xyz.pem
ssh -i xyz.pem ubuntu@your_server_url
```

- `using vi editor` - To use vi editor type

```ts
sudo vi /myfolder/index.js
// type 'i' for insert mode
// 'esc' to get back
// ':wq'+enter to save the file
```

- To deploy the backend we primarily need EC2 server.

-  Suppose you want to deploy multiple application on save server due to some money issues.
   It will look like this

   ```ts
   your_url:3000  - for 1st website
   your_url:3001 - for 2nd website
   ```

   But there is a problem you don't want the user to enter the port & you also want that Different subdomain that lead to same ip will point to `your_url` & at the server you decide where to redirect the user.
   You can do this is using nginx, it is a webserver software that provides service called `reverse-proxy`.
   
![Nginx](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q9z8djvdqw8wrm4uwb4s.png)
   Default port is 80 for http
   and for https it is 433
   If we go to `http:your_url` then it will point to port 80.

-  For free SSL certificate - [Certbot](https://certbot.eff.org/)

### Deplying Frontend

-----ChatGPT-----

- To do so upload all the static files in S3 bucket, then use Cloudfront to deliver the content.

- Why can't we use CDN in server also, in server side every request is unique that can only be handled by the server.
- Initally after setting up cloudfront you will got a url , to access something u have do like this `https:your_url/index.html`.

**`BONUS`**

- You can have multiple subdomains after buying one domain.
Python vs. Go: The Backend Battle Royale
Tags: beginners, python, go, backend
Published: 2024-05-24 13:42:23

# Choosing Between Python and Go for Backend Development

You've decided to dive into the exciting world of backend development, but with so many languages vying for your attention, it can be overwhelming! Two giants stand out: Python and Go. Both offer powerful features, but which one should you choose? Let's break it down!

## Python: The Friendly Giant

Python is renowned for its readability, ease of learning, and vast ecosystem. Its syntax is straightforward, and it boasts a rich collection of libraries and frameworks like Django and Flask, making it a breeze to build web applications quickly.

### Pros:
- **Beginner-friendly**: Easy to learn and pick up, perfect for new developers.
- **Extensive libraries**: Offers a vast collection of libraries for various tasks, saving you time and effort.
- **Large community**: Strong community support means you'll always find help when you need it.
- **Versatile**: Used in web development, data science, machine learning, and more.

### Cons:
- **Performance**: Can be slower than Go for demanding tasks.
- **Dynamically typed**: Requires careful testing to avoid errors.

## Go: The Speedy Challenger

Go, developed by Google, is known for its speed, concurrency, and simplicity. It's a compiled language, meaning it's faster than interpreted languages like Python. Go's focus on efficiency and parallelism makes it ideal for building robust, scalable applications.

### Pros:
- **Performance**: Excellent performance and scalability, great for handling heavy workloads.
- **Concurrency**: Built-in features for efficient handling of concurrent tasks.
- **Strong tooling**: Well-designed tools and libraries for building and testing applications.
- **Simple syntax**: Clear and concise syntax, making it easy to learn.

### Cons:
- **Limited ecosystem**: Smaller community and library collection compared to Python.
- **Less beginner-friendly**: Steeper learning curve for those new to programming.

## Choosing Your Weapon

So, which language should you choose? It ultimately depends on your project's needs and your own preferences.

### Choose Python if:
- You're a beginner and value ease of learning.
- Your project requires a rich set of libraries and frameworks.
- You need a language for tasks like data science or machine learning.

### Choose Go if:
- Your project requires high performance and scalability.
- You need to handle concurrent tasks efficiently.
- You prefer a simple and straightforward syntax.

## Getting Started

Ready to jump in? Here are some tips:

- **Try both!** Play around with both languages using online tutorials and resources.
- **Build a small project**: Choose a simple project and implement it in both Python and Go.
- **Join online communities**: Connect with other developers and get advice.
- **Practice consistently**: The more you code, the better you'll become!

No matter which path you choose, both Python and Go offer exciting opportunities in backend development. So grab your keyboard and start building!
Pcr Euro 2025 Paris France
Published: 2024-05-24 13:38:30



Europcr online is World-Leading Course in interventional cardiovascular medicine. It is going to be held from 20-23 May 2025 in Le Palais des Congrès de Paris, Paris, France. [Pcr Euro 2025 Paris](https://www.expostandzone.com/trade-shows/euro-pcr)
Automatic retry function with Kotlin flows
Tags: android, mobile, kotlin, tristan
Published: 2024-05-24 13:37:35

### Table of contents
1. [Short code example](#code)
2. [Why use this?](#why)

### My app on the Google play store
- [The app](https://play.google.com/store/apps/details?id=elliott.software.clicker)

### Resources <a name="resources"></a>

- `Programming Android with Kotlin: Achieving Structured Concurrency with Coroutines. Chapter 10`


### Short code example <a name="code"></a>
- Here is the code that will allow you to make automatic retries on a flow:
```kotlin
    fun <T, R : Any> Flow<T>.mapWithRetry(
        action: suspend (T) -> R,
        predicate: suspend (R, attempt: Int) -> Boolean
    ) = map { data ->
        var attempt = 0L
        var shallRetry: Boolean
        var lastValue: R? = null
        do {
            val tr = action(data)
            shallRetry = predicate(tr, (++attempt).toInt())
            if (!shallRetry) lastValue = tr
        } while (shallRetry)
        return@map lastValue
    }

```
- Cold flow usage example:
```kotlin
twitchEmoteImpl.getChannelEmotes(
                oAuthToken,clientId,broadcasterId
            ).mapWithRetry(
                action={
                    // result is the result from getChannelEmotes()
                    // if you wanted to do any manipulation to the 
                    // request you would do it here
                        result -> result
                       },
                predicate = { result, attempt ->
                    val repeatResult = result is Response.Failure && attempt < 3
                    repeatResult
                }
            ).collect{
            // do what you would normally do once a flow is emitted 
            }

```
- `result -> result` represents the code not doing any sort of manipulation of the result emitted from the flow


### Why use this? <a name="why"></a>
- There are times when the request fails and the best solution is to simply make another request. Instead of forcing your user to manually make another request. We can implement this function that will automatically make 3 requests if it fails. We will not inform the users of the extra requests. Instead they should only be informed after the 3 failed attempts
- However, be aware that we should not do this on every failed request. On requests that fail due to authentication or no available network errors, we should avoid making multiple requests and simply inform the user of the failed request.


### Conclusion 
- Thank you for taking the time out of your day to read this blog post of mine. If you have any questions or concerns please comment below or reach out to me on [Twitter](https://twitter.com/AndroidTristan).
Middle East Banking Innovation Summit 2024
Published: 2024-05-24 13:28:55

[MEBIS 2024 show Dubai](https://www.expostandzone.com/trade-shows/mebis) is the largest banking technology & innovation event in the middle east. It is going to be held from 18-19 September 2024 in Jumeirah Emirates Towers Hotel, Dubai, UAE.


https://www.expostandzone.com/trade-shows/mebis
Navegador para desarrolladores
Tags: webdev, productivity, testing
Published: 2024-05-24 13:27:01

El día de hoy vengo a recomendar un navegador para el desarrollo web.

Llevo un tiempo trabajando con **Google chrome**, pero siempre me ocurre lo mismo. El ordenador se comienza a relentizar y cuando intentas mirar lo que sucede, resulta que tu querido navegador de google, se está merendando el 60% de memoria RAM. 

Luego de un rato buscando alternativas, se me presenta delante [Firefox Developer Edition](https://www.mozilla.org/es-ES/firefox/developer/).

Éste navegador presenta una versión de **Firefox** enfocada para los desarrolladores, con herramientas y facilidades para el desarrollo web, aparte de un mejor rendimiento y algunas herramientas que facilitan el debug de aplicaciones web. Ciertamente, el navegador cumple con lo que promete, ya que las herramientas de desarrollo que vienen por defecto son bastante cómodas y efectivas.

Partiendo de esa base, si instalamos algunas extensiones (según el stack que estemos utilizando), Firefox Developer Edition se puede convertir en una gran herramienta y una ayuda a la hora de desarrollar aplicaciones web!
Learning: Nodes
Tags: sap, certification, dataengineering
Published: 2024-05-24 13:13:11

- Projection Nodes are used to:
 select columns, define calculated columns, parameters that request values at runtime, and filter on the data source. 

- Aggregation Node: 
  Used to aggregate functions to measures based on one or several attributes.
  In an Aggregation Node, a calculated column is always computed after the aggregate function. 
  <u>Keep Flag</u>: allows to trigger the calculation at the relevant level of granularity. 
  <u>Transparent Filter</u>: used when stacked view where the lower views have distinct count measures or upper calculation views contain filters on columns that are not projected.

- Join Node:
  Joins vs Aggregation :: Regular Join, the aggregation is executed after the join. Dynamic Join, aggregation triggered to remove the column if the column is not requested by the client query.  
 Multi Join order: Outside-In (the table that is furthest from the central table is executed first) or Inside-Out (the table that is closest to the central table is executed first).
Hosting platform procrastination 😵‍💫
Tags: webdev, beginners, learning
Published: 2024-05-24 13:04:33

## Background
I am trying to learn MERN stack in 150 Days, about which I posted a while ago. In this series posts, I will be sharing What and *How* I have been learning.
{% embed https://dev.to/prakirth/mern-150-days-challenge-27o8 %}

---
Did you ever have to deal with yourself in a similar situation as this ? How did you deal with it ? Let me know in the comments :speech_balloon:

This is *how* I dealt with it. :man_juggling:

## Context
**DAY 9/150** 
- Until [Part 3 - Deploying app to Internet](https://fullstackopen.com/en/part3/deploying_app_to_internet) part of the course, the course was not very challenging.

## Reason
> I always dreaded deployment. Last I tried I failed. 
Then, I mastered _procrastinating_ this particular aspect of Software Development :neutral_face:

Obviously, the procrastination comes from my insecurities as a non-traditional Developer, such as :
- *What if I do something wrong and my code gets deleted ?!* :raised_eyebrow:
- *TMI! Where do I even start ?!* :grimacing:

## Solution
- It took me a whole day to reason with myself and find options which satisfy one simple condition - *No Credit Card required*
- The answer was right in that part of the course - [**Render**](https://render.com/) 

---
## Learnings
> - *Procrastination* or *Impostor Syndrome* is quite common for folks coming from *non-traditional* backgrounds to Software Development
- Deal WITH it. Do NOT give in. :mechanical_arm:
- Sometimes the solution is right in front of You. Just breathe :relieved:

- Along the way, I found some nice aggregated resources :star_struck: :

1. List of services for Web Hosting, Database, File Storage, User Identity and Monitoring
{% embed https://medium.com/@minianter/top-free-services-to-deploy-full-stack-applications-2023-fb11489aa9b9 %}

2. List of softwares with free-tiers for Developers
{% embed https://free-for.dev/#/?id=web-hosting %}


---

Until next time! :writing_hand:
Live Long and Prosper :vulcan_salute:

---
[_Cover Photo by 'Leeloo The First' from Pexels_](https://www.pexels.com/photo/motivational-simple-inscription-against-doubts-5238645/)
Exclusive Offer: Free IPv6 VPS for 1 Year - Perfect for Development Environments!
Published: 2024-05-24 13:02:16

Embark on your development journey with EcoStack Cloud's exclusive offer – a free IPv6 VPS for 1 year! Tailored to meet the needs of developers and perfect for creating robust development environments, this offer is your gateway to seamless and efficient coding.

### Free IPv6 VPS Details
Benefit from our free IPv6 VPS for an entire year, featuring:

- **1 GB RAM**: Ample memory for smooth application development.
- **1 vCPU**: Reliable processing power for your coding tasks.
- **10 GB NVMe Disk**: High-speed storage for your projects.
- **Ubuntu 22.04**: Utilize the latest LTS version of Ubuntu for enhanced performance.
- **512 GB Traffic**: Generous data transfer allowance for seamless operations.
- **200Mbit/s Uplink**: Fast internet connectivity for efficient coding.
- **/80 Subnet IPv6**: Enjoy IPv4 connectivity alongside IPv6 support.

### Development-Friendly Features
Our free IPv6 VPS is designed specifically for development environments, offering:

- **1-Year Validity**: Enjoy the benefits of your free VPS for an entire year, giving you ample time to work on your projects.
- **Flexible Environment**: Create, test, and deploy your applications with ease in our flexible development environment.
- **Seamless Integration**: Integrate with your favorite development tools and frameworks to streamline your workflow.

### Upgrade Options Available
Looking to scale your projects? Upgrade seamlessly with our premium VPS packages, featuring:

- **Nano Package**: Starting at 2.90€/month, enjoy enhanced resources such as:
  - Up to 3 GB RAM
  - Up to 30 GB NVMe Disk Space
  - 400Mbit/s Network Speed

- **Micro Package**: For 4.90€/month, benefit from:
  - Up to 6 GB RAM
  - Up to 60 GB NVMe Disk Space
  - 400Mbit/s Network Speed

Explore more premium packages on our website!

### Why Choose EcoStack Cloud?
Discover why EcoStack Cloud is the ultimate choice for developers:

- **1-Year Free VPS**: Enjoy a full year of free VPS hosting to support your development needs.
- **Robust Infrastructure**: Benefit from reliable hosting on top-tier European data centers, ensuring optimal performance and uptime.
- **No Credit Card Required**: Start coding hassle-free – no payment details needed.

### Get Started Today!
Don't miss out on this exclusive offer! Claim your free IPv6 VPS for 1 year and kickstart your development journey with EcoStack Cloud.

Experience seamless coding and efficient development environments with [EcoStack Cloud](https://ecostack.cloud) – sign up now!
Bizarre Events and Celebrity Management | Wedding Planning in Nagpur
Tags: weddingplanner, eventmanagement, eventplanner
Published: 2024-05-24 12:58:28

Welcome to Nagpur's premier [event management company](https://www.thebizarreevents.com/), where dreams become reality and occasions turn into unforgettable memories. At our firm, we specialize in orchestrating seamless experiences for a diverse range of events, including weddings, corporate gatherings, brand activations, and celebrity engagements. With meticulous attention to detail and a passion for perfection, our team ensures that every aspect of your event is flawlessly executed, from conceptualization to execution. Whether you're envisioning an opulent wedding ceremony, a high-profile corporate affair, or a star-studded brand launch, our expertise in event planning, coordination, and celebrity management guarantees a truly extraordinary and stress-free experience. Let us transform your vision into an extraordinary event, leaving a lasting impression on your guests and making your occasion the talk of the town.
MAKING A GAME IN HTML AND URSINA WITH THE HELP OF GEMINI AND CHATGPT
Tags: webdev, javascript, beginners, ai
Published: 2024-05-24 12:57:42

## The game
I chose for this post an action game in Html and Ursina.

## HTML
A game in html is pretty difficult but let's try if gemini and chatgpt can do. I gave the prompt to them: "An action game in html,JavaScript and CSS and its code". Both the AI's gave me pretty fast. Gemini gave me 119 lines of code and nothing worked in the game except the score was increasing. now it was ChatGpt's time. ChatGpt gave me 67 lines of code .No controls worked except for the up arrow which is also after some time stopped .They was no score Gemini had a score but this did not have.
After a deep thinking I decided to give the point to Gemini Because Gemini had score and many other things but chatgpt had only two things that is the enemy moving and only the up arrow working

Points: Gemini:1
        ChatGpt:0

## URSINA
Ursina is a game engine so I think they will do better this time. I decided to give the prompt 'MAKE AN ACTION GAME IN URSINA AND I WAANT ITS CODE'. Both Gemini and chatgpt gave me the code and it was time to implement the code. Gemini gave me 70 lines of code. It didn't even show up the game. Every time I clicked the run button it would say an error occurred and show some line of the code and when I tell it to Gemini it would tell me 'YOUR ABSOLUTELY RIGHT' and it would rectify it and again a error occurs in another line of the code. This happened nearly 20 times and after the 20th time I decided to quit and give no point to gemini this round. After this it was the chatgpt's round. It wnted to make a game but it did not but that was also nice. It never gave me a error. So I decided without thinking even for a second to give point to chatgpt

Points:chatgpt:1
       gemini:1

So this was a tie between chatgpt and gemini.
Luxand.cloud Face Recognition Attendance System
Tags: productivity, ai, machinelearning, webdev
Published: 2024-05-24 12:55:35

Luxand.cloud's automated attendance system is based on the face recognition technology. It is widely used in various scenarios, including employee time management, gym member attendance tracking, student attendance management, and more.

## Attendance System Use Cases

- **Employee Attendance Management**. To track employees' attendance and automatically generate timesheets, automated clock-in and out systems are usually used. In this case, the face recognition technology is a valuable tool that helps to eliminate time fraud, such as buddy punching (one employee clocking in or out for another), by implementing reliable identification methods.

- **Student Attendance Management**. Luxand.cloud's attendance system not only enhanced security since it's based on face recognition but also provide real-time attendance data, allowing parents, teachers, and administrators to monitor student attendance patterns and identify potential attendance issues promptly.

- **Gym Member Attendance Tracking**. Luxand.cloud's face recognition attendance systems automate the check-in process, eliminating the need for members to fumble with cards or paper forms. Gym members simply scan their faces in front of a terminal, and their attendance is instantly recorded and stored securely.

We've showed how our system works here: [Face Recognition Attendance System Video](https://www.youtube.com/watch?v=hbDzXldBNhU&list=TLGG36w1wRrr3hUyNDA1MjAyNA&t=1s&ab_channel=Luxandcloud)
State Management with Zustand
Tags: reactjsdevelopment, react, state
Published: 2024-05-24 12:53:35

Heya again!

As we all know state management can be challenging, especially when we have parent with nested children and passing props down from a parent component to children..and normally in the past I would use context from React together with a provider..but it happened that somewhere in the middle between the children the state wasn't updating correctly. So I was looking around for an alternative and came across with [zustand](https://zustand-demo.pmnd.rs/) 

I was working on a table with some user information and a sidebar that shows the information of the user that you click, as in picture below.

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

So I created a store:

```js

import { create } from 'zustand'

type User = {
  id: string
  name: string
  address: string
  emailAddress: string
}

type UsersStore = {
  selectedUser: Applicant | null
  handleOnClick: (user: User) => void
}


export const useUsersStore = create<UsersStore>((set) => ({
  selectedUser: null,
  handleOnClick: (user) => set({ selectedUser: user }),
}))

```

Then on the child component ``user`` I just retrieve the value that I needed.

```js

type UserProps = {
  user: UserModel
}

export default function UserProfile({ user }: UserProps) {
  const { handleOnClick } = useUsersStore()

  return (
    <TableRow
      key={user.id}
      className="cursor-pointer"
      onClick={() =>
        handleOnClick({
          id: user.id,
          name: user.name,
          address: user.address,
          emailAddress: user.emailAddress,
        })
      }
    >

```

Then on the sidebar I retrieve the user object.

```js

export default function UserProfileSidebar() {
  const { selectedUser } = useUsersStore()

  return (
    <div className="flex flex-col" id={selectedUser?.id}>

```

Now when I click a user's row I can see the ``users details`` on the sidebar on the right.

Of course on the parent component i just pass the ``user`` object such as: 

```js

 {usersData.map((applicant) => (
                <UserProfile key={user.id} user={user} />
              ))}

```

In the case you can just retrieve the value you need from the store and you wont have to worry about passing props between components plus is safer, easier and less costly.