teleren/devto huggingface dataset:
Linux vs Windows for Software Development? What to Use?
Tags: softwaredevelopment, linux, windows, programming
Published: 2024-02-13 10:46:38


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cm0v59ozjkse3e4w1i0i.jpg)
Linux vs. Windows is a never-ending debate in the software development industry. It is a typical dilemma for programmers to find the right operating system for programming between them.

Comparing the features of Linux and Windows and the advantages of one over the other will help you decide which one to use for software development.

Let’s dive into the article’s fair review of both operating systems without wasting time.

https://www.yuhiro-global.com/linux-vs-windows-for-software-development-what-to-use/


#linux #windows #softwaredevelopment
React: Hooks
Published: 2024-02-13 10:25:35


Welcome all for another topic in React is **Hooks**.

**What are Hooks?**
React Hooks are like JavaScript functions that we can use to isolate the reusable part from a functional component.

Hooks can be stateful and can manage side-effects.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/otx9158bw77yddsf9gt1.jpg)
Hooks are like different coffee cups that are used for different purposes. Just like different hooks use for differnt purpose in React.

The Different types of Hooks are:

1. **UseState()**
2. **UseEffect()**
3. **UseReducer()**
4. **UseContext()**
5. **UseRef()**

Now, we will see how these hooks works in different cases.

1. **UseState()**: It allows to add state to functional components.

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

2.**UseEffect()**: It allows to perform side effects in your components. Side Effects like: fetching data,directly updating the DOM, and timers.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j8oylf7fgyinfx8ezl8h.png)
3.**UseReducer()**:It is similar to useState Hook.It is mainly used to handle complex state updates. It means if there are two state updates of similar type with slight change, we can combine them to single state known as **useReducer()**.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8uz9udnfcq8oawrm1noe.png)
4.**UseContext**: The main reason for using this **UseContext** is to centralize the state. It avoids props drilling.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j89mjw27t1sf9udpms2g.png)
5.**UseRef**: It allows you to access the elements and its inner values mainly for inputs and manipulate them.

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

Hope you guys enjoy learning about **Hooks**. 
Meet u with more topics🤠
Hosting php site
Tags: php, mysql, infinityfree
Published: 2024-02-13 10:21:17

Firstly I hosted this website on the infinityfree website but , at first I got a 403 error after I found that am missing an index page and I added it . After the error changed to "Sorry that file can't be found" help me. "When I was connecting databases I did not create the tables from scratch again instead I imported it from the sql file I exported from the database I used while making the project"

I was expecting it work because I did all the steps for hosting a php site as I made research and also connected the database well but it doesn't work.
OSI Model
Tags: beginners, networking, osi, learning
Published: 2024-02-13 10:05:33

**Introduction**
The Open Systems Interconnection (OSI) model describes Seven Layers that computer systems use to communicate over a network.
The modern Internet is not based on OSI but on the simpler **TCP/IP Model**. However, the OSI 7-layer model is still widely used, as it helps visualize and communicate how networks operate. 

**The OSI 7 Layers**

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

- **Application Layer**
Implemented in software, the application layer is where users interact. Data is sent from the application layer to the presentation layer.

- **Presentation Layer**
The presentation layer converts received data from the application into machine-representable binary format, converting from ASCII to EBCDIC if necessary. It may also involve encryption, compression, and providing abstraction. The SSL protocol is commonly used here.

- **Session Layer**
This layer assists in setting up and managing connections. It enables the sending and receiving of data followed by the termination of connected sessions. Authentication and authorization processes often occur here.

- **Transport Layer**
The transport layer is responsible for transferring data between systems. It utilizes protocols such as UDP and TCP.
Within this layer, segmentation occurs. Data received from the session layer is divided into segments. Each segment is assigned a sequence number to aid in reassembling them at the receiving end.

- **Network Layer**
The network layer facilitates communication between different computers. It assigns logical addresses, typically IP addresses, to data packets to ensure they reach their correct destinations. Additionally, it handles routing and may involve load balancing.

