teleren/devto huggingface dataset:
PRAAMS - Your ultimate investment tool
Tags: finance, software, investment, stocks
Published: 2024-06-04 03:05:14

PRAAMS is a web and mobile platform for easy and complete investment analysis of 110,000 stocks and bonds, instant idea discovery, and intuitive portfolio construction & management. Created by professionals, for professionals, our comprehensive solution empowers you to analyse, compare, and pick stocks and bonds like an experienced research analyst-risk manager. It only takes seconds to analyse any stock or bond, construct an efficient portfolio, analyse the existing portfolio, and find actionable ideas to optimise it.

[https://praa.ms](https://praa.ms)
Create Test REST APIs in Seconds! 🚀
Tags: frontend, api, javascript, backend
Published: 2024-06-04 02:59:49

If you're a frontend developer looking to create test REST APIs quickly and easily, look no further! This free tool is a game-changer, allowing you to set up APIs in seconds without any deployments. Here’s what it offers:

- GET, POST, PUT, and DELETE Methods: Support for all standard HTTP methods ensures you can create comprehensive API functionalities for your applications.

- Random Data for Responses: Generate random data for your API responses, making it perfect for testing various scenarios and edge cases.

- HTTPS and CORS Support: Enjoy seamless integration with your projects, thanks to built-in HTTPS and CORS support.

- No Deployments Needed: Skip the hassle of deploying servers; this tool works right out of the box.

This resource is an essential addition to any developer's toolkit, simplifying the process of API development and testing. Try it out and experience the ease of creating test REST APIs in seconds!

Here's the link: https://retool.com/api-generator
Day 3
Tags: webdev, html, css, 100daysofcode
Published: 2024-06-04 02:54:04

Today should be the 4th day but yesterday I was off so I didn't continue, but today I punished myself for being careless yesterday, for today I learned quite a lot like colors in CSS, there are `rgb(red,green,blue)` and `rgba(red,green,blue,alpha)` and I learned about hex colors which consist of (0,1,2,3,4,5,6,7,8,9, A,,B,C,D,E,F) and `hsl(hue,saturation,light)` and for other things I also learned about `linear-gradient()` to adjust the combination of a color then learned about box-shadow and Alhamdulillah understood it
Cent's Two Cents - Reading
Published: 2024-06-04 02:39:28

Hi everyone,

Cent here with my second day of updates!

Continuing with the Odin Project, today was mostly about setting up and a few basics about the internet that I realized I never actually learned in school. Basically just how the internet works. I knew a lot of the terms but just never how they interacted with each other specifically.

In any case, I have everything setup and ready to start learning. While I do know a lot of this stuff already , I want to go over the material again to strengthen my knowledge.

This post is relatively short as I just did a lot of reading today, tomorrow maybe I'll share a code snippet or two as I actually get into the exercises.

Until tomorrow!
SQL Databases for free on Cloud
Tags: webdev, javascript, programming, database
Published: 2024-06-04 02:36:20

There are many database providers out there but not all of them have free tier and even if they do sometimes its nothing useful. So less talking here is 5 free database hosting provider. I will just give the links here you can explore them on your own time to save u time reading this post

- [Render](https://render.com/pricing)

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


- [TiDB or (PingCap)](https://www.pingcap.com/pricing/)

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

- [Turso](https://turso.tech/pricing)

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

- [Xata](https://xata.io/pricing)

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

- [Cockroach Labs](https://www.cockroachlabs.com/pricing/)

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

Thank you all and please share if you know any providers that are not very known or new
Sink - A short link system based on Cloudflare with visit statistics
Tags: cloudflare, worker, opensource
Published: 2024-07-06 11:58:21

---
title: Sink - A short link system based on Cloudflare with visit statistics
published: true
date: 2024-06-04 02:33:44 UTC
tags: cloudflare, worker, opensource
canonical_url: https://chi.miantiao.me/posts/sink/
---

I previously shared some websites on [Twitter](https://x.com/xkaibi) using short links to make it easier to see if people are interested. Among these link shortening systems, Dub provides the best user experience, but it has a fatal flaw: once the monthly clicks exceed 1000, you can no longer view the statistics.

While surfing the internet at home during the Qingming Festival, I discovered that [Cloudflare Workers Analytics Engine](https://developers.cloudflare.com/analytics/analytics-engine/) supports data writing and API data querying. So, I created an MVP version myself, capable of handling statistics for up to 3,000,000 visits per month. Cloudflare's backend likely uses Clickhouse, so performance shouldn't be a significant issue.

During the Labor Day holiday, I improved the frontend UI at home and used it for about half a month, finding it satisfactory. I have open-sourced it for everyone to use.

## Features

- Link shortening
- Visit statistics
- Serverless deployment
- Custom Slug
- 🪄 AI-generated Slug
- Link expiration

## Demo

[Sink.Cool](https://sink.cool/dashboard)

Site Token: `SinkCool`

### Site-wide Analysis

![Site-wide Analysis](https://static.miantiao.me/share/CBuVes/sink.cool_dashboard.png)

<details>
  <summary><b>Link Management</b></summary>
  <img alt="Link Management" src="https://static.miantiao.me/share/uQVX7Q/sink.cool_dashboard_links.png"/>
</details>


<details>
  <summary><b>Individual Link Analysis</b></summary>
  <img alt="Individual Link Analysis" src="https://static.miantiao.me/share/WfyCXT/sink.cool_dashboard_link_slug=0.png"/>
</details>

## Open Source

[![ccbikai/sink - GitHub](https://github.html.zone/ccbikai/sink)](https://github.com/ccbikai/sink)

## Roadmap (WIP)

- Browser extension
- Raycast extension
- Apple Shortcuts
- Enhanced link management (based on Cloudflare D1)
- Enhanced analysis (support filtering)
- Panel performance optimization (support infinite loading)
- Support for other platforms (maybe)

---

Finally, feel free to follow me on [Twitter](https://x.com/xkaibi) for updates on development progress and to share some web development news.
Creating a Linux Virtual Machine with Ubuntu Server using Password Authentication.
Tags: linux, azure, vm
Published: 2024-06-04 02:23:31

In the portal, search for Virtual Machine

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

Select Create

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

Select Azure Virtual machine

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

Select Resource Group

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

Enter Virtual machine name

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

Select image as Ubuntu Server

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

Select Adminstration Type to be Password

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

Enter Username and password

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

Select Allow selected ports for Public inbound ports

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

Select inbound ports

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

Go to Monitoring Tab

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

Disable Diagnostics

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

Go to Tag tab and add a name and value

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

Select Review + Create, confirm validation and select create

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

Go to Resource and select IP address

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


Increase the timeout to your preferred time and save your changes

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


Open PowerShell on your local computer

Enter "ssh, your username and your VM IP address" and click Enter

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

It will ask if you want to continue, type "yes"

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

Type your password - Note, Linux will not display your password as you type it.

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

Then you will get connected to your Virtual machine.
Tab Style Help
Tags: scss, angular, tab, material
Published: 2024-06-04 02:23:02

Goodnight. trying to change the color of my TAB label. I'm trying to follow the tutorials I see on the internet, but without success. They all look like the code below (my scss file):


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

In reality I want to modify the entire style of all tabs, but all attempts have failed so far. In the tutorials it is successful but in my code I am not successful. Where am I going wrong? (Below the component that is "mat-tab-group")


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j8e2pq9cr4ib8hzs9fe3.png)
Multiple Cloud Build Triggers in One Github Repo
Tags: cloudbuild, github, googlecloud, devops
Published: 2024-06-04 02:20:32

So I recently wrote [a post](https://dev.to/charlottetowell/cloud-build-setup-with-private-github-repos-and-submodules-k4g) about setting up Cloud Build when using private Github repos and submodules.

Since creating this deployment pipeline between Github and Google Cloud Functions, it's been much easier to push updates as well as maintaining an organised coding environment.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oeq9s1bcj1rb14ae4ip3.gif)
^^ me writing code and deploying it really fast


A limitiation with the way I set up this pipeline is that it would deploy the entire github repo to the cloud function. Not terrible - encouragement to keep our code base clean and to ensure each repo is being used for its respective purpose. 😅

Or at least that's what I told myself to mark it as an issue for later. Only that later is now. 

### But wait, it's easy!

Turns out making a small adjustment so that not only can you deploy just the files you want, but that you can have multiple triggers within the same repo is super easy to do! Here's how -


## First - Folderise
Did I just invent that word? Yes. 
First step is to reorganise your github repo hosting the source code for multiple cloud functions into folders for each function. Any common functions or files, keep outside or create a common folder.


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


## Next - Create Cloud Build Config Files
For each subfolder containing source code to deploy, create a separate `cloudbuild.yaml` file in each folder.

There are two things to do so the Cloud Build file knows what to deploy:

**1. Copy Common Files**

If you are using any common folders or files like me, add a step to copy any files/folders from the parent repo into the subfolder.

```
- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
  entrypoint: 'bash'
  dir: 'subfolder1'
  args:
  - -c
  - |
    cp -r ../submodule ./
    cp ../requirements.txt ./
```

**2. Set directory**

For your deployment step, set the directory to the relevant subfolder so that only files within will be included in the deployment using the `dir` tag.
```
- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'  # Cloud SDK container
  dir: 'subfolder1'
  args:
  - gcloud
  - functions
  - deploy
etc
```

<br>

## Finally - Create Cloud Build triggers

Create a trigger for each subfolder set up within your repo. Key points are:
* Choose 'Cloud Build configuration file (YAML or JSON)' as the configuration type and set to the correct file within subfolder
* Add in 'subfolder/*' for included files so deployments are only triggered when something in the relevant subfolder is updated

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

## And done!

The end result is being able to use a single github repo to host multiple Cloud Functions with their respective Cloud Build triggers set up for easy deployment.
Welcome to my Blog
Tags: beginners, webdev, career, javascript
Published: 2024-06-04 02:17:32

Hey there!

I'm excited to kick off this blog and share a bit about myself and my journey so far. My name is Jay Ganatra, and I recently graduated with a Master’s in Computer Science from Syracuse University. It's been an incredible journey, and now, I’m on the lookout for full-time roles in the tech industry.

In the meantime, I thought it would be a great idea to stay active and keep my skills sharp by regularly blogging about what I’ve been up to. Whether it's a new project I’m working on, a fascinating article I’ve read, or just some musings on the latest in tech, you’ll find it all here.

I’m really passionate about web development, particularly using React, Next.js and AWS. I’m also currently diving into .NET Core, and I can’t wait to explore these topics more deeply. I hope this blog will be a place for learning, sharing, and maybe even a bit of fun along the way.

Feel free to check out [my personal website](https://jayganatra.com) where you can find more about my work, projects, and contact information. This post is also available on my portfolio blog, so be sure to visit there for more updates and insights.

Thanks for stopping by, and I look forward to sharing my journey with you!

Stay tuned!



Photo by <a href="https://unsplash.com/@helloimnik?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash">Nik</a> on <a href="https://unsplash.com/photos/right-arrow-sign-on-wall-MAgPyHRO0AA?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash">Unsplash</a>
Getting Started with Wasmer (WebAssembly Runtime) in Python
Published: 2024-06-04 02:16:24

This tutorial will guide you through the process of getting started with Wasmer, a WebAssembly runtime for Python. Wasmer allows you to run WebAssembly modules securely and efficiently in your Python applications.

## Installation

To begin, you need to install the wasmer Python package and the wasmer_compiler_cranelift compiler. Open your terminal and run the following command:

```
pip install wasmer wasmer_compiler_cranelift
```

## Usage

Let's dive into a simple example that demonstrates how to use Wasmer to execute a WebAssembly module in Python:

```
from wasmer import engine, Store, Module, Instance

# Create a store to hold our WebAssembly module
store = Store()

# Compile the WebAssembly module
module = Module(store, """
(module
  (type (func (param i32 i32) (result i32)))
  (func (export "sum") (type 0) (param i32) (param i32) (result i32)
    local.get 0
    local.get 1
    i32.add))
""")

# Instantiate the compiled module
instance = Instance(module)

# Call the exported `sum` function with arguments
result = instance.exports.sum(5, 37)

# Print the result
print(result)  # Output: 42
```

Save the above code in a file (e.g., simple.py) and run it using the following command:

```
python simple.py
```

The example demonstrates how to compile a WebAssembly module and execute a function from it using Wasmer. The sum function takes two integers as parameters and returns their sum. In this case, it adds 5 and 37, resulting in 42.

## Additional Resources

To explore more examples and learn about advanced features, refer to the official documentation provided with the Wasmer package. The documentation is packed with detailed explanations and additional code samples to help you understand and utilize Wasmer effectively.

You can also join the Wasmer Slack community and participate in the #python channel to connect with other developers, ask questions, and get support.

Remember to check PyPI for the latest version of the Wasmer Python package and download statistics.

## Conclusion

Congratulations! You have completed the tutorial and learned how to use the Wasmer runtime to execute WebAssembly modules in Python. You can now start exploring more complex WebAssembly applications and use cases.

Happy coding with Wasmer and Python!
Install Redis on Windows in 2 Minutes
Published: 2024-06-04 02:15:41

Redis, a powerful open-source in-memory data store, is widely used for various applications. While Redis is often associated with Linux, you can also run it on Windows 10 using the Windows Subsystem for Linux (WSL2). This compatibility layer allows you to execute Linux commands natively on Windows, providing a seamless environment for running Redis. 

Here's a step-by-step guide on how to set up and run Redis on Windows 10 using WSL2:

## Step 1: Enable Windows Subsystem for Linux (WSL2)

Open PowerShell as Administrator and run the following command to enable WSL2:

```
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
```

Reboot your system (this step is necessary only once).

## Step 2: Install Ubuntu from Microsoft Store

Launch the Microsoft Store. Search for "Ubuntu" or your preferred Linux distribution. Download and install the latest version of Ubuntu.

## Step 3: Install and Configure Redis

Launch the installed Ubuntu distribution. In the terminal, execute the following commands:

```
sudo apt-add-repository ppa:redislabs/redis
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install redis-server
```

Note: The sudo command might be required based on your system's user configuration.

## Step 4: Restart Redis Server

After installation, restart the Redis server using:


```
sudo service redis-server restart
```

## Step 5: Verify Redis Installation

Test the Redis connectivity using the redis-cli command:

```
redis-cli
```

Inside the Redis CLI, execute the following commands:


```
127.0.0.1:6379> set user:1 "Jane"
127.0.0.1:6379> get user:1
```

You should see "Jane" as the output.

## Step 6: Stopping the Redis Server

To stop the Redis server, use the following command:

```
sudo service redis-server stop
```

Running Redis on Windows 10 through WSL2 provides you with a Linux-like environment where you can harness the full power of Redis for your projects. Remember that while Redis databases by default have indexes from 0 to 15, you can adjust this configuration as needed in the redis.conf file.

By following these steps, you can easily set up and run a Redis database on your Windows 10 machine using the Windows Subsystem for Linux. This enables you to leverage Redis for various applications and projects seamlessly.
Embarking on My Coding Journey
Tags: beginners, programming, productivity, learning
Published: 2024-06-04 01:42:09

Hey Dev.to community and readers,

My name is William, and I am excited to share my first post on here. I am writing this blog to document my journey to becoming a software engineer. 

**Background**

I am a third-year Computer Science major at York University. This year has been particularly exciting because I finally got accepted into the co-op program. Joining this program is a significant milestone in my academic journey, and my primary goal is to immerse myself in learning various tools, languages, and technologies. By expanding my skill set and gaining practical experience, I aim to secure my first co-op work term and build a strong foundation for my future career in computer science.

**Purpose**

The purpose of this blog is to:
•	Share my learning experiences
•	Document my journey
•	Hold myself accountable
•	Connect with fellow students and aspiring software engineers

**Why I chose to study computer science**

Growing up and see all the technology help us in our day to day lives I knew it was something I want to pursue a career in. The idea of creating something with only line of code and readily accessible to anyone with a computer and an internet connection.

In high school, I was first introduced to programming through a course on C#. Learning C# was a transformative experience for me. The structured syntax and logical flow of the language made it an ideal starting point. I had a lot of fun learning and experimenting with different projects. From creating simple applications to developing basic games, each new project was a learning opportunity that deepened my understanding and appreciation for coding. The sense of accomplishment I felt after successfully completing a project was incredibly rewarding and solidified my decision to pursue computer science further.

**Current Progress**

From the month of May I have coded everyday from learning to building out personal projects which I hope to share in my future posts. So, this month I plan to take it a step further share what I have learned and a reminder for the step I’ve taken for myself.

**Goals for This Month**

My goals for this month are:
•	Continue learning Python and SQL
•	Start developing a portfolio website
•	Add more project under my belt
•       Grind leetcode
•	Refining my use of power bi

**Conclusion**

Thank you for taking the time to read my first blog post. I’m exciting to start this next chapter in my life. Feel free to connect with me on [Linkedin](https://www.linkedin.com/in/william-nguyen-503683283/), I would love to hear your thoughts.
Higher Order Components (HOC) React
Published: 2024-06-04 01:35:28

```JS
const UpdatedComponent = (OriginalComponent) => {
    class NewComponent extends React.Component {
        constructor(){
            this.state = {
                ...
            }
        }
        render(){
            return(
                <OriginalComponent  props/>
            );
        }
    }
    return NewComponent;
};




class OGComponent extends React.Component{
    ...
    //available via (this.props..)
}

export default UpdatedComponent(OGComponent);
```