Skip to content

Instantly share code, notes, and snippets.

View NostraDavid's full-sized avatar
🏠
Working from home

NostraDavid NostraDavid

🏠
Working from home
View GitHub Profile

Keybase proof

I hereby claim:

  • I am NostraDavid on github.
  • I am nostradavid (https://keybase.io/nostradavid) on keybase.
  • I have a public key whose fingerprint is 5AEA 91DF 666B 3268 4241 D4DC FC33 A3D8 FF8D D06F

To claim this, I am signing this object:

<!-- This is a collection of HTML used in the HTML (5) Standard: https://html.spec.whatwg.org/ -->
<!DOCTYPE html>
<html lang=en>
<head>
<title>Test document</title>
<base href=http://www.example.com/news/index.html target=_self />
<!-- target="_blank|_self|_parent|_top|framename -->
<meta charset=utf-8>
<meta name=viewport content="width=device-width, initial-scale=1.0">
@NostraDavid
NostraDavid / kleur.py
Last active November 25, 2020 09:24
Kleur.py, but its based on kleur.lua
import doctest
def kleur(h: float):
"""
This is a hue function that converts a float in the range of [0-1] to a string
Behold! The Doctest!
>>> kleur(0.598)
@NostraDavid
NostraDavid / invsqrt.c
Created December 30, 2020 09:45
Inverse Square Root by Greg Walsh
float invSqrt(float x)
{
union {
float x;
int i;
} u;
float xhalf = 0.5f * x;
u.x = x;
u.i = 0x5f3759df - (u.i >> 1);
@NostraDavid
NostraDavid / warcraft-credits.csv
Created July 24, 2021 21:09
Table of Warcraft 1,2,3,TFT and Vanilla WoW Credits
We can make this file beautiful and searchable if this error is corrected: No commas found in this CSV file in line 0.
Insert Order Warcraft version Subtitle Role Person
1 1 Orcs & Humans Executive Producer Allen Adham
2 1 Orcs & Humans Producer Patrick Wyatt
3 1 Orcs & Humans Programmer Patrick Wyatt
4 1 Orcs & Humans Programmer Bob Fitch
5 1 Orcs & Humans Programmer Mike Morhaime
6 1 Orcs & Humans Programmer Jesse McReynolds
7 1 Orcs & Humans Artist Stuart Rose
8 1 Orcs & Humans Artist Samwise Didier
9 1 Orcs & Humans Artist Ron Millar
@NostraDavid
NostraDavid / pre-commit-config.yaml
Created December 22, 2021 13:32
A basic pre-commit config
---
repos:
# update the rev versions with a `pre-commit autoupdate`
- repo: https://github.com/asottile/pyupgrade
rev: v2.29.1
hooks:
- id: pyupgrade
args: [--py39-plus]
- repo: https://github.com/myint/autoflake
rev: v1.4
@NostraDavid
NostraDavid / .gitignore
Last active December 23, 2021 14:24
Whitelisting gitignore, instead of the default blacklisting.
# ignore all root items, not recursively
/*
# whitelist dirs
!docs
!example_data
!requirements
!src
!tests
# Note that the "# %%" thing is from Jupyter Notebooks, which should be supported by vscode by default :)
# Just run the code with the "run code" button that pops up right above the "# %%"
# %%
import functools
from typing import Callable
ComposableFunction = Callable[[float], float]
def compose(*functions: ComposableFunction) -> ComposableFunction:
@NostraDavid
NostraDavid / export_chatgpt.js
Created April 3, 2023 19:44
Save this as a bookmark. Go to a ChatGPT chat. Click the bookmark to export the file, with the UUID and Chat Title in the filename
javascript: (() => {let output = "";const es = document.querySelectorAll("[class*='min-h-[20px]']");const today = `${new Date().toISOString().slice(0, 19)}Z`;output += `---\ndate: "${today}"\n---\n#\n%60;for (let i = 0; i < es.length; i++) {const first = es[i].firstChild;if (!first) continue;if (first.nodeType === Node.TEXT_NODE) {let lines = first.textContent.split("\n"); for (let i = 0; i < lines.length; i++) {const line = lines[i];output += %60\n> ${line}%60;}output += %60\n%60;}if (first.nodeType === Node.ELEMENT_NODE) {const childNodes = first.childNodes;for (let j = 0; j < childNodes.length; j++) {const childNode = childNodes[j];if (childNode.nodeType === Node.ELEMENT_NODE) {let tagName = childNode.tagName;let textContent = childNode.textContent;switch (tagName) {case "P":output += %60\n${textContent}%60;break;case "OL":output += %60\n%60;childNode.childNodes.forEach((el, index) => {if (el.nodeType === Node.ELEMENT_NODE && el.tagName === "LI") {output += %60${index + 1}. ${el.textContent}\n%60;}});break
@NostraDavid
NostraDavid / debian_12_setup.sh
Created June 21, 2023 19:26
Debian 12 setup
# in Terminal
sudo --login
# as su
usermod -aG sudo david
# ctrl-d
# reboot
# back in terminal
sudo apt install flatpak
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo