Skip to content

Instantly share code, notes, and snippets.

View azuline's full-sized avatar

acid angel from asia azuline

View GitHub Profile
@pudquick
pudquick / brew.md
Last active May 5, 2025 21:30
Lightly "sandboxed" homebrew on macOS

brew is a bad neighbor

This isn't a guide about locking down homebrew so that it can't touch the rest of your system security-wise.

This guide doesn't fix the inherent security issues of a package management system that will literally yell at you if you try to do something about "huh, maybe it's not great my executables are writeable by my account without requiring authorization first".

But it absolutely is a guide about shoving it into its own little corner so that you can take it or leave it as you see fit, instead of just letting the project do what it likes like completely taking over permissions and ownership of a directory that might be in use by other software on your Mac and stomping all over their contents.

By following this guide you will:

  • Never have to run sudo to forcefully change permissions of some directory to be owned by your account
@getify
getify / 1-CalendarItem.js
Last active March 21, 2024 09:11
an illustration (non-trivial example) of many newer JS class features
// abstract class, not intended to be instantiated directly
class CalendarItem {
static #UNSET = Symbol("unset")
static #isUnset(v) {
return v === this.#UNSET;
}
static {
for (let [idx,msg] of [
"ID is already set.",
"ID is unset.",
@Widdershin
Widdershin / ssr.md
Last active May 1, 2024 17:36
The absurd complexity of server-side rendering

In the olden days, HTML was prepared by the server, and JavaScript was little more than a garnish, considered by some to have a soapy taste.

After a fashion, it was decided that sometimes our HTML is best rendered by JavaScript, running in a user's browser. While some would decry this new-found intimacy, the age of interactivity had begun.

But all was not right in the world. Somewhere along the way, we had slipped. Our pages went uncrawled by Bing, time to first meaningful paint grew faster than npm, and it became clear: something must be done.

And so it was decided that the applications first forged for the browser would also run on the server. We would render our HTML using the same logic on the server and the browser, and reap the advantages of both worlds. In a confusing series of events a name for this approach was agreed upon: Server-side rendering. What could go wrong?

In dark rooms, in hushed tones, we speak of colours.

{"version":1,"resource":"file:///Users/harvemx1/Code/personal/packages/kich/src/theme/stitches.config.tsx","entries":[{"id":"DuKS.tsx","source":"renamed.source","timestamp":1650577174650},{"id":"OmMa.tsx","timestamp":1650658199360},{"id":"XFvl.tsx","timestamp":1650660453246},{"id":"tpdo.tsx","timestamp":1654184591842},{"id":"g6z5.tsx","timestamp":1654184612978},{"id":"EwbC.tsx","timestamp":1654184631281},{"id":"wFwy.tsx","timestamp":1654184719272},{"id":"zL64.tsx","timestamp":1654184737705},{"id":"upej.tsx","timestamp":1654184793455},{"id":"Hcvs.tsx","timestamp":1654184810982},{"id":"VQaP.tsx","timestamp":1654185234586},{"id":"k6O6.tsx","source":"undoRedo.source","timestamp":1654185241044},{"id":"SRuy.tsx","timestamp":1654185352914},{"id":"xTdO.tsx","timestamp":1654185381677},{"id":"WFRh.tsx","timestamp":1654185417839},{"id":"2czN.tsx","timestamp":1654185448099},{"id":"m6Ji.tsx","timestamp":1654185615668},{"id":"qbwE.tsx","timestamp":1654185637767},{"id":"3S1s.tsx","timestamp":1654186056421},{"id":"IMUH.tsx",
@matthewsimo
matthewsimo / ExampleUsage.tsx
Last active September 9, 2023 14:01
Help Storybook properly handle the relevant Stitches variants & props
import type * as Stitches from "@stitches/react";
import { modifyVariantsForStory } from "../../../.storybook/type-utils";
import { styled } from "../../stitches.config";
const Example = styles("div", {
// ...
});
export default Example;
@bitonic
bitonic / configuration.nix
Last active August 20, 2025 22:59
NixOS configuration for a remote ZFS server on Hetzner
# Full NixOS configuration for a ZFS server with full disk encryption hosted on Hetzner.
# See <https://mazzo.li/posts/hetzner-zfs.html> for more information.
{ config, pkgs, ... }:
let
# Deployment-specific parameters -- you need to fill these in where the ... are
hostName = "...";
publicKey = "...";
# From `ls -lh /dev/disk/by-id`
@rain-1
rain-1 / IRC.md
Created September 11, 2021 18:14
why we use IRC nodes

Why is IRC distributed across multiple servers?

I have been wondering for a long time why IRC networks have multiple servers. Wouldn't it be simpler just to use a single server?

One of the problems of having multiple servers is that netsplits can occur. Anybody who has been on IRC for a while will have witnessed one. Hundreds of people suddenly ripped out of the chat. This can also screw up channel and user modes, and 'some people' have been known to wait for netsplits in order to takeover channels or enter password protected channels.

So lets compare situation (A) a single IRC server everyone connects to with the current setup people use (B) multiple servers. Let's say you run an IRC network with u = 40,000 users and n = 20 server nodes that people connect to via round robin DNS (meaning that when people resolve the DNS it gives them a random server from the set of 20 to connect to). These are vaguely realistic numbers modelled after libera.chat.

So in (B) you have roughly u/n = 2000 clients connected

@vivshaw
vivshaw / README.md
Last active November 4, 2025 10:37
🙈🙉🙊 Three Wise Monkeys 🙈🙉🙊
@walkermalling
walkermalling / luks-encrypted-root-on-nixos.org
Last active April 5, 2025 13:06
Nix Setup with LUKS encrypted root

Setting up NixOs with LUKS encrypted root

Here are my working notes on getting a system up and running.

WARNING: You can run into a hidden problem that will prevent a correct partition setup and /etc/nixos/configuration.nix from working: if you are setting up a UEFI system, then you need to make sure you boot into the NixOS installation from the UEFI partition of the bootable media. You may have to enter your BIOS boot selection menu to verify this. For example, if you setup a NixOS installer image on a flash drive, your BIOS menu may display several boot options from that flash drive: choose the one explicitly labeled with “UEFI”.

References

I used these resources:

@ar-nelson
ar-nelson / figma-mouse-wheel.user.js
Created August 20, 2019 17:44
Greasemonkey script to fix slow Figma mouse wheel scrolling in Firefox on Linux
// ==UserScript==
// @name Figma Mouse Wheel Speed Fix
// @namespace https://adam.nels.onl
// @match https://www.figma.com/*
// @grant none
// ==/UserScript==
// Mouse wheel scrolling in Figma on Firefox + Linux is unbearably slow.
//
// This script catches all mouse wheel events on the main canvas,