Skip to content

Instantly share code, notes, and snippets.

View sampersand's full-sized avatar

Sam Westerman sampersand

  • CA
View GitHub Profile
@sampersand
sampersand / knight.rb
Last active September 25, 2022 09:05
Monkeypatched knight in ruby
#!/usr/bin/env ruby
# Knight in ruby, but with copious amounts of monkey patching :-)
class Fn
@fns = {}
def self.register(name, ...) = @fns[name] = Fn.new(...)
def self.lookup(name) = @fns.fetch(name)
def initialize(call_args: true, &block) @call_args, @block = call_args, block end
@sampersand
sampersand / thing.ijs
Last active February 2, 2023 23:58
aoc 2019 day2 part 1
raw =: '1,9,10,3,2,3,11,0,99,30,40,50'
ints =: ". every (',' cut raw)
run_one =: {{
'op src1 src2 dst' =. (x + i.4) { y
select. op
case. 1 do. ((src1{y)+(src2{y)) dst } y
case. 2 do. y((src1{y)*(src2{y)) dst } y
@sampersand
sampersand / code.ijs
Created February 4, 2023 09:21
aoc 2019 day 2 part 1
CWD =: (<./CWD i:'/\') {.CWD=: ;(4!:3''){~4!:4 CWD=: <'CWD'
raw =: }: freads CWD , '/day2.txt'
die =: {{ echo y throw. }}
NB. raw =: '1,9,10,3,2,3,11,0,99,30,40,50'
ints =: ". every (',' cut raw)
ints =: (12 2) (1 2) } ints
number_of_params =: ((_ 3 3) , (_ * i.96) , 0) & {
@sampersand
sampersand / gc.diff
Created September 13, 2023 19:28
GC stress diff
[12:27:12 PM 1029] ruby % git diff
diff --git a/gc.c b/gc.c
index 3fd2a3b33f..f909e5b81b 100644
--- a/gc.c
+++ b/gc.c
@@ -11460,6 +11460,10 @@ gc_stress_get(rb_execution_context_t *ec, VALUE self)
static void
gc_stress_set(rb_objspace_t *objspace, VALUE flag)
{
+ if (flag != Qtrue && flag != Qfalse) {
#!/bin/sh
# Safety first
set -o nounset
scriptname="$(basename -- "$0"; echo x)"; scriptname="${scriptname%?x}"
warn () {
msg="%s: $1"'\n'
shift
################################################################################
# Option 1: Just repeat the defaults
################################################################################
alias ls="ls -ACFPq"
## ... other config ...
# macOS config
if [ "$(uname)" = Darwin ]; then
## SH
while test $count -gt 0; do
echo $string\\c
count=`expr $count - 1`
done
## CSH
while ( $count > 0 )
echo -n $string
@ count--