teleren/devto huggingface dataset:
Tfenv to handle different versions of Terraform
Tags: terraform, cloud
Published: 2024-01-15 09:42:46

If you have different Terraform projects, despite the fact that you always want to have the latest, most up-to-date version, you may have to juggle between several versions.

That's why I wanted to introduce you to a little tool that could change your life : [Tfenv](https://github.com/tfutils/tfenv).

Tfenv is a version manager for Terraform, allowing users to easily switch between different versions of the Terraform infrastructure code on their system.

You can set it up very easily :
```bash
brew install tfenv
```

You can install the version you want
```bash
# Install the latest version
tfenv install latest

# or the version you want
tfenv install 1.6.6
```

Then, you can use the version you want : 
```bash
tfenv use 1.6.6

terraform version
# Terraform v1.6.6
# on darwin_amd64
```

You can also list all the versions you have already installed :
```bash
tfenv list
```

It may possibly be interesting to implement it in your bash scripts, if you want to automate it :
```bash
TF_VERSION="1.6.6"
if [[ "$OSTYPE" == "darwin"* ]] || [[ "$OSTYPE" == "linux-gnu" ]]; then
    tfenv install $TF_VERSION
    tfenv use $TF_VERSION
elif [[ $(terraform -v) != *"$TF_VERSION"* ]]; then
    echo "Terraform $TF_VERSION must be installed"
    exit 1
fi
```

I have been using this tool regularly for several years. It really simplifies Terraform versioning on a daily basis, as a simple and effective tool, so I recommend it.

There are other alternatives appreciated by the community you can also consider, like [Tfswitch](https://tfswitch.warrensbox.com) or [Asdf](https://asdf-vm.com) which allows you to manage several languages.
The Best Open-Source 7B LLM
Tags: opensource, llm
Published: 2024-01-15 09:08:18

OpenChat just released the world's best [open-source 7B LLM](https://github.com/imoneoi/openchat?tab=readme-ov-file), surpassing Grok0, ChatGPT (March), and Grok1.

OpenChat is a library of open-source language models fine-tuned with C-RLFT.

C-RLFT, or Conditioned-Reinforcement Learning Fine-Tuning, works by categorizing different data sources as separate reward labels. It's essentially a fine-tuning process for language models using mixed-quality data. 

Instead of treating all training data equally or needing high-quality preference data, C-RLFT assigns a class or condition to each data source, leveraging these as indicators of data quality.

The model is accessible on platforms like HuggingFace, GitHub, and through a live demo. Detailed instructions for independent deployment, including setup for an accelerated vLLM backend and API key authentication, are available on GitHub. The model is also available on consumer GPUs, like the RTX 3090.
Terraform Vault Basics
Tags: iacfull, vault, terraform, ibbus
Published: 2024-01-15 08:56:21

Hashicorp is a software company that provides infrastructure management and automation tools. 

Its most popular product is the open-source tool Terraform, which allows users to automate the process of creating, changing, and versioning infrastructure. 

Hashicorp also provides other tools for infrastructure automation and management, such as Vagrant, Packer, and Vault.

1. Create a Ec2 machine
2. Install packages
3. Install Vault
4. Start Vault


Install gpg
`sudo apt update && sudo apt install gpg`

Download the signing key to a new keyring
`wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg`

Verify the key's fingerprint
`gpg --no-default-keyring --keyring /usr/share/keyrings/hashicorp-archive-keyring.gpg --fingerprint`

Add the HashiCorp repo
`echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list`

`sudo apt update`

Finally, Install Vault
`sudo apt install vault`


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

To start Vault
`vault server -dev -dev-listen-address="0.0.0.0:8200"`


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

Open another terminal on your vm machine and export the variables.


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

Check the Web 

http://34.231.241.99:8200


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

Enter the credentials and copy the root token code


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

Enabled the search engine


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


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


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

Create a Secret and save


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

Give to the permission other's click on enable new method


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

Click approle


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jal714m8xoe523ubwm7h.png)
Gaming Rewind: The Timeless Allure of Retro Game ROMs
Published: 2024-01-15 08:42:59