- **Data Link Layer**
This layer deals with the logical transmission of data packets over the physical network. It includes functions such as framing, error detection, and correction.
Physical addressing is performed in the data link layer. MAC addresses, which are physical addresses, are used for this purpose. MAC addresses of both the sender and receiver are included in the data packet to form a frame.

- **Physical Layer**
The physical layer involves hardware components. It is responsible for transmitting raw data bits over the physical medium. Data received from the layers above is converted into signals and transmitted via physical routers to the intended recipients.

**Conclusion**
In conclusion, understanding the OSI model provides a fundamental framework for comprehending network communication, while the TCP/IP model offers practical solutions to modern networking challenges.
🚀Our latest Flutterflow workshop at FORE School of Management, NewDelhi
Tags: flutter, fluterflow, appdevelopment, mvp
Published: 2024-02-13 10:05:09

Hello everyone! We recently organized a fantastic FlutterFlow workshop at FORE School of Management, New Delhi, where we had the privilege of teaching MBA students how to develop app using FlutterFlow.

We guided these future leaders on creating Minimum Viable Products (MVP) and Proof of Concepts (POC) using the power of Flutterflow. It's incredible to see the enthusiasm and potential in these MBA students, and we're grateful for the opportunity to be a part of their learning journey.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/baqskegdt8yge505agsf.jpeg)
Stop using obsolete methods to create CSS Triangles! ⚠️
Tags: css, webdev, beginners, html
Published: 2024-02-13 10:00:32

The triangle is the most popular shape in CSS since years. If you google "how to create a triangle using CSS" you will get a ton of old and obsolete methods like using the border property 😫 

​

### ⚠️ Stop using such methods ⚠️

​

I have created an online generator from where you can get the code of any CSS triangle with an optimized and modern code

----

## <center> 👉 [CSS Triangle Shapes](https://css-generators.com/triangle-shapes/) 👈 </center>

----

You will find the basic triangle shapes but also more complex ones like the border-only and rounded corners triangles.


![CSS-only Triangle](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nzhneqzozu72gq6bdq6i.png)

> But how to create a triangle shape?

Creating a basic triangle is as simple as using 2 CSS properties: `aspect-ratio` and `clip-path` with a 3-point polygon. That's all!

Here is a figure to illustrate a few examples.

![Creating a triangle using CSS](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/api3xzijtuvkzlg0weo0.png)

No pseudo-element, No border, No magic numbers, nothing complex! You set the ratio, you choose 3 points for your polygon and you are done.


To create the border-only and rounded corners variations, you will need a more complex code that I won't detail here to keep this article simple but I have [another article where I explain them](https://verpex.com/blog/website-tips/css-shapes-the-triangle) that I invite you to read.


​
I will repeat it again, **Stop using obsolete methods to create triangle shapes!** And if you don't want to write two lines of code, bookmark [my online collection](https://css-generators.com/triangle-shapes/) so you can easily get the code using one-click.

My collection doesn't contain all the triangle shapes so feel free to suggest any shape you struggle to create or you think deserve to belong in that collection. Let's have all of them in one place.

----

### <center>You want to support me?</center>

