Skip to content

Instantly share code, notes, and snippets.

@nightuser
nightuser / nh.nix
Created July 21, 2026 15:14
NH module for nix-darwin
# Based on:
# * https://github.com/NixOS/nixpkgs/blob/nixos-26.05/nixos/modules/programs/nh.nix
# * https://github.com/nix-community/home-manager/blob/release-26.05/modules/programs/nh.nix
# * https://github.com/nix-darwin/nix-darwin/blob/nix-darwin-26.05/modules/services/nix-gc/default.nix
{
config,
lib,
pkgs,
modulesPath,
...
@nightuser
nightuser / aoc23_day13.py
Created December 13, 2023 14:24
AoC 2023 Day 13
import sys
from typing import Optional
def dist(xs: list[str], i: int, k: int) -> int:
return sum(c1 != c2 for c1, c2 in zip(xs[i + k], xs[i - k - 1], strict=True))
def weak_palindromes(xs: list[str]) -> list[tuple[int, Optional[int]]]:
left = 0
@nightuser
nightuser / Makefile
Last active June 14, 2024 15:07
Simple C++ Makefile
BIN = main
CXXFLAGS = -Wall -Wextra -std=c++20
CPPFLAGS = -MMD
SRCS = $(wildcard *.cc)
OBJS = $(SRCS:.cc=.o)
DEPS = $(SRCS:.cc=.d)
LINK.o = $(CXX) $(LDFLAGS) $(TARGET_ARCH)
.PHONY: all
@nightuser
nightuser / AdjustableClock.java
Last active November 28, 2023 11:36
Java Adjustable Clock
package fun.nightuser;
import java.time.Clock;
import java.time.Duration;
import java.time.Instant;
import java.time.ZoneId;
import java.time.ZoneOffset;
public class AdjustableClock extends Clock {
private Clock fixedClock;
@nightuser
nightuser / optional_deps.py
Created April 14, 2022 16:37
Gentoo: list optional dependencies for installed packages
#!/usr/bin/env python3
import re
import portage
import shlex
optfeature_re = re.compile(r'optfeature\s+(.*)$')
packages = portage.db[portage.root]['vartree'].dbapi.cpv_all()
@nightuser
nightuser / use_existing_session.patch
Last active July 7, 2026 00:08
Use existing Xorg session for chrome-remote-desktop
Add an option to use the existing Xorg session with
chrome-remote-desktop.
The original idea of the patch: https://superuser.com/a/850359
--- a/chrome-remote-desktop 2024-03-27 16:03:20.518579015 +0000
+++ b/chrome-remote-desktop 2024-03-27 16:17:58.241912847 +0000
@@ -110,6 +110,8 @@
X_LOCK_FILE_TEMPLATE = "/tmp/.X%d-lock"
FIRST_X_DISPLAY_NUMBER = 20
@nightuser
nightuser / main.cpp
Last active March 21, 2016 00:34
Incomplete long arithmetics
#include <algorithm>
#include <iostream>
#include <vector>
#include <csignal>
using std::cout;
using std::endl;
using vint = std::vector<int>;
int const kBase = 100;
@nightuser
nightuser / wiener.py
Created May 25, 2015 21:10
HW05: Wiener process
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import bisect
import numpy as np
from functools import total_ordering
from numpy.random import normal
from pylab import *
@nightuser
nightuser / hw04.py
Last active August 29, 2015 14:21
HW04: Convex polygon with random order
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import numpy as np
from functools import cmp_to_key
from pylab import *
from scipy import stats
def standard_simplex_draw_point(n):
@nightuser
nightuser / test1.py
Last active August 29, 2015 14:18
Sympy bad performance with polynomials
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import numpy as np
from sympy import Poly, Symbol
from scipy.signal import fftconvolve
x = Symbol('x')
k = 19937