teleren/devto huggingface dataset:
Boho Light
Tags: css, learning, news, tutorial
Published: 2024-03-01 15:42:54

[Boho light](https://santiblog.com/), also termed bohemian or boho-chic lighting, embodies the eclectic, free-spirited, and unconventional essence of Bohemian decor. These fixtures often boast intricate designs, vibrant hues, natural materials, and a blend of textures, mirroring the bohemian lifestyle.

Here are some common features and ideas for boho light adornments:

Moroccan Lanterns: These lanterns, adorned with colorful glass panels and elaborate metalwork, cast mesmerizing patterns when lit, making them a favored choice for boho lighting.

Macramé Hanging Lights: Crafted using the macramé technique, these lights add a handmade, bohemian flair to any space with their knotted cords and decorative patterns.

Tapestry Wall Sconces: By using tapestries as a backdrop for wall sconces, you can achieve a boho-inspired lighting effect. The interplay of soft, diffused light against the tapestry's texture imbues warmth and character into the room.

String Lights: String lights offer versatility, whether draped over furniture, hung on walls, or nestled in glass jars, they infuse spaces with a whimsical touch of boho-inspired illumination.

Rattan Pendant Lights: Featuring rattan, a natural material synonymous with bohemian decor, these pendant lights evoke a tropical and organic ambiance while softly illuminating the surroundings.

Mosaic Lamps: Characterized by colorful glass pieces arranged in intricate patterns, mosaic lamps inject an exotic and visually captivating element into any room, aligning perfectly with boho decor.

Vintage Chandeliers: Vintage or thrifted chandeliers with ornate designs lend a sense of history and character to boho-inspired spaces. Look for chandeliers embellished with crystals, beads, or colorful glass accents to add an eclectic touch.

Floor Lamps with Fabric Shades: Opt for floor lamps featuring fabric shades adorned with bold patterns or vibrant colors to complement the boho aesthetic. The gentle glow emitted by these lamps creates a cozy atmosphere in any room.

When adorning with boho light fixtures, embrace the freedom to blend different styles, textures, and colors, resulting in a unique and eclectic ambiance that mirrors your personal style and creativity.
Transfer contents and files using SCP from remote to local machine via bastion
Tags: shortposts, beginners, linux, security
Published: 2024-03-01 15:35:39

It's always a challenge to move content (text) and files between a remote machine and localhost (local machine). The challenge becomes even harder when there is a bastion host or a Jumpserver in the middle that needs SSH (Secure Shell) access. 

![Photo by Vidyasagar Machupalli](https://vidyasagarmsc.github.io/images/consulate.jpeg)

As I work day-in and day-out with virtual machines in Cloud, I am asked to send logs, copy or move files from the remote machine to local for debugging. In the linux world, coredump is required most of the time to see why a server or a component is crashing. Moving files like a core dump is required for debugging or understanding the state of the machine. 

For this scenario let's consider three machines (VMs or VSIs),

1. **Localhost**
2. **Bastion** host with a private IP - 10.10.0.13
3. **Remote** machine / server with a private IP - 10.30.0.13

## Scenario 1: copy a file from remote machine to localhost

  You will be using `SCP`(Secure Copy Protocol) from local to remote via Bastion. 

1. Run this in one session/window/tab of the terminal on your local machine

    ```sh
 ssh -L 1234:<REMOTE_PRIVATE_IP>:22 <OS_USER>@<BASTION_HOST_PRIVATE_IP> cat -
 ssh -L 1234:10.30.0.13:22 vmac@10.10.0.13 cat -
    ```
 
2. In another session/window/tab,
 
    ```sh
  scp -P <LOCAL_PORT> <REMOTE_USER>@127.0.0.1:<PATH_TO_THE_FILE_ON_REMOTE_MACHINE> <LOCAL_PATH_TO_COPY_FILE>
  scp -P 1234 vmac@127.0.0.1:/home/vmac/output.log  output.log
    ```
    
## Scenario 2: copy contents of a remote file to clipboard
On your local machine, run the below command to copy contents of a file to clipboard using `pbcopy`

```
ssh -J vmac@<BASTION_HOST_PRIVATE_IP vmac@<REMOTE_PRIVATE_IP> 'cat /home/vmac/output.log' | pbcopy
ssh -J vmac@10.10.0.13 vmac@10.30.0.13 'cat /home/vmac/output.log' | pbcopy
```

## Using VPN

If you want to access a machine using a private IP, you can always connect to an VPN (client-to-site or site-to-site) to access the contents of a remote machine. 

References:
 - https://www.urbaninsight.com/article/running-scp-through-ssh-tunnel

Happy learning and sharing :) 

Follow me on [Linktree](https://linktr.ee/vidyasagarmsc)
HDO Box Apk Download Free
Published: 2024-02-11 07:57:01

Download the most current [HDO Box APK for PC](https://hdobox.link/), Firestick, Android, and Smart TV versions.

1. The first and most important step is to enable unknown sources on your smartphone. Sideloading apk files requires having your phone's unknown sources enabled.
2. 
3. You may access your phone's or tablet's settings directly from the home screen of your Android device.
4. Next, choose Security, and then scroll down to find "Unknown Sources."
5. Turn on the option on the right side. Don't adjust this option if it is enabled by default.
6. Navigate to the "Downloads" folder to see where the downloaded APK file is located.
7. Tap the apk file to start the installation procedure on your Android smartphone.
8. Choose "Install" and adhere to the prompts shown on the screen.
9. If any restrictions are shown by Play Protect, choose "Install Anyway."
10. Now choose "Open" from the menu on your smartphone.
11. The app will remain open on your phone or tablet as a result. You may now start watching the films and TV shows.
12. Install the HDO Box app for iOS [iPhone, iPad] without jailbreaking it.
13. The HDO Box app is the only app available for iOS devices that has such an amazing feature set. Check out our guide on how to install HDO Box on your iOS device without jailbreaking it.
Are you cool enough to get in? Understanding .filter
Tags: filter
Published: 2024-03-01 15:26:34

When it comes to .filter, imagine it as a body guard being the security of a party or some sort of get together. The security guards job is to only allow people on that list who meet the requirements. No matter how big or small, if a individual does not meet that requirement they won't be allowed into the function. Everyone who pass the test aka requirements are able to go inside and have a good time, while those who didn't have to watch from the outside. Funny way of thinking about it, but that's exactly how the higher order .filter functions.

Higher order functions are methods that make our life easier, when it comes to completing specific tasks or objectives when it comes to coding. Like if we wanted to loop through a specific data set, and apply a type of conditional, that code can be very long and become very repetitive. Higher order functions are a easier way to accomplish the same goal, while being able to write far less code. 

When it comes to .filter, it's a higher order functions we apply to arrays, that when applied, it iterates over every element in the array for us, while returning a final array of elements that only passes the test. For example, if I wanted to look into an array and only return the elements that are less than the number 4, this is how that would look with a regular for loop and conditional

let arr = [1, 2, 3, 4, 5, 6, 7, 8];

let output = [];

for (let i = 0; i < arr.length; i++){
	if (arr[i] < 4){
		output.push(arr[i]);
	}	
}

console.log(output);

This here will return the array of output as [1, 2, 3];

However we could achieve this same result with .filter doing

function lessThan4(){
	return arr.filter((ele) => {
		return ele < 4;
	})		
}

console.log(lessThan4(arr));

Another cool this about .filter is that it not only iterates through an array for you, but it also returns creates a new array for you, so the original never gets mutated.

So the .filter higher order function acts as a body guard that only let's cool people in (specific elements in a array)...that passes a test. If they meet the requirements, they're allowed to go in and party, but if not they have to hate from outside of the club!
Occupational Therapist Assistant
Published: 2024-03-01 15:23:27

Mock Turtle went on eagerly. 'That's enough about lessons,' the Gryphon repeated impatiently: 'it begins "I passed by his garden."' Alice did not wish to offend the Dormouse went on, 'I must be off, and found herself safe in a moment: she looked up, and began bowing to the Mock Turtle, suddenly dropping his voice; and the jury consider their verdict,' the King said to herself, 'the way all the jurymen on to himself in an impatient tone: 'explanations take such a simple question,' added the Dormouse. 'Don't talk nonsense,' said Alice a good opportunity for making her escape; so she tried to speak, but for a dunce? Go on!' 'I'm a poor man, your Majesty,' he began, 'for bringing these in: but I grow at a reasonable pace,' said the March Hare. 'Exactly so,' said Alice. 'Why, you don't explain it is almost certain to disagree with you, sooner or later. However, this bottle does. I do so like that curious song about the whiting!' 'Oh, as to prevent its undoing itself,) she carried it off.https://glorycasino.work/
Hello World
Tags: coding, helloworld, programing, gamedev
Published: 2024-03-01 15:22:04

Hi Everyone Im Mohsen and im Just new Here . thank You For Supporting @ecopersonall << My Instagram Account.
I Usually Code Games , its realy fun to do job and i love it.
happy to work with y'all - Let Me know if you Have Any Idea In Mind.
now im 31 . last year was my 30 th birthday and it was marvelous
( Hope you'r life work well for you and your family - god bless y'all ) Have Fun #$ Peace
My Journey To Programming
Published: 2024-02-29 19:18:59

My journey into the world of Information Technology is a unique one, marked by a personal fascination that grew into a profound passion. Unlike many in my family who pursued careers in medicine, I found my calling in the realm of technology, a path that no one before me had ventured into.

It all began when, in grade 6, I received my first Toshiba company laptop. At that time, my knowledge was limited to the basics, and I vividly recall not even knowing how to use MS Paint. Concurrently, my school introduced computer classes, and through trial and error, I gradually mastered the fundamentals. The arrival of the internet in my house in grade 8 opened up a new world of possibilities. Driven by a desire to excel in the field, even though I was far from being an expert, I had already made the decision to pursue a career in technology.

Initially drawn to graphics design and video editing, I embarked on web development to showcase my work to friends, thinking it would be an easy feat. However, the journey was anything but easy. Despite the struggles in understanding programming basics and grappling with complex technologies, I persisted, and it worked.

Upon entering my bachelor's program in computer engineering, I delved deep into data structures, algorithms, memory management, and other intricate concepts. This experience provided me with a profound realization – the intricacies of technology were no longer abstract. For the first time, I not only knew what I was doing but also comprehended the 'why' behind the functioning of things. This newfound understanding solidified my commitment to a career in IT, as I continue to explore, learn, and contribute to the ever-evolving landscape of technology
Unveiling the Tapestry: Your Guide to Discovering the Quilting Sewing Machine
Tags: beginners
Published: 2024-03-01 15:10:04

Are you ready to embark on a quest to find the perfect companion for your quilting adventures? Join us as we unravel the intricacies of the [best quilting sewing machines](https://sewnscissors.com/best-quilting-sewing-machines/) available in today's market. Whether you're a seasoned quilter or just starting on your creative journey, we're here to help you navigate through the myriad of options and find the machine that best suits your needs.

In our vibrant quilting community, we understand the importance of having the right tools to bring your creative visions to life. That's why we're excited to share our insights and experiences to assist you in your quest for the ultimate quilting sewing machine.

As you embark on this journey, it's essential to first understand your unique quilting needs. Are you looking for user-friendly features to ease you into the world of quilting, or do you crave advanced functionalities to push the boundaries of your creativity? By identifying your requirements upfront, you can narrow down your options and focus on machines that align with your specific preferences.

Once you've established your criteria, it's time to dive into the technical specifications of each machine. From stitch options to throat space to quilting speed, there are numerous factors to consider when evaluating a quilting sewing machine. Our community is here to guide you through this process, offering advice and recommendations based on our collective expertise.

But we don't stop there. We understand that real-world experiences matter, which is why we encourage you to seek out user reviews and recommendations from fellow quilters. By tapping into the wisdom of our community, you can gain valuable insights into the performance, reliability, and overall satisfaction of different quilting sewing machines.

Of course, we recognize that budget considerations play a significant role in your decision-making process. That's why we're committed to helping you find a machine that offers the perfect balance of features and affordability. With our guidance, you can explore a range of options that fit within your budget constraints without compromising on quality.

So, are you ready to unveil the tapestry of possibilities and find the best quilting sewing machine for your creative endeavors? Join us on this exciting journey as we share our knowledge, experiences, and passion [here](https://sewnscissors.com/).
Migrate heroku database to on-prem PostgreSQL
Tags: heroku, postgres
Published: 2024-03-01 14:52:24

---
title: Migrate heroku database to on-prem PostgreSQL
published: true
description: Handy script from when you're migrating your app away from heroku. This will make it so that you can pull the heroku database to on-prem again and again until you're ready to make the switch.
tags: heroku, postgresql
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qzsu5tgv7r6bvpx8qcul.jpg
#published_at: 2024-03-01 14:36 +0000
---

The snippet below is an idempotent script that:

1) Drops `ON_PREM_DB` using `ON_PREM_PSQL_*` connection to `psql` on machine that is reachable via `ssh` using `ON_PREM_SSH`.
2) Pulls database from `HEROKU_APP` to `ON_PREM_DB` using the same `ssh` and `psql` information as above.

It tries to inform you what will happen, but use at your own risk as this **will** destroy the on-prem database first.

```sh
#!/bin/bash

ON_PREM_PSQL_PORT='5432'
ON_PREM_PSQL_HOST='localhost' # Do not change
ON_PREM_PSQL_USER='postgres'
ON_PREM_PSQL_PASS='xxx'
ON_PREM_DB='my-app-db'
ON_PREM_SSH='root@acme.com'
HEROKU_APP='production-acme-com'

ssh_sessions_pids=()

are_you_sure() {
  echo "🍕 This WILL drop whole db on ${ON_PREM_SSH}. Type in 'YES' to continue"
  read user_input

  if [ "$user_input" = "YES" ]; then
      echo "🍕 Continuing"
  else
      echo "🍕 Exiting"
      exit 1
  fi
}

start_ssh_proxy() {
  echo "🍕 Starting SSH proxy"
  ssh -f -N -L${ON_PREM_PSQL_PORT}:${ON_PREM_PSQL_HOST}:${ON_PREM_PSQL_PORT} ${ON_PREM_SSH}
  ssh_sessions_pids+=($!)
}

drop_on_prem_db() {
  echo "🍕 Dropping on prem DB"
  PGPASSWORD=${ON_PREM_PSQL_PASS} dropdb ${ON_PREM_DB} -p ${ON_PREM_PSQL_PORT} -U ${ON_PREM_PSQL_USER} -h ${ON_PREM_PSQL_HOST}
}

pull_from_heroku() {
  echo "🍕 Pulling from heroku"
  PGPASSWORD=${ON_PREM_PSQL_PASS} PGUSER=${ON_PREM_PSQL_USER} heroku pg:pull DATABASE_URL postgres://${ON_PREM_PSQL_HOST}:${ON_PREM_PSQL_PORT}/${ON_PREM_DB} --app=${HEROKU_APP}
}

cleanup() {
  echo "🍕 Cleaning up SSH sessions..."
  kill -- -$$
}

trap cleanup EXIT

are_you_sure
start_ssh_proxy
drop_on_prem_db
pull_from_heroku
```

---

Title image generated via DALL-E using prompt: `Migrate heroku database to on-prem --ar 100:42`
How was your week? - March 1, 2024
Tags: weeklyretro, learning
Published: 2024-03-01 14:49:23

Happy Friday devs! We’re through another week and it’s almost the weekend. So, how was your week? Did you learn something new? Figure something out? Discover new music/shows/movies? Fun plans for the weekend? Feel free to share in the comments.

![](https://media4.giphy.com/media/ZAxLtSvqy6DUeMzE5s/giphy.gif?cid=6c09b9521e1x6tq1ir2conj96flbkgufyig4gbncxc83xqlm&ep=v1_internal_gif_by_id&rid=giphy.gif&ct=g)
🚀 Exciting breakthrough in Decentralized Confidential AI by Super Protocol & NVIDIA!
Tags: webdev, web3, ai, nvidia
Published: 2024-03-01 14:41:43

Thanks to our close collaboration with NVIDIA, we've achieved a groundbreaking milestone, harnessing the unique confidential computing mode of NVIDIA's H100 Tensor Core GPU.
Our tests successfully validate:

1️⃣ **Launch of virtual machines with H100 GPUs in confidential mode within Super Protocol,** showcasing the power of our decentralized, TEE-agnostic architecture – marking a significant leap in decentralized computing.
2️⃣ **Usage of Llama AI models within this virtual environment,** leveraging confidential tunnels as part of Super Protocol's security mechanisms. This facilitated the execution of a **Confidential Multi-User AI Chat**, similar to ChatGPT but with enhanced privacy. – The achievement ensures complete confidentiality and sets a new standard for future AI projects, prioritizing secure and private interactions, whether standalone or integrated solutions.
3️⃣ **Execution of smaller tasks on H100 within Super Protocol's virtual Kubernetes environment** – improving efficiency for real-world applications.
4️⃣ **Conducting GPU and CPU attestations to verify and ensure the integrity of confidential computing processes** – a critical step for the validation and protection of secure and private AI computing.

🔥 Our partnership with NVIDIA, initiated through the NVIDIA Inception program, has been crucial in achieving this milestone. We're committed to continuing our collaborative efforts to bring these capabilities from our internal testing phase to full-scale implementation.

🌟 Join us as we advance in decentralized confidential AI, shaping an AI future that ensures security, data protection, and empowers users with full control over their AI, independent from any single Cloud Service Provider.
Spoiler Alert: Import Alias in React + Vite
Tags: react, javascript, webdev, tutorial
Published: 2024-03-01 14:33:35

Today in this short article let's quickly learn how to set up path aliases in your React application. Avoid boring long imports in your app and start using path aliases now.


**Pre-requisites**
Must have a React app with vite. If you are still using CRA, checkout my guide to migrate your app to vite.


**For Javascript Projects** 

1. **Update your vite config**
   You have to update your vite config to make your aliases work.
   
   Paste the following contents - 
```javascript
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import path from "path";

export default defineConfig({
  resolve: {
    alias: {
      "@": path.resolve(__dirname, "./src"),
      "@components": path.resolve(__dirname, "./src/components"),
      "@pages": path.resolve(__dirname, "./src/pages"),
      "@forms": path.resolve(__dirname, "./src/forms"),
      "@utils": path.resolve(__dirname, "./src/utils"),
      "@providers": path.resolve(__dirname, "./src/providers"),
      "@assets": path.resolve(__dirname, "./src/assets"),
    },
  },
  plugins: [react())],
});

```
You can add your own folder according to your need. Likes `hooks`,`context` and etc.
  
   
2. _For Javascript project_, create a `jsconfig.json` or `tsconfig.json` file in the root of your project. This step is necessary to make sure vs code intellisense works properly.

Paste the following contents - 

```json
{
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "@/*": ["./src/*"],
      "@components/*": ["./src/components/*"],
      "@pages/*": ["./src/components/pages/*"],
      "@assets/*": ["src/assets/*"],
      "@forms/*": ["src/forms/*"],
      "@providers/*": ["src/providers/*"],
      "@utils/*": ["src/utils/*"]
    }
  }
}

```
This file will help your code editor intellisense to recommend you the path aliases during import.

That's all, now you can import a component like 

```javascript
import MyComponent from "@components/MyComponent";

```

Thank you for reading this article. 💓
Please share and follow for more dev content. 😄
Product Hunt alternatives: Emerging Platforms Redefining Product Launches
Tags: seo, productivity, marketing, ai
Published: 2024-03-01 14:23:40

If you've been following tech news or trying to launch your own product, you might have noticed: Product Hunt isn't the only option anymore. It's getting crowded, and it's hard to stand out. Plus, they don't talk much about how they decide who gets seen and who doesn't. Because of this, people are looking for new places to launch their tech products. Let's talk about some fresh platforms that are making waves.

## Why Look Beyond Product Hunt?

Product Hunt used to be the go-to place for new tech products. But now, it's easier than ever to get lost in the crowd. People are searching for new places that offer clear rules and better chances to get noticed.

## Uneed: A Fresh Start for Every Product

Thomas Sanlis created [Uneed](https://www.uneed.best/?aff=8Mjlz) with a simple idea: only launch 10 products a day. This way, every product gets its time in the spotlight. You know exactly when your product will launch, and you won't be fighting for attention. Uneed is run by just one person, Thomas, who doesn't rely on bots or big money. If you're in a hurry, you can pay a little to skip the line and launch your product faster.

## AI Top Rank: The AI Product Stage

Stephen Anthony and Katie Johnson started [AI Top Rank](https://www.aitoprank.com/?ref=aidirectori.es) for AI products. Their goal is to help you find your first 100 users. They work with partners to make a special place for AI products. If your product wins their weekly contest, you get featured in their newsletter and on social media. You can also pay for a premium launch to get extra attention.

## Microlaunch: Grow Your Brand with AI

[Microlaunch](https://microlaunch.net/?ref=aidirectori.es) is all about using AI to help your brand grow. It's the only platform focused on making your SEO better and building loyal customers with the help of AI. It's perfect for startups wanting to improve their online presence smartly.

## Fazier: The Newcomer

Falak Sher started [Fazier](https://fazier.com/?ref=aidirectori.es), a new platform that's still a bit of a mystery. But with Falak's vision, it's expected to offer something new and exciting for tech startups looking to launch their products.

## Wrapping Up

With Product Hunt getting more crowded, Uneed, AI Top Rank, Microlaunch, and Fazier offer new ways to launch your product. Each one has something special, whether it's guaranteed visibility, a focus on AI, or using AI to boost your brand. It's worth checking them out to see which one fits your product the best. For an easy way to explore these and other innovative platforms, you can find them on [AI Directories](https://www.aidirectori.es/?ref=dev.to) comprehensive list.