Skip to content

Instantly share code, notes, and snippets.

@vanGalilea
vanGalilea / Confetti.tsx
Created November 20, 2025 09:39
A fully custom, physics-driven confetti engine for React Native + Expo, built with Reanimated + SVG. 8 shapes, randomized trajectories, gravity simulation, peak arcs, opacity fades. Everything you need to instantly upgrade your success screens with joyful, performant confetti.
import React, { useEffect } from "react";
import { Dimensions, View } from "react-native";
import Animated, {
Easing,
useAnimatedStyle,
useSharedValue,
withDelay,
withSequence,
withTiming,
} from "react-native-reanimated";
import { ThemedText } from "@/components/themed-text";
import { BottomSheet, Button, Host, Slider } from "@expo/ui/swift-ui";
import { frame, offset } from "@expo/ui/swift-ui/modifiers";
import { Canvas, Fill, Shader, Skia, vec } from "@shopify/react-native-skia";
import { useState } from "react";
import {
PlatformColor,
StyleSheet,
useWindowDimensions,
View,
@dougg0k
dougg0k / REACT_NATIVE_SECURITY.md
Last active January 15, 2026 14:08
React Native Security - this compilation were initially built upon a help request about security for a banking app.

Obfuscate code helps.

@arch1t3cht
arch1t3cht / video_noob_guide.md
Last active January 24, 2026 04:52
What you NEED to know before touching a video file

What you NEED to Know Before Touching a Video File

Hanging out in subtitling and video re-editing communities, I see my fair share of novice video editors and video encoders, and see plenty of them make the classic beginner mistakes when it comes to working with videos. A man can only read "Use Handbrake to convert your mkv to an mp4 :)" so many times before losing it, so I am writing this article to channel the resulting psychic damage into something productive.

If you are new to working with videos (or, let's face it, even if you aren't), please read through this guide to avoid making mistakes that can cost you lots of computing power, storage space, or video quality.

@efstathiosntonas
efstathiosntonas / <appname>.Bridging-Header.h
Last active December 12, 2025 12:57
Lottie as a react-native bootsplash
//
// <appname>-Bridging-Header.h <----- replace the app name with your app's name
// <appname>
//
// Created by Efstathios Ntonas on 2/2/24.
//
#ifndef <appname>_Bridging_Header_h
#define <appname>_Bridging_Header_h
@hirbod
hirbod / metro.config.js
Created May 1, 2025 19:02
Expo SDK 53, New Arch, Metro Config with Crypto support
const { getSentryExpoConfig } = require('@sentry/react-native/metro')
const { withNativeWind } = require('nativewind/metro')
const path = require('path')
const config = getSentryExpoConfig(__dirname)
config.transformer.getTransformOptions = async () => ({
transform: {
experimentalImportSupport: true,
inlineRequires: true,
@Kudo
Kudo / android+e595dc4a98abafdbbb9eb9979064bb34.patch
Created February 17, 2024 05:38
Customize User-Agent for Expo
diff --git a/android/app/src/main/java/dev/expo/kudo/sdk50/MainApplication.kt b/android/app/src/main/java/dev/expo/kudo/sdk50/MainApplication.kt
index e9a2f7a..fbf9aae 100644
--- a/android/app/src/main/java/dev/expo/kudo/sdk50/MainApplication.kt
+++ b/android/app/src/main/java/dev/expo/kudo/sdk50/MainApplication.kt
@@ -14,10 +14,12 @@ import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load
import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost
import com.facebook.react.defaults.DefaultReactNativeHost
import com.facebook.react.flipper.ReactNativeFlipper
+import com.facebook.react.modules.network.OkHttpClientProvider
import com.facebook.soloader.SoLoader
@kconner
kconner / macOS Internals.md
Last active January 21, 2026 01:06
macOS Internals

macOS Internals

Understand your Mac and iPhone more deeply by tracing the evolution of Mac OS X from prelease to Swift. John Siracusa delivers the details.

Starting Points

How to use this gist

You've got two main options:

How to make a small tweak to free software

The target audience for this is people who are beginners at software engineering and using linux. A lot of the information here may be obvious or already known to you. The language involved is C but you do not need to know any C to read this tutorial. I used mg to write this blog post. I used vs code to edit the source code.

This post is also available on gopher://tilde.team:70/0/~river/tweak-free-software

If you use a piece of free software and it's 99% perfect but there's just this one thing it does that annoys the hell out of you.. you can in theory just fix it! Here's a look at what doing that is like. Hopefully it inspires you, or you pick up a could tricks on the way!

Step 0: Have a problem

@sm-Fifteen
sm-Fifteen / whats_a_yubikey.md
Last active December 9, 2025 20:29
"What the heck is a Yubikey and why did I buy one?": A user guide

"What the heck is a Yubikey and why did I buy one?": A user guide

(EDIT: Besides Reddit, I've also put this up on Github Gist)

So while looking for information on security keys before getting one myself, I got very confused reading about all the different modes and advertised features of Yubikeys and other similar dongles. The official documentation tends to be surprisingly convoluted at times, weirdly organized and oddly shy about a few of the limitations of these keys (which I'm making a point of putting front and center). Now that I have one, I decided to write down everything I figured out in order to help myself (and hopefully some other people reading this) make sense of all this.

Since I'm partly writing these notes for myself, there might be some back and forth between "exp