teleren/devto huggingface dataset:
DEV Community Contributor Spotlight: Christine Belzie
Tags: opensource, meta, devcontributors
Published: 2023-11-10 16:37:31

DEV is a cool community because of the amazing people we have in it. There are so many different types of folks around the world visiting DEV each day, contributing new posts and helping each other out in the comments section. 🌎🌍🌏

In a similar vein, our OSS contributor community is a diverse and active group who help contribute to our open-source project, [Forem](https://github.com/forem/forem). They dedicate their time and efforts to improving our software, making the platform that runs DEV better & better each day.

If we didn't have folks hanging out in our communities or helping us to create our platform, we wouldn't be here. You all are vital! 

That's why this week, we're highlighting the OSS contributions of the amazing [Christine Belzie](https://dev.to/cbid2), aka Chrissy. Chrissy participates in our community as a DEV moderator and member, while also contributing to our codebase.

{% embed https://dev.to/cbid2 %}

Recently, she helped to update our [Editor Guide](https://dev.to/p/editor_guide) via the following [PR](https://github.com/forem/forem/pull/20258). Chrissy spotted a message in our UI that wasn't entirely clear and so we updated the guide to let folks know that drafted posts aren't visible in feeds until published.

Chrissy and I had some back-n-forth discussion over Discord about the Editor Guide, and decided to update some other bits of language that were out of date. This is a good reminder to aspiring OSS contributors that updating docs can be just as important and necessary as adding new code. Also, it's a good way to get your feet wet if you're looking for that [good first issue](https://github.com/forem/forem/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) to contribute to.

Speaking of, if you are considering contributing to an open source project, remember that we welcome all skill levels. You can find more details about how to get involved at [dev.to/contribute](https://dev.to/contribute). On that note, you might find [Chrissy's _Open Source Survival Guide_ series](https://dev.to/cbid2/series/21414) to be a handy resource!

A big thanks to Chrissy for helping us out by contributing to our codebase, modding our community, sharing fantastic posts, and just for being an awesome person. Appreciate you, Chrissy! 🙌
Zach Bryan: Harmonizing Music and Style
Tags: webdev, javascript, programming
Published: 2023-11-10 15:45:18

[Zach Bryan Merchandise](https://zachbryanmerchandise.shop/) isn't just a musician; he's a beacon of a unique amalgamation of music and style that's leaving an indelible mark.

Musical Essence in Fashion
Bryan's style isn't confined to his wardrobe; it's an extension of his music. The garments he dons echo the emotions and narratives of his songs, creating a visual representation of his melodic storytelling. It's not merely about fashion; it's a canvas for his music.

Style as a Reflection
His clothing choices reflect the soulful essence of his music. From casual wear exuding an effortless vibe to statement pieces that mirror the depth of his lyrics, each garment tells a story. It's an expression that resonates with both music aficionados and fashion enthusiasts.

The Symbiotic Relationship
The beauty of [Zach Bryan Shirts](https://zachbryanmerchandise.shop/) approach lies in the symbiotic relationship between his music and style. His music influences his fashion, and in turn, his style reflects the emotions and narratives of his songs. It's a cycle where both art forms complement and enrich each other.

Cultivating a Community
His style isn't just about personal expression; it's a bridge connecting him to his audience. Fans see themselves in his style, creating a shared connection that transcends mere admiration. It's a community bound by their appreciation for his music and style.

Redefining Artistry
Zach Bryan's fusion of music and style redefines traditional notions of an artist's image. It's not just about the clothes he wears; it's about the story they tell. His style speaks volumes, illustrating a unique artist-fan relationship through fashion.

Influence and Innovation
This harmonious blend of music and style isn't just a trend; it's a catalyst for future innovation. It's a narrative that's likely to influence how artists perceive and express themselves through their clothing and merchandise.

Experience the resonance between music and style in Zach Bryan's artistry, where every fabric and lyric tell a story.
The Importance of Regular Software Maintenance for Businesses❌
Tags: maintenance, programming, python, ai
Published: 2023-11-10 16:32:11

In today’s technology-driven business world, software is the engine that powers operations, enhances customer experiences, and keeps organizations ahead of the curve.
However, merely having software in place is insufficient. Regular software maintenance is the secret to ensuring that your digital tools operate at their best and stay aligned with the ever-evolving landscape of technology and customer needs.

## **What is Software Maintenance?**
[Software maintenance](https://www.eurotechconseil.com/en/software-maintenance/) encompasses the practices and tasks employed to refine, enhance, and fix software after its delivery to end-users. This includes troubleshooting, altering, and sustaining the system to assure its optimal operation and seamless adaptation to the dynamic requirements of users.

## **The Four Pillars of Software Maintenance**
When it comes to software maintenance, there are four key pillars:

### **• Corrective Maintenance:**
Corrective maintenance focuses on fixing bugs and errors in the software. It includes activities such as troubleshooting, error detection, and bug fixing, ensuring that your software functions flawlessly.

### **• Adaptive Maintenance:**
Software exists in a changing world, and adaptive maintenance ensures it can keep pace. It involves updating the software to be compatible with a changing environment. Whether it’s due to shifts in regulations, operating system updates, hardware upgrades, or evolving software dependencies, adaptive maintenance keeps your software reliable and efficient.

### **• Perfective Maintenance:**
This type of maintenance includes enhancements to the software’s functionality, such as improving performance, maintainability, and other attributes to make it more effective or responsive to new user requirements. This involves adding features, enhancing user interfaces, and refining non-core operations.

### **• Preventive Maintenance:**
Preventive maintenance aims to reduce future problems and potential system failures. Its objective is to avoid issues before they happen. This includes software refactoring, optimization, removing obsolete code, and updating documentation to match system changes.
To learn more : https://www.eurotechconseil.com/en/blog/software-maintenance-services/
How the DOM and Virtual DOM Dance: A Guide to Reactive Programming in Web Development
Tags: webdev, dom, frontend, programming
Published: 2023-11-10 16:23:29

Let's delve into the fascinating world of the Document Object Model (DOM)! 😋

The DOM, short for Document Object Model, serves as a representation of the UI, whether it's composed in HTML or XML. Imagine it as a tree of tags. To interact with this structure, we employ a scripting language such as JavaScript.

Now, for the sake of performance optimization, we don't directly modify the DOM itself; instead, we work with the Virtual DOM 🥸.

But what exactly is this Virtual DOM?

It's like a reflection of the real DOM, but with HTML tags endowed with predefined functionalities. Essentially, you write HTML components and infuse logic into them through streams — a series of related events unfolding over time. Reactive programming frameworks are the magic behind the scenes, creating and managing this virtual DOM.

Welcome to the realm of the Reactive Programming paradigm!

Reactive programming thrives on the propagation of change.

In a nutshell, here's the sequence when altering the DOM:

1. The entire virtual DOM undergoes an update.
2. A comparison is made between the updated virtual DOM and its previous state.
3. React determines which objects have undergone changes.
4. Only the changed objects are updated on the real DOM.
5. Changes on the real DOM translate into alterations on the screen.

By combining the DOM with reactive approaches, we empower web development with dynamism. This approach allows us to handle intricate data flows and changes, resulting in interactive and responsive user interfaces.
Monitor Azure Kubernetes with Prometheus and Grafana
Tags: kubernetes, prometheus, grafana, azure
Published: 2023-11-10 16:16:20

**Kubernetes**, the popular container orchestration platform, can be effectively monitored using **Prometheus** and **Grafana**. Let's dive into how they work together:

1. **Prometheus**:
    - **Prometheus** is a robust monitoring and alerting toolkit designed for cloud-native environments.
    - It collects metrics from various sources, including Kubernetes clusters, services, and applications.
    - Metrics are collected at regular intervals (default: 30 seconds) and include information about memory, CPU, disk performance, network I/O, and read/write rates.
    - By default, Prometheus retains metrics for up to 14 days, but this setting can be adjusted.
    - It exposes metrics via an API endpoint within your Kubernetes cluster.
    - Prometheus Operator simplifies the deployment and management of Prometheus and related components on Kubernetes.
    - Custom resource definitions (CRDs) define desired deployments for Prometheus, Alertmanager, Thanos Ruler, ServiceMonitor, PodMonitor, Probe, and PrometheusRule.

2. **Grafana**:
    - **Grafana** is an analytics and visualization tool that works seamlessly with Prometheus.
    - It allows you to create custom charts, graphs, and alerts based on the metrics stored in the Prometheus database.
    - Developers and system administrators can use Grafana to explore and understand their metrics data.
    - Grafana dashboards provide interactive visualizations and insights into your Kubernetes cluster's performance.
    - You can set up alerts, run queries, and create custom visualizations using Prometheus as the data source.

{% youtube CDHZhmjK-is %}

Remember, Prometheus and Grafana work hand-in-hand to provide comprehensive monitoring and visualization capabilities for your Kubernetes environment. 🚀.
Will Amazon's LLM Be The Game-Changer Against OpenAI And Google?
Tags: ai, openai, google, news
Published: 2023-11-10 16:05:29


Guess who's stepping into the AI arena?

None other than Amazon – [so, let’s jump in and see what Amazon’s latest announcement is all about!](https://www.techdogs.com/tech-news/td-newsdesk/will-amazons-llm-be-the-game-changer-against-openai-and-google)

Amazon is diving into the AI arena with the development of its **large language model (LLM)**, codenamed Olympus, aiming to surpass **OpenAI's GPT-4** with an unprecedented two trillion parameters. With former Alexa head Rohit Prasad leading the project, Amazon is investing millions to create cutting-edge AI solutions for its **Amazon Web Services (AWS)** and stay ahead in the AI research and development race. The move aligns with Amazon's strategy to reduce retail fulfillment costs while prioritizing LLMs and **generative AI**, signaling a significant shift in focus. As Amazon competes with giants like **OpenAI** and **Google**, the outcome could reshape the landscape of artificial intelligence dominance.

**The question looms:** Can Amazon's ambitious foray into LLMs challenge industry leaders, and how will it impact AWS clients and the broader AI ecosystem? The tech giant's strategic move sets the stage for a compelling battle in the evolving realm of AI, leaving readers eager to witness the unfolding competition and its potential implications.

To read more exciting technology content, dive into [TechDogs](https://www.techdogs.com/)' vast repository of [Articles](https://www.techdogs.com/resource/td-articles), [White Papers](https://www.techdogs.com/resource/white-papers), [Videos](https://www.youtube.com/channel/UCZ0lgIRSVraU14O9bp3bMCQ), [News ](https://www.techdogs.com/resource/tech-news)and [Events & Webinars](https://www.techdogs.com/resource/tech-news) that help you Know Your World of Technology.
What kind of properties can be passed across the React Native bridge?
Tags: reactnative, mobile, bridge, react
Published: 2023-11-10 16:03:29

A bridge in the React Native universe is more than just a connection; is a cross-platform communication between native languages ​​(such as Kotlin, Java, Objective-C and Swift) and the powerful JavaScript. This capability opens the door to building mobile applications efficiently and flexibly.

Before we dive into the transferable properties, it is crucial to understand the underlying mechanism that guides the flow of these properties between different platforms.

When opening any application developed in JavaScript on your mobile device, you may wonder: magic? Yes, indeed! It's the magic of React Native in action.

React Native operates through a threading model for the render pipeline, where threads represent a series of instructions executed by the CPU. In this context, three essential threads come into play: the UI thread (or main thread), the Shadow thread (or Shadow tree) and the JavaScript thread.

The UI thread, originating from the native DOM, is what creates the other two threads. The JavaScript thread manages the application logic, while the Shadow tree observes the states and implements changes to the layout. Changes to the view are calculated integratedly and, at the end of each event loop, are sent to the native side in serialized JSON format.

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

Thus, properties that cross over to the native side take the form of serialized JSON, restricting themselves to JSON-compatible types.

Consider the example of clicking a button. Since it is not possible to pass callbacks directly, the native side operates via events. The click event is sent, and the JavaScript triggers a callback. This callback is processed in Shadow, triggering the state change. After this change is complete, the result is serialized into JSON and sent to the other side of the bridge, thus ending the communication cycle.

In short, the React Native bridge enables the efficient transfer of properties between languages, these props should be serialized JSON, and all JSON types can be passed to native side, providing a mobile development experience marked by versatility and effectiveness.
Flatiron - Phase 5
Tags: react, python, css, database
Published: 2023-11-10 16:00:30

Phase 5! I made it! I'm thrilled to announce that I am now a certified Software Engineer! The past three months have been challenging, but the journey was undoubtedly worth it. In the last three weeks, I dedicated my time to working on my final project—a community app tailored for fans of a video game series. Although I haven't deployed it yet, I plan to continue refining it because it's progressing exceptionally well. 

For this blog post, I want to shed light on a feature I added to my project: the real-time notification feature. This feature allows users to favorite a game and receive notifications for any updates related to their chosen game. This wasn't covered in the Flatiron curriculum, and I decided to venture into it on my own.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h4c87adv895un8qgqskz.png)
Here's the backend code snippet for this feature. I employed Stream to check for real-time updates on the connected route. When a new review is created, the system ensures it's not an old review and that the review's game ID matches the favorite game ID. If these conditions are met, the review is marked as an old review to prevent notifications for outdated posts. Finally, a response is sent to the frontend, which I can utilize EventSource to listen to.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/57zew69377b6s33rulis.png)
On the frontend, I set up EventSource to listen for responses from the streamed route. If it receives anything, I use the onmessage function to either send a message or increase the count for notifications. In my project, I do both. Putting together this piece of code took me three days, and while it was a bit of a headache, I'm proud of the outcome. Self-teaching is not new to me, so learning and successfully implementing this feature into my project was truly satisfying.

To wrap up this post, I'd like to share my thoughts on Flatiron. For a three-month bootcamp covering four different coding languages, I believe it's well worth the investment. The program goes beyond technical skills, teaching valuable aspects like networking and resume building—essential skills for anyone entering the software engineering field. While I still consider myself relatively new to all of this, I've gained confidence in my skills and my ability to self-teach and grow. The job search may be lengthy, but my concern is more about the duration than my ability to perform or understand the work. If you're considering entering the software engineering field, I highly recommend applying to Flatiron; it's, in my opinion, a valuable investment.
My Journey to Cloud: A Review of Binvabian Technologies' Program
Tags: cloud, tutorial, learning
Published: 2023-11-10 15:57:31

There are thousands of resources online to learn cloud technology making it easy for one to fall into tutorial hell. It was difficult for me to sift through all of the information on the internet to find the right resources that were most relevant to my needs. This was where [**Binvabian Technologies**](https://binvabian.com) came in.

> Disclaimer: This is not a paid advertisement or sponsored promotion.

### Discovery 
I first learnt about the program provided by [Binvabian Technologies](https://binvabian.com) through their [scholarship page](https://scholarship.binvabian.com) page. My curiosity led my to their website, I went ahead to contact them through the information displayed on their contact page. 

I was met with a high level of professionalism from the moment I initiated contact with their Chief Technology Officer. The process of enrolling in their program was straightforward, and I appreciated the clear communication.
As I was interested in horning my skills in cloud technology, I chose the Cloud Engineering track.

### Programme Structure 
The Cloud Engineering last for about four months months. It had the following outline: 

- Introduction to Cloud Computing
- Cloud Service Providers (e.g., AWS, Azure, Google Cloud) 
- Cloud Architecture and Deployment Models
- Networking in Cloud
- Cloud Security and Compliance
- Cloud Monitoring
- Containerisation and Container Orchestration.
- Infrastructure as Code, where I got a first-hand experience with Terraform.
I also remember running my first linux commands through their guidance.

### Program Delivery 
The flexibility offered by Binvabian Technologies was another distinctive feature. There were options to select in-person, hybrid and/or online tutoring sessions. I opted for the online session. When I required support for a specific assignment, test preparation, or ongoing guidance, they were adept at accommodating my requirements. 

### My Experience 
The tutors at Binvabian Technologies were undeniably the cornerstone of their success. They possess remarkable qualifications, domain knowledge, and an unwavering dedication to helping students excel in the cloud. I was paired with a tutor who not only possessed expertise in cloud computing but also was skilled at explaining complex ideas in a clear and easy-to-understand way.

What truly distinguishes Binvabian Technologies is their unwavering commitment to continual improvement. They periodically gathered feedback to fine-tune the program and learning experience. 

### Final Thoughts 

Whether you are looking to understand the basics of cloud engineering and its benefits, or looking to gain proficiency in automating advanced workflows and continuous monitoring, I wholeheartedly recommend [**Binvabian Technologies**](https://binvabian.com).
C# - Reducing Lock Contention with ReaderWriterLockSlim
Tags: csharp, programming, tutorial
Published: 2023-11-10 15:30:00

When you need to synchronize access to a shared resource in a multi-threaded application, you can use `ReaderWriterLockSlim` to reduce lock contention and improve performance. This class provides a way to allow multiple readers or a single writer to access the resource simultaneously.

```csharp
using System;
using System.Threading;

class Program
{
    static ReaderWriterLockSlim rwLock = new ReaderWriterLockSlim();
    static int sharedResource = 0;

    static void Main()
    {
        // Start multiple reader and writer threads
        for (int i = 0; i < 5; i++)
        {
            var readerThread = new Thread(ReadSharedResource);
            readerThread.Start();

            var writerThread = new Thread(WriteSharedResource);
            writerThread.Start(i + 1); // Pass a unique writer ID
        }
    }

    static void ReadSharedResource()
    {
        try
        {
            rwLock.EnterReadLock();

            // Simulate reading shared data
            Console.WriteLine($"Reader {Thread.CurrentThread.ManagedThreadId} reads: {sharedResource}");
        }
        finally
        {
            rwLock.ExitReadLock();
        }
    }

    static void WriteSharedResource(object writerId)
    {
        try
        {
            rwLock.EnterWriteLock();

            // Simulate updating shared data
            sharedResource = (int)writerId;
            Console.WriteLine($"Writer {writerId} writes: {sharedResource}");
        }
        finally
        {
            rwLock.ExitWriteLock();
        }
    }
}
```

In this example:

1. We create a `ReaderWriterLockSlim` instance named `rwLock` to synchronize access to the shared resource, which is an integer named `sharedResource`.

2. We start multiple reader and writer threads in the `Main` method to simulate concurrent access to the shared resource.

3. The `ReadSharedResource` method demonstrates how to acquire and release a read lock using `rwLock.EnterReadLock()` and `rwLock.ExitReadLock()`, respectively. Multiple reader threads can access the resource simultaneously as long as there are no active writer locks.

4. The `WriteSharedResource` method shows how to acquire and release a write lock using `rwLock.EnterWriteLock()` and `rwLock.ExitWriteLock()`. Only one writer thread can access the resource at a time, and it blocks reader threads during this time.

By using `ReaderWriterLockSlim`, you can fine-tune synchronization in your multi-threaded applications. This can significantly reduce lock contention and improve performance when dealing with shared resources that are frequently read but infrequently modified.