Skip to content

Instantly share code, notes, and snippets.

View arunavo4's full-sized avatar
馃彔
Working from home

ARUNAVO RAY arunavo4

馃彔
Working from home
View GitHub Profile
@arunavo4
arunavo4 / ios-font-sizes.swift
Created September 21, 2025 14:25 — forked from zacwest/ios-font-sizes.swift
iOS default font sizes - also available on https://www.iosfontsizes.com
let styles: [UIFont.TextStyle] = [
// iOS 17
.extraLargeTitle, .extraLargeTitle2,
// iOS 11
.largeTitle,
// iOS 9
.title1, .title2, .title3, .callout,
// iOS 7
.headline, .subheadline, .body, .footnote, .caption1, .caption2,
]
@arunavo4
arunavo4 / gist:731c00ef19c5da0910c81f8da031571d
Last active September 21, 2025 13:40
Guide to Swift Charts
***
# The Complete Guide to Swift Charts
Swift Charts is a powerful and declarative framework for creating a wide variety of charts to visualize data and mathematical functions in your apps. This guide combines foundational knowledge from its introduction with advanced features like pie charts, interactivity, function plots, and high-performance vectorized plots.
## Table of Contents
1. [Introduction to Swift Charts](#1-introduction-to-swift-charts)
2. [Core Concepts: Marks and Composition](#2-core-concepts-marks-and-composition)
3. [Data Types in Swift Charts](#3-data-types-in-swift-charts)
@arunavo4
arunavo4 / gist:8eedb035ce6565cbc74038537a57a6d7
Last active September 21, 2025 10:41
Toolbar search Swift UI iOS 26
//
// TestView.swift
//
// Created by Arunavo Ray on 21/09/25.
//
import SwiftUI
struct TestView: View {
@State private var searchText = ""
@arunavo4
arunavo4 / global.css
Created February 27, 2025 07:36
Custom global.css working with tailwind v4 intellisense
@import 'tailwindcss';
/*
---break---
*/
@plugin 'tailwindcss-animate';
/*
---break---
*/
@plugin 'tailwind-scrollbar';
/*

How to setup Plex with Sonarr, Radarr, Jackett, Overseerr and qBitTorrent using Docker

Before continuing: This guide is currently outdated but I'm working on a new one with upgrading steps included. I'll link it here once it's finished :)

This is a guide that will show you how to setup Plex Media Server with Sonarr, Radarr, Jackett, Overseerr and qBitTorrent with Docker. It is written for Ubuntu 20.04 but should work on other Linux distributions as well (considering supported distributions by Docker). It is also written for people who have some experience with Linux and Docker. If you are new to Docker, I recommend you to read the Docker documentation, and if you are new to Linux, I recommend you to read the Ubuntu documentation.

Now, let's get started!

Please note: This guide was written without considering hardlinking for Sonarr/Radarr. If you want to use hardlinking refer to #Hardlinking

@arunavo4
arunavo4 / Dockerfile
Created September 16, 2024 04:26
Reduce Next.js Docker Image Size
FROM node:20-alpine AS deps
COPY package*.json ./
RUN npm ci
FROM node:20-alpine AS builder
COPY . .
COPY --from=deps /node_modules ./node_modules
@arunavo4
arunavo4 / fishy-domains.txt
Created July 28, 2024 02:50
Fishy Domains List - Use this to block new users from creating new accounts
This file has been truncated, but you can view the full file.
skiff.com
0-mail.com
027168.com
0815.ru
0815.ry
0815.su
0845.ru
0box.eu
0clickemail.com
0n0ff.net
@arunavo4
arunavo4 / n8n-caddy-aci.yaml
Created April 2, 2024 14:19
n8n integration on Azure Container Instances protected with Caddy
apiVersion: '2019-12-01'
location: westeurope
name: n8n-2020-caddy-262-aci
properties:
containers:
- name: n8n-2020-aci
properties:
environmentVariables: []
image: docker.io/n8nio/n8n:0.202.0
ports:
@arunavo4
arunavo4 / index.html
Created November 5, 2021 15:06
Particles
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>ParticleSlider</title>
</head>
<body id="particle-slider">
<div class="slides">
<div id="first-slide" class="slide" data-src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3MjUiIGhlaWdodD0iMTU2IiB2aWV3Qm94PSIwIDAgNzI1IDE1NiI+CiAgPHRleHQgaWQ9Ik1BTklGT0xEIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDEyOSkiIGZpbGw9IiMwMGZmM2MiIGZvbnQtc2l6ZT0iMTUwIiBmb250LWZhbWlseT0iT0NSQUV4dGVuZGVkLCBPQ1IgQSI+PHRzcGFuIHg9IjAiIHk9IjAiPk1BTkk8L3RzcGFuPjx0c3BhbiB5PSIwIiBmaWxsPSIjZmZmIj5GT0xEPC90c3Bhbj48L3RleHQ+Cjwvc3ZnPg==">
</div>
</div>
import android.app.Application
import androidx.databinding.Observable
import androidx.databinding.PropertyChangeRegistry
import androidx.lifecycle.AndroidViewModel
abstract class ObservableViewModel(app: Application): AndroidViewModel(app), Observable {
@delegate:Transient
private val mCallBacks: PropertyChangeRegistry by lazy { PropertyChangeRegistry() }