Skip to content

Instantly share code, notes, and snippets.

"All "best practices" and thought leader advice is geared
towards the baseline generic system in that field.
The baseline generic distributed system, the baseline
enterprise app, the baseline agile team, the baseline test suite.
No project is "baseline generic". All of them have complications,
whether technical, historical, or domain-related, that make them special.
"All "best practices" and thought leader advice is geared towards the baseline generic system in that field.
The baseline generic distributed system, the baseline enterprise app, the baseline agile team, the baseline test suite.
No project is "baseline generic". All of them have complications, whether technical, historical, or domain-related, that make them special.
Ideal "best practices" and "conventional wisdom" are those that still give pretty good outcomes, even for the special cases. They may not be *perfect* for your use case, but following them is still on the whole better than doing nothing at all.
The best outcomes, though, come from figuring out which "generic ideas" need to be adapted, or rethought, or ignored entirely in your situation. This is a lot harder to do, and also a lot harder to *teach*. Which is why it's not as much talked about.
# Lookup shell on explainshell
function explain() {
# Example url: http://explainshell.com/explain/tar?args=xzvf+archive.tar.gz
URL="http://explainshell.com/explain"
FIRST=0
for i; do
if [ $FIRST -eq 0 ]; then
URL="${URL}/$i?args="
FIRST=1
elif [ $FIRST -eq 1 ]; then
@jkoppel
jkoppel / gist:28fb6d4148866153711ac2ce1feab084
Created January 19, 2024 22:01
Error building trustfall
(venv) (base) [jkoppel@MacBook-Pro-173:tmp/trustfall]$ cargo build (01-19 04:53)
warning: output filename collision.
The lib target `trustfall` in package `trustfall v0.7.1 (/Users/jkoppel/tmp/trustfall/trustfall)` has the same output filename as the lib target `trustfall` in package `pytrustfall v0.1.6 (/Users/jkoppel/tmp/trustfall/pytrustfall)`.
Colliding filename is: /Users/jkoppel/tmp/trustfall/target/debug/libtrustfall.rlib
The targets should have unique names.
Consider changing their names to be unique or compiling them separately.
This may become a hard error in the future; see <https://github.com/rust-lang/cargo/issues/6313>.
Compiling demo-hytradboi v0.1.0 (/Users/jkoppel/tmp/trustfall/demo-hytradboi)
Compiling pytrustfall v0.1.6 (/Users/jkoppel/tmp/trustfall/pytrustfall)
@jkoppel
jkoppel / gist:b1f97cd297ec500f11a0236cc6eecf3f
Created November 22, 2023 01:12
Experiments with section headings
############################# /*##########################\ -- ############################# --
############################# ############################# -- ############################# --
#### #### #### #### -- #### #### --
#### Section Heading #### #### Section Heading #### -- #### Section Heading #### --
#### #### #### #### -- #### #### --
############################# ############################# -- ############################# --
############################# \##########################*/ -- ############################# --
####################### /*###################*\ -- ####################### --
# # # # -- # # --
@jkoppel
jkoppel / Cooler.sol
Last active November 21, 2023 02:26
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.15;
import {SafeTransferLib} from "solmate/utils/SafeTransferLib.sol";
import {ERC20} from "solmate/tokens/ERC20.sol";
import {Clone} from "clones/Clone.sol";
import {IDelegate} from "interfaces/IDelegate.sol";
import {CoolerFactory} from "src/CoolerFactory.sol";
import {CoolerCallback} from "src/CoolerCallback.sol";
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity 0.8.19;
// External Libraries
import "solady/src/auth/Ownable.sol";
import "openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol";
import "openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol";
import "openzeppelin-contracts/contracts/access/AccessControl.sol";
import "openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol";
// Interfaces
@jkoppel
jkoppel / walk.cpp
Created October 2, 2023 09:08
army::Walk
void __thiscall army::Walk(army *ecx0, signed int dir, int last, int notFirst)
{
int v4; // ST3C_4@78
int v6; // [sp+1Ch] [bp-24h]@26
int v7; // [sp+20h] [bp-20h]@80
int i; // [sp+24h] [bp-1Ch]@47
int v9; // [sp+28h] [bp-18h]@77
signed int targCell; // [sp+30h] [bp-10h]@1
int offsetY; // [sp+34h] [bp-Ch]@26
int v12; // [sp+38h] [bp-8h]@26
This is one of the simpler examples from a series of examples designed to be challenging to analyze by method of combining many featuress.
The goal of this analyzer is to verify the assertions. This example involves interplay between integer constraints and aliasing, and also requires models for the Urn functions.
------------------------------
void func() {
Urn u1 = new Urn();
Urn u2 = new Urn();
Inductive val :=
| ValConst (n : nat)
| Closure (e1 : list val) (e2 : exp)
with
exp :=
| Var (v : var)
| Plus (e1 e2 : exp)