Skip to content

Instantly share code, notes, and snippets.

View dpiponi's full-sized avatar
🧱
In material form

Dan Piponi dpiponi

🧱
In material form
View GitHub Profile
@dpiponi
dpiponi / branch.py
Created March 27, 2021 23:58
Branched flow with taichi
import math
import numpy as np
import random
import matplotlib.pyplot as plt
medium_size = 1024
x = np.linspace(-1., 1., medium_size)
y = np.linspace(-1., 1., medium_size)
x, y = np.meshgrid(x, y, indexing='ij')
@dpiponi
dpiponi / example.cpp
Last active March 15, 2021 00:31
Near minimal example of replacing explicit state machine with coroutine. (Compare Example1 class with Example2, not the supporting "library" code.)
// Some platforms import from experimental/coroutine
// rather than coroutine.
#define REQUIRES_EXPERIMENTAL 1
// Controls whether the coroutine starts in a suspended state
// or runs to the first suspension point on construction.
// The two implementations should match.
#ifndef INITIAL_RUN
#define INITIAL_RUN 1
#endif
@dpiponi
dpiponi / schedule.py
Created February 8, 2021 00:13
Workplace scheduling with Python-MIP
# From https://www.python-mip.com/
from mip import *
m = Model(sense = MAXIMIZE)
num_slots = 10
num_workers = 5
num_tasks = 3
def slot_to_time(slot):
@dpiponi
dpiponi / main.lhs
Created December 24, 2020 22:53
Branch relaxation with monotonic time travel
Here's a block of code in some imaginary assembly language:
jmp A
block1
jmp A
block2
jmp A
block3
.A ...
import csv
import math
import matplotlib.pyplot as plt
import locale
def frac(x):
return x - math.floor(x)
def first_digit(x):
return int(math.floor(math.pow(10, frac(math.log10(x))) + 0.0001))
@dpiponi
dpiponi / runner.py
Created August 27, 2020 15:34
Are these runners?
# Python 3
import collections
Write = collections.namedtuple("Write", ["written"])
def hello_world():
yield Write("Hello, world!")
yield Write("Hello, world!")
return 1
def identity(gen):
@dpiponi
dpiponi / quine.c
Created July 23, 2020 01:12
A quine using only one loop and arithmetic (+, -, *, /, %)
/*
* This is a literate quine. That means that
* 1. the comments will tell you a little about how it works and
* 2. if you compile and run it its output will be identical to its source
* code even though it doesn't look at its original source. It literally
* contains within itself a complete recipe for how to display itself.
*
* Quines are ten a penny. This one is unusual because
* 1. its main loop consists solely of a loop to print characters
* generated by a function called programChar() and
A short exact sequence is a sequence of maps:
f g h k
0 --> A --> B --> C --> 0
s.t.
Im f = Ker g
Im g = Ker h
Im h = Ker k
Example:
@dpiponi
dpiponi / README.txt
Created August 6, 2019 04:26
Sandpile emulator in 6502 assembly language for Acorn Atom.
`RUN` to assemble
`GOTO s` to start it
<html>
<body>
<button type="button" id="start">
Switch me on to start
</button>
<HR>
<div>