[![buy me a coffee](https://cdn.buymeacoffee.com/buttons/default-orange.png)](https://www.buymeacoffee.com/afif)

### <center>OR</center>

[![Become a patron](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/db3jtgy2i5l4w8slkps5.png)](https://www.patreon.com/temani)
Big Data is dead & other stories
Tags: machinelearning, machinelearningengineering, dataengineering, mlops
Published: 2024-02-13 09:57:35

This article originally appeared on [ingest this!](https://ingestthis.substack.com/p/ingest-this-2), a curated newsletter about Data Engineering, MLOps, and Machine Learning Engineering.

---
## Read this 📚
### [Big Data is Dead](https://motherduck.com/blog/big-data-is-dead/)

![single machines are capable of processing a much greater percentage of workloads as time goes on and technology advances](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8287f3c0-9be7-480e-b59d-dfb360d60c60_850x627.jpeg "single machines are capable of processing a much greater percentage of workloads as time goes on and technology advances")

In this article, [Jordan Tigani](https://twitter.com/jrdntgn) challenges the idea that **big data** is necessary for analytics and argues that it’s mainly a result of poor data management practices. The article explains that big data solutions are often overkill for most analytics workloads and that they incur high costs and complexity. In addition, he suggests that modern hardware advancements have made it possible to process large amounts of data on a single machine without the need for distributed computing.

---
## Learn this 🧑🏻‍🏫
### [Prompt Engineering Guide](https://github.com/dair-ai/Prompt-Engineering-Guide)

Prompt engineering is a hot topic these days, thanks to the rise of **large language models** (did you catch that?). This guide has everything you need to get started: recent papers, tutorials, videos, links and tools.

---
## Watch this 👀
### [Advanced Design Patterns for DynamoDB](https://www.youtube.com/watch?v=HaEPXoXVf2k)

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

The first time I watched this talk, I found it mind-blowing. Rick Houlihan reveals the common misconceptions about NoSQL database services. I used to think **NoSQL** was great for its flexibility, but the opposite is often true. Even if he focuses on DynamoDB, the concepts explained in the talk (**single-table design** and using composite keys to support different **access patterns**) can be applied to many other services. Definitely a must-watch.

---
## Hack this 🛠️
### [There's an AI for that](https://theresanaiforthat.com/)

This website, by [Andrei](https://twitter.com/imakecoolsites), is a curated list of products offering AI-based solutions to any kind of problem.

_Disclaimer: this is not an invite to literally hack the website but only to have fun with one of the tools you’ll find there._

---
## Meme this 🚀

![meme this!](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66c5290a-b3e8-43b6-821d-010499c81df9_1080x1311.jpeg)

---

This article originally appeared on [ingest this!](https://ingestthis.substack.com/p/ingest-this-2), a curated newsletter about Data Engineering, MLOps, and Machine Learning Engineering.
What is Software Development
Tags: webdev, softwaredevelopment, programming
Published: 2024-02-13 09:48:16

Thank you, #SkillUp by #Simplilearn 🙌
📢 I am super excited to share that I’ve just completed What is Software Development ?. 🎓

I had a great experience learning industry-aligned skills of Software Development


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

#Upskilling #SoftwareDevelopment #Certification #JobReady #SkillUpBySimplilearn”
Tucson’s Best Concrete Company!
Published: 2024-02-13 09:02:07

Our company was originally started the old school way, built on referrals and old world principles. Being we are a small family owned group of contractors, your business means everything to us. If you are a customer of ours, we treat you like family. Upholding these values is why we are able to have the kind of success that we have today. Understanding how important your project is, we take expert levels of care with each and every one of our clientele. 

Tucson Concrete Pros was created in 2009 with just a handful of equipment and crew members. We have outgrown ourselves from humble beginnings. Now, we are able to bid on most commercial work in the greater Tucson area. We have even been known to travel around the US to work on man types on concrete jobs.

We strive to be Arizona’s concrete company that you can trust.

We can deliver the most dependable, reliable, and attractive finish that will look great on your property. Of course, not all contractors are experts at everything, so we have many different experience types on our team so that we can tackle any type of job that comes our way.
WhatsApp bot integration with Google Sheets to send out messages [Source code + Step-by-Step Guide]
Tags: whatsapp, node, beginners, programming
Published: 2024-02-13 09:39:38

We are pleased to announce the source code release of our script designed to simplify WhatsApp integration with Google Sheets for efficient mailings. This script automatically sends text messages from specified Google Sheets cells to phone numbers also specified in the table cells. After sending the message, the script records the status of each sent message back to the table. Furthermore, if a response is received from the customer, the bot will record the first message received in a separate cell, providing a convenient way to track feedback.

[Google Sheets WhatsApp Sender](https://github.com/Whapi-Cloud/googlesheets-sender)

This source code is open source for use in your current work or can serve as a great starting point for developing your own project. We believe it will become a powerful tool in your arsenal for implementing effective communications and marketing strategies via WhatsApp, using the power of Google Sheets to organize and automate your processes.

## To use the script functionality you will need: 

1. Api-token of the channel from Whapi.Cloud service;
2. Link to Google SpreadSheet, with service account access;
3. Key.js from Google Project;
4. Set the Webhook address to which the bot will send responses.

Full step-by-step instructions are available in our knowledge base: [https://support.whapi.cloud/help-desk/source-code/whatsapp-api-google-sheets](https://support.whapi.cloud/help-desk/source-code/whatsapp-api-google-sheets)
From Sandcastles to Sushi Boats: The Conveyor Belt - A Global Journey on a Rubber Ribbon
Published: 2024-02-13 09:30:50

Conveyor belts are ubiquitous. They're the workhorses of factories, the sushi bar maestros, and the luggage carousel conductors. But beneath their seemingly mundane exterior lies a rich and surprising history, weaving through diverse industries and even entertaining us along the way. Let's hop on this rubber ribbon and embark on a global journey of the [conveyor belt](https://www.gdcalm.com/).

Ancient Origins: Our story begins millennia ago, where the Egyptians used inclined planes and rollers to transport colossal stones for their monumental pyramids. Fast forward, and we find Leonardo da Vinci sketching a water-powered conveyor belt design. However, it wasn't until the Industrial Revolution that these ribbons of progress truly came into their own. Henry Ford's assembly line, powered by conveyor belts, ushered in mass production, forever changing the face of manufacturing.

Beyond the Factory Floor: But the conveyor belt's ambition extends far beyond dusty factories. Imagine amusement park roller coasters, their belts propelling us on thrilling journeys. Picture sushi restaurants, where they orchestrate a culinary ballet, delivering bite-sized delights to eager patrons. Even recycling facilities rely on them, efficiently sorting mountains of waste for responsible disposal.

Innovation on the Roll: Don't underestimate these seemingly simple contraptions. Conveyor belts have fueled efficiency, boosted productivity, and facilitated automation across countless industries. They've made our lives easier, tastier, and more efficient, often working silently behind the scenes.

The Future Unfurls: The conveyor belt's story is far from over. Advancements in materials, automation, and even AI are paving the way for exciting possibilities. Imagine self-driving belts navigating complex warehouses, or intelligent ribbons adapting their speed and direction to optimize flow. Perhaps we'll see them playing a role in futuristic cities, transporting goods and people with even greater efficiency.

So the next time you encounter a conveyor belt, remember, it's more than just a rubber strip. It's a testament to human ingenuity, a symbol of progress, and a reminder that even the seemingly ordinary can have an extraordinary story to tell. And who knows, maybe someday, you'll find yourself whisked away on a conveyor belt adventure, not just through a factory or an airport, but to a whole new world of possibilities.
Learn React with me. Pt 2
Tags: beginners, softwareengineering, tutorial, react
Published: 2024-02-13 09:27:37

## Working With Components

REACT COMPONENT

1. react apps are made of components.
2. Components are used as building blocks of UI.
3. In Component a piece of UI has its own data, logic and appearance.
4. Using components you can build complex UI by building multiple components and combining them.
5. Component can be reused, nested.

```
import React from "react";
import ReactDOM from "react-dom/client";

const pizzaData = [
    {
      name: "Pizza Spinaci",
      ingredients: "Tomato, mozarella, spinach, and ricotta cheese",
      price: 12,
      photoName: "pizzas/spinaci.jpg",
      soldOut: false,
    }
  ];

  
function App() {
    return  (
        <div>
            <h1>Hello React!</h1>
            <Pizza />
            <Pizza />
            <Pizza /> //reusing the pizza component x3
        </div>
    );
}

// PIZZA. in react we write new components using fuctions
function Pizza() {
    return (
        <div>
            <img src="pizzas/spinaci.jpg" alt="Pizza Spinaci"/>
            <h2>Pizza Spinaci</h2>
            <p>Tomato, mozarella, spinach, and ricotta cheese</p>
        </div>
    );
}


const root = ReactDOM.createRoot(document.getElementById
    ("root"));
    root.render(
    <React.StrictMode>
        <App />
    </React.StrictMode>);
```


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/50bibh1b0l9hy6b3by5u.PNG)

TIP: Save images on the public folder. WHY? Assets are store in the public folder so that so the module bundler (webpack) can automatically get them.
Currency Conversion Utility: React Hook vs. Functions
Tags: javascript, react, reactnative, webdev
Published: 2024-02-13 09:25:24

**Heading: Simplifying Currency Conversion with React Hooks and Functions
**
Description:
This code snippet provides a convenient way to perform currency conversion operations in a React application. It offers two main functionalities: retrieving exchange rates for different currencies and converting amounts from one currency to another. The code presents two implementation approaches: one using standalone functions and the other leveraging React custom hooks.

Standalone Functions: The getExchangeRate and exchangeAmount functions handle currency exchange logic independently. They are straightforward and can be easily utilized anywhere in the application.

React Custom Hook: The useCurrencyConverter hook encapsulates currency-related state management and data fetching logic. It provides a clean and reusable solution for components requiring currency information. The hook fetches currency data based on the provided currency code and date, storing the information in state for easy access.

Both approaches offer flexibility and efficiency, allowing developers to choose the method that best suits their project's requirements and coding style.


```
import axios from "axios";
const { useEffect, useState } = require("react")

const getExchangeRate = async (from) => {
    try {
        const response = await axios.get(`https://cdn.jsdelivr.net/gh/fawazahmed0/currency-api@1/latest/currencies/${from}.json`);
        const data = response.data;
        return data[from];
    } catch (error) {
        throw error;
    }
}

const exchangeAmount = async ({ from, to, amount }) => {
    try {
        const exchangeRate = await getExchangeRate(from);
        const rate = exchangeRate[to.toLowerCase()];
        return (amount * rate).toFixed(2);
    } catch (error) {
        throw error;
    }
}


function useCurrencyConverter() {
    const [currencies, setCurrencies] = useState({});

    const currencyInfo = async ({ from, podate }) => {
        try {
            const response = await axios.get(`https://cdn.jsdelivr.net/gh/fawazahmed0/currency-api@1/${podate}/currencies/${from.toLowerCase()}.json`);
            setCurrencies(response.data[from.toLowerCase()]);
        } catch (error) {
            throw error;
        }
    }

    return { currencies, currencyInfo };
}


export default useCurrencyConverter;
export { exchangeAmount }


```
Organic SEO Services | FreelancersDev
Tags: seo, google, organic, services
Published: 2024-02-13 09:22:25


At FreelancersDev, we pride ourselves on being more than just a digital marketing company – we are your dedicated ally in achieving and surpassing your business goals. Our team of seasoned professionals brings a wealth of experience and expertise to the table, offering a comprehensive range of [organic SEO services](https://freelancersdev.com/organic-seo-services/) designed to propel your brand to new heights.

> Click here to hire [organic SEO consultant](https://freelancersdev.com/organic-seo-services/)

In the fast-paced world of digital marketing, we understand the importance of staying ahead. That's why we constantly evolve our strategies to adapt to the latest trends and technologies. Whether it's optimizing your website for search engines, curating engaging content, or managing your social media platforms, we have the tools and skills to create a tailored plan that aligns with your vision and objectives.

What truly sets us apart is our commitment to transparent communication and collaboration. We value the unique aspects of your business, and our approach is centered around understanding your needs to deliver customized solutions. Your success is our success, and we are dedicated to ensuring that every campaign we undertake yields measurable and impactful results.

FreelancersDev is not just a service provider; we are your strategic partner in navigating the ever-changing digital landscape. Let us empower your brand, amplify your online presence, and drive growth in the digital realm. Choose FreelancersDev for a forward-thinking, results-driven approach to digital marketing.