Skip to content

Instantly share code, notes, and snippets.

View Reedbeta's full-sized avatar

Nathan Reed Reedbeta

View GitHub Profile
@Reedbeta
Reedbeta / disband-spd.md
Created June 6, 2020 22:54
Letter to Seattle City Council members

Dear Council Members,

Like so many Seattle residents, I was appalled and disgusted by George Floyd’s murder at the hands of Minneapolis police officers on May 25, and I have been further appalled and disgusted by the Seattle Police Department’s treatment of those protesting for racial justice in the days since. The SPD has repeatedly responded to peaceful protests with violence, escalating and attacking without provocation, using chemical weapons that would be banned in warfare against unarmed and peaceful Seattleites — and then attempting to cover up, deny, and evade responsibility for their conduct. And why has the SPD done this? Because citizens have dared to hold them and other police departments across the country accountable for their ongoing and deeply ingrained racism, brutality, and callous disregard for Black lives and humanity.

As a white person, I was brought up to believe the police were there to help — and that they were obviously necessary to “fight crime” and keep our cities safe. Immigrants

@Reedbeta
Reedbeta / generate_code.py
Created June 27, 2020 16:55
Generate code into a source file using python
# Load the source file
sourcePath = r'c:\path\to\my\file.cpp'
sourceText = codecs.open(sourcePath, encoding='utf-8').read()
# Find the generated section
startMarker = (
'''/*
* Generated data tables - do not edit by hand!
* To regenerate, run my_fancy_script.py.
#pragma once
// String tokenizing iterator
// by Nathan Reed, 2020-08-06. Licensed CC0 https://creativecommons.org/publicdomain/zero/1.0/
//
// Use it like:
//
// for (auto token : IterTokens(" Bird \t\tFish Dog Cat "))
// {
// // token is a std::string_view pointing into the original string
@Reedbeta
Reedbeta / gamuts.svg
Created December 19, 2020 19:44
Common RGB gamuts on CIE chromaticity diagram
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@Reedbeta
Reedbeta / bash-and-cmd-in-context-menu.reg
Last active May 1, 2021 20:41
Windows registry edit to add Bash and Command Prompt items to Explorer context menu
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\Bash]
@="Bash"
"Icon"=hex(2):22,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,\
00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,\
77,00,73,00,6c,00,2e,00,65,00,78,00,65,00,22,00,00,00
; REG_EXPAND_SZ "%SystemRoot%\System32\wsl.exe"
[HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\Bash\command]
@Reedbeta
Reedbeta / bash-and-cmd-in-context-menu-wt.reg
Last active August 29, 2021 23:20
Windows registry edit to add Bash and Command Prompt items to Explorer context menu - version using Windows Terminal
Windows Registry Editor Version 5.00
; Get rid of existing Windows Terminal context menu item
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked]
"{9F156763-7844-4DC4-B2B1-901F640F5155}"=""
[HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\Bash]
@="Bash"
"Icon"=hex(2):22,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,\
00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,\
@Reedbeta
Reedbeta / comptr.hpp
Created July 7, 2016 06:19
GPU PRNG & hash-function testbed
// COM pointer - wraps a COM object and automatically calls AddRef() / Release() as necessary
#pragma once
template <typename T>
class comptr
{
public:
comptr ()
@Reedbeta
Reedbeta / nested-lists.md
Last active April 26, 2022 13:28
Nested lists markdown
  • Item 1

  • Item 2

  • Item 3
    second line

    • Item 3a
    • Item 3b
    • Item 3c

    Item 3 continue

// Derived from: https://github.com/Cyan4973/xxHash
// Specialized version of XXH64 for 64-bit inputs
constexpr uint64_t XXH_PRIME64_1 = 0x9E3779B185EBCA87ULL;
constexpr uint64_t XXH_PRIME64_2 = 0xC2B2AE3D27D4EB4FULL;
constexpr uint64_t XXH_PRIME64_3 = 0x165667B19E3779F9ULL;
constexpr uint64_t XXH_PRIME64_4 = 0x85EBCA77C2B2AE63ULL;
constexpr uint64_t XXH_PRIME64_5 = 0x27D4EB2F165667C5ULL;
inline uint64_t XXH64_round(uint64_t acc, uint64_t input)

Programming Language Evaluation

A list of simple tasks to perform when learning or evaluating a new language. Each of these should be able to be completed in a few hours, and will help to get the feel of the language and its standard libraries. A well-rounded set of evaluation tasks will help ensure all parts of the language are exercised. You might also write some tests to demonstrate implementation correctness.

Basics

  1. Hello world
  2. Read lines from a text file and output them in sorted order
  3. Read numbers from a text file and output the mean and standard deviation
  4. Given an amount of money and a list of coin denominations provided on the command line, output all the possible ways to make change