Like a portal to the past, game ROMs enable modern gamers to revisit beloved retro classics. From the Super Nintendo to the Sega Genesis, these digital copies let us explore gaming nostalgia. In this post, let’s examine the appeal of retro game ROMs and the communities keeping old school gaming alive.

What Are Game ROMs?

The Definition
Game [ROMs](https://techtoroms.com/), or Read-Only Memory files, contain data copied directly from physical game cartridges or discs. This allows the games to run on modern devices via emulators.

Popular Systems
Enthusiasts create and share ROMs for nostalgic consoles like the NES, SNES, Nintendo 64, Game Boy, Genesis, PlayStation and more. The most vibrant communities center around 8-bit and 16-bit era platforms.

Legal Grey Area
Game ROMs face controversy given copyrighted content gets distributed without IP holder consent. While clearly beneficial for preservation, the legal status remains hotly debated.

The Allure of Retro Gaming Nostalgia

Community
Dedicated online ROM communities share guidance on emulators, make game recommendations, and troubleshoot issues. This creates a social ecosystem keeping passion for retro gaming thriving.

Enhanced Accessibility
Thanks to save states and graphics upscaling filters, emulators provide modern accessibility to ease painfully unforgiving retro challenge. This helps newcomers persevere through classics.

Preserving History
By preserving aging classics before physical media decays, game ROMs derive cultural value. They offer a window into gaming history that would otherwise be lost to bit rot.

The Evolving Legal Landscape

Cracking Down on Piracy
Lacking IP holder approval, game ROMs increasingly face copyright takedown requests as publishers tap into nostalgia. However, they remain available if you know where to look.

Recognizing Archival Value

Initiatives like the Video Game History Foundation are trying to legally preserve aging physical media before games are lost forever. Mass digitization serves an important archival role.

Official Rereleases
Seeking to tap demand, publishers now offer “classic edition” plug-and-play consoles and game ROM access on services like Nintendo Switch Online. However, libraries remain limited.

The Next Generation of Retro Gaming

Looking ahead, game preservation will require cross-industry efforts across academia, museums, libraries, collectors and companies to digitally enshrine gaming history in a more organized manner before bits fade away. Game ROMs filled an important cultural niche in the interim. Their nostalgic thrill endures. Now, which classic should we revisit next? The possibilities are endless!
Project #1: todoList
Tags: react, beginners, todolist
Published: 2024-01-15 08:37:58


Step #1 - Create a React app

1. Type in commands in the terminal: 
``npx create-react-app todolist``

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

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

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


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zwfw3qaedhabfgefdrwt.png)
Host PHP8.1 Laravel Application using Terraform on AWS.
Tags: aws, php, terraform, security
Published: 2024-01-15 08:36:22

#Architecture Diagram


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


In this blog, we will see how to host PHP Laravel application on AWS Elastic Beanstalk. For that kindly follow this blog till end.

## Step-1: Create VPC

Create VPC with two public subnets for Elastic Beanstalk and two for RDS instance and Redis cluster. In the public subnet route table allow igw(internet gateway) and for private subnets allow traffic only from local. 

## Step-2: Host RDS and Redis in the private subnets

Create an RDS instance and Redis cluster in the private subnets.

Note: Kindly select only private subnets in the RDS and Redis subnet groups. 

## Step-3: Elastic Beanstalk

Create two Elastic Beanstalk, one for students and one for admin. 

Key-notes:

- For EC2 select instance profile and service role.
- For load-balancer provide health-check path and add 443 listener with SSL certificate.
- Also add document root /public because it's a PHP application so the document root will be /public directory.
- Don't forget to enable public IP for instance. 
- Set autoscalling min will 1 and max will 4.

## Step-4: CloudFront and Route53

Create Cloudfront for students and give student panel load-balancer DNS name as an origin and allow simple CORS policy. Enable WAF for student and admin panel. Add DNS record in the route53 and access the web application.

Code: https://github.com/harsh-viradia/Host-PHP8.1-Laravel-Application-using-Terraform-on-AWS.
Author: https://www.linkedin.com/in/harsh-viradia/
/ᐠ - -マ
Published: 2024-01-15 08:35:44


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/at3zy31eepm8vt0e8g3b.jpg)
**/ᐠ. ｡.ᐟ\ Hello ᵐᵉᵒʷˎˊ˗**
DevRel for Beginners 👨‍💻
Tags: beginners, webdev, tutorial, devrel
Published: 2024-01-15 08:19:40

In our current world, software development is a vibrant and it's an ever-evolving ecosystem. **BUT** imagine if you could be a bridge between the creators and the users, the translator of complex code into clear communication? That's where **Developer Relations (DevRel)** comes in.

**Think of DevRel as the hero for building relationships.** You're the friendly neighborhood developer advocate, the one who helps others understand and use the technology you love. Whether it's writing documentation, hosting workshops, or building communities, DevRel is about _championing developers and helping them succeed._

**So, are you curious about where to start?** This post got you covered because it is your roadmap to DevRel mastery! 

1. Enhance Your Communication Skills:

- **Embrace a Human Touch in Writing:** Bid farewell to technical jargon, welcome clarity, and transform intricate concepts into easily understandable language for all.
- **Master the Art of Storytelling:** Hone your skills in crafting compelling narratives that vividly illustrate the significance of your technology.
- Tap into Your Inner Educator: Architect captivating workshops and tutorials that not only educate but also leave a lasting and meaningful impression.

**2. Build Bridges by Networking:**

* **Connect with the community:** Join online forums, attend meetups, and actively participate in developer discussions.
* **Be a champion of diversity:** Foster an inclusive environment where everyone feels welcome and valued.
* **Listen, learn, and adapt:** Understand the needs and challenges of your audience to tailor your approach.

**3. Embrace the Power of Technology:**

-  **Use social media:** Share your knowledge, engage with developers, and build a strong online presence.
-  **Create valuable content:** Write blog posts, record videos, and develop resources that empower your audience.
-  **Stay ahead of the curve:** Keep yourself updated on the latest trends and technologies in the DevRel space.

Now, what are some exciting roles in Devrel:

1. Dev Advocate
2. Devex engineer
3. Community Manager
4. Content Creator
5. Technical Writer 

Remember, Devrel is all about making a difference. By sharing your knowledge and enthusiasm, you can inspire others, build thriving communities, and ultimately, shape the future of technology. So, what are you waiting for? Put on your Devrel hat and get out there!
Adapter Design Pattern
Tags: gof, design, pattern, adapter
Published: 2024-01-15 08:17:05


- Allows two completely incompatiable interface to work together.

- Used when the client excepts a (target) interface

- The adapter class allows the use of the available interface and the target interface.

- Any class can work together as long as the adapter solves the issue that all classes must implement every method defined by the shared interface.



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

[Video Source](https://www.youtube.com/watch?v=qG286LQM6BU&list=PLhkg-R66TRTV1-mDPLQ1HL7Wk9dGRBgSd)

The Adapter design pattern is used to allow incompatible interfaces to work together. 
It acts as a bridge between two incompatible interfaces by converting the interface of a class into another interface that a client expects.

Here's a simple example in C# to illustrate the Adapter pattern:

Suppose you have an existing OldSystem class with a method Request, and you want to adapt it to work with a new system that expects a different interface, INewSystem.
 The OldSystemAdapter class serves as the adapter to make the OldSystem compatible with the INewSystem interface.

```
using System;

// Existing system with an incompatible interface
public class OldSystem
{
    public void Request()
    {
        Console.WriteLine("OldSystem is handling the request.");
    }
}

// New system with a different interface
public interface INewSystem
{
    void NewRequest();
}

// Adapter class that adapts OldSystem to INewSystem
public class OldSystemAdapter : INewSystem
{
    private readonly OldSystem oldSystem;

    public OldSystemAdapter(OldSystem oldSystem)
    {
        this.oldSystem = oldSystem;
    }

    public void NewRequest()
    {
        // Call the existing OldSystem's method from the adapted interface
        oldSystem.Request();
    }
}

// Client code that expects INewSystem interface
public class Client
{
    public void UseSystem(INewSystem system)
    {
        system.NewRequest();
    }
}

class Program
{
    static void Main()
    {
        // Using the existing OldSystem with the help of the adapter
        OldSystem oldSystem = new OldSystem();
        INewSystem adapter = new OldSystemAdapter(oldSystem);

        // Client code works with the INewSystem interface
        Client client = new Client();
        client.UseSystem(adapter);
    }
}

```
In this example:

OldSystem is the existing class with an incompatible interface.
INewSystem is the new interface expected by the client.
OldSystemAdapter is the adapter class that implements INewSystem by delegating calls to the existing OldSystem.

The client code (Client class) works with INewSystem and is unaware of the existence of OldSystem.
 The adapter bridges the gap between the existing system and the client's expectations.

This is a simplified example, but it illustrates the basic structure of the Adapter pattern. In real-world scenarios, you might encounter more complex interfaces and interactions.
Hi88
Published: 2024-01-15 08:17:04

Xem bóng đá xoilac, bóng đá trực tiếp, xoilac 7 nét trực tiếp bóng đá tốc độ cao. Link vào xem bóng đá xoilac , xoilac 7 nét trực tiếp bóng đá là trang xem trực tiếp bóng đá tốc độ cao, bình luận viên bóng đá bóng đá trực tiếp chuyên nghiệp nhiều giải đấu.
Điện thoại: 0903079455
Email:[ lennonchords@gmail.com](url)
Địa chỉ: 127 Phú Gia, Phú Lộc, Thừa Thiên Huế, Việt Nam 
Website: 
[https//lennonchords.info/](url)
Setting Up a Simple Real-Time Application with Angular, Node.js, and Socket.IO
Tags: webdev, javascript, beginners, programming
Published: 2024-01-15 08:15:00

**Install Dependencies:**

Install Node.js and npm (Node Package Manager) on your machine if not already installed.

**Create Node.js Server:**

Set up a Node.js server using Express and Socket.IO. Install required packages:

```bash
npm init -y
npm install express socket.io cors
```

**Create a basic server in a file (e.g., index.js):**

```jsx
const express = require('express');
const http = require('http');
const socketIO = require('socket.io');
const cors = require("cors");

const app = express();
const server = http.createServer(app);

app.use(
    cors({
        origin: "*",
    })
);

const io = socketIO(server, {
    cors: {
        origin: "http://localhost:4200",
        methods: ["GET", "POST"]
    }
});

io.on('connection', (socket) => {
    console.log('A user connected');

    socket.on('disconnect', () => {
        console.log('User disconnected');
    });
});

const PORT = process.env.PORT || 3000;
server.listen(PORT, () => {
    console.log(`Server is running on port ${PORT}`);
});
```

**Create Angular App:**

Create an Angular app using the Angular CLI:

```bash
ng new angular-socketio-app
cd angular-socketio-app
```

**Integrate Socket.IO Client in Angular:**

Install the socket.io-client library:

```bash
npm install socket.io-client
```

In your Angular component, you can use Socket.IO to connect to the server:

```jsx
import { Component, OnInit } from '@angular/core';
import * as io from 'socket.io-client';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
  private socket: any;

  ngOnInit() {
    this.socket = io('http://localhost:3000');

    this.socket.on('connect', () => {
      console.log('Connected to server');
    });

    this.socket.on('disconnect', () => {
      console.log('Disconnected from server');
    });
  }
}
```

**Run the Applications:**

Start the Node.js server:

```bash
node index.js
```

In a separate terminal, start the Angular app:

```bash
ng serve
```

Now, your Angular app and Node.js server should be running, and you can explore real-time communication using Socket.IO.

Remember that this is a basic example, and you can extend it to include more features based on your application requirements.

**Reference**

For detailed implementation, you can refer to the following GitHub repository:

[Frontend Source Code](https://github.com/manthanank/angular-socketio-app)
[Backend Source Code](https://github.com/manthanank/nodejs-socketio)
Is there a multiplayer mode in Stick War?
Published: 2024-01-15 08:09:57

Certainly! In Stick War's multiplayer mode, you can engage in intense real-time battles against other players. Form alliances, create strategies, and lead your stick figure army to victory. The multiplayer mode offers a dynamic and competitive experience, where you can showcase your tactical prowess and outsmart your opponents. Whether you prefer team-based matches or one-on-one duels, https://stickwarapk.download/ multiplayer mode provides endless opportunities for thrilling and strategic gameplay. So gather your forces, sharpen your skills, and prepare for an epic multiplayer showdown in the world of Stick War.
Open Source eCommerce Mobile App
Tags: opensource, ecommerce, mobile, flutter
Published: 2024-01-15 08:08:11

---
title: Open Source eCommerce Mobile App
published: true
description: In this post, we are going to discuss revolutionizing your online store with Bagisto's open-source eCommerce mobile app 
tags: opensource, ecommerce, mobile, flutter
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ryry4ek4m9hrd6we7naj.png
# Use a ratio of 100:42 for best results.
# published_at: 2023-06-16 13:50 +0000
---
Bagisto, the popular open-source eCommerce platform has launched the very first open-source e-commerce mobile app. 

![Open Source eCommerce Mobile App](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/npihszt2t1j33zao3jcl.png)


The merchants who have their e-commerce platform built on Bagisto can easily get their mobile app ready and publish on respective app stores. 

You can check the github repository of the mobile app here: https://github.com/bagisto/opensource-ecommerce-mobile-app

Some of the popular features of mobile app include: 

* Multi-locale support
  
* Product share

* Product Search

* Wishlist

* Compare Product

* All Type Product Supported

* Multi-Currency Support

* Dark Mode Supported

* Product Review

* Coupons Supported

* Guest Checkout

* Push Notification

* Complete Customer end features of the ecommerce app
Crafting Your Authorial Haven: A Guide to Building an Engaging Author Website
Published: 2024-01-15 07:56:31

Creating a website is an essential step for authors looking to establish a strong online presence and connect with their audience. A well-designed author website serves as a central hub for showcasing your work, sharing your writing journey, and engaging with readers. Here's a concise guide on how to make a website for an author in 300 words:

Choose a Domain Name:
Begin by selecting a memorable and relevant domain name. This is your website's address, so make it easy to remember and reflective of your author brand.

Select a Hosting Platform:
Opt for a reliable hosting platform to ensure your website is accessible to visitors. Popular choices include WordPress, Wix, or Squarespace, which offer user-friendly interfaces and customizable templates.

Design Your Website:
Pick a clean and reader-friendly design that complements your writing style. Ensure your website is easy to navigate, with clear sections for your books, about the author, and a blog or news page for updates.

Highlight Your Books:
Create a dedicated page for your books, providing information about each title, including summaries, cover images, and purchase links. Consider adding reader reviews to build credibility.

Craft an Engaging About Page:
Share your writing journey, personal anecdotes, and the inspiration behind your work. Readers enjoy connecting with authors on a personal level, so make your about page relatable.

Include a Blog or News Section:
Keep your audience engaged with regular updates on your writing process, book releases, or relevant industry news. A blog helps maintain a dynamic and active website.

Integrate Social Media:
Connect your website to your social media accounts to expand your online presence. Encourage visitors to follow you for the latest updates and interact with your content.

Contact Information:
Make it easy for readers, publishers, or media to get in touch. Include a dedicated contact page with a form or email address.

Optimize for SEO:
Improve your website's visibility on search engines by incorporating relevant keywords into your content. This helps potential readers find your site organically.

Regular Maintenance:
Update your website regularly, ensuring that information is current. Regular maintenance demonstrates professionalism and keeps your audience informed.

By following these steps, authors can create an effective and engaging website like [https://balvinderruby.com.au/](https://balvinderruby.com.au/) that serves as a virtual home for their literary endeavors.