Skip to content

Instantly share code, notes, and snippets.

@preshing
preshing / qwen3.5-122b-4bit-memory-allocator-transcript.html
Last active February 27, 2026 03:05
Session transcript for memory allocator attempt by 4-bit quantization of qwen3.5:122b
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="0; url=https://plywood.dev/static/qwen3.5-allocator-transcript.html">
</head>
</html>
@preshing
preshing / codex-memory-allocator-transcript.html
Created February 25, 2026 14:45
Session transcript for Codex memory allocator implementation
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Codex transcript - page 1</title>
<style>
:root { --bg-color: #f5f5f5; --card-bg: #ffffff; --user-bg: #e3f2fd; --user-border: #1976d2; --assistant-bg: #f5f5f5; --assistant-border: #9e9e9e; --thinking-bg: #fff8e1; --thinking-border: #ffc107; --thinking-text: #666; --tool-bg: #f3e5f5; --tool-border: #9c27b0; --tool-result-bg: #e8f5e9; --tool-error-bg: #ffebee; --text-color: #212121; --text-muted: #757575; --code-bg: #263238; --code-text: #aed581; }
* { box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background: var(--bg-color); color: var(--text-color); margin: 0; padding: 16px; line-height: 1.6; }
@preshing
preshing / ManifoldGarden.asl
Last active March 2, 2020 18:46
Manifold Garden AutoSplit script
// AutoSplit script for Manifold Garden 1.0.30.13294
//
// Automatically starts the timer ~2.4 seconds after starting a new game, and splits the timer
// when transitioning between game levels. You must still reset the timer manually between runs.
// If you accidentally backtrack through a portal, causing an unwanted split, you'll have
// to undo it manually (default NumPad8 in LiveSplit).
//
// To compensate for the late start, you should delay your start timer by 2.4 seconds in LiveSplit.
// (Right-click -> Edit Splits -> Start timer at:)
//
@preshing
preshing / gist:561dca75964f284b376b1610b11735fd
Created April 27, 2019 03:56
Testing range-based for loop over explicitly created std::initializer_list
Results of a few quick tests performed in response to:
https://twitter.com/Steven_Pigeon/status/1121900020746338305
// This is the original version that HAS the bug (garbage value encountered during iteration):
for (const AxisRay& faceRelVedge : std::initializer_list<AxisRay>{
{{0, 0, -1}, Axis3::YNeg},
{{0, 1, 0}, Axis3::ZPos},
{{-2, -1, 0}, Axis3::ZPos},
{{-1, -1, -1}, Axis3::XPos}}) {
@preshing
preshing / main.cpp
Created January 3, 2018 21:54
Use SFINAE to call member function if present
#include <iostream>
class Foo {
public:
void bar() {
std::cout << "Foo::bar() called" << std::endl;
}
};
class Foo2 {
import datetime
import re
import os
badTimeStamp = datetime.datetime.strptime("2010-03-08 15:02:59 -0500", "%Y-%m-%d %H:%M:%S %z")
desiredTimeStamp = datetime.datetime.strptime("2017-08-28 11:15:59 -0400", "%Y-%m-%d %H:%M:%S %z")
delta = desiredTimeStamp - badTimeStamp
for line in open("../backup.log", "r"):
m = re.match("r(\\d+) \\| jeff \\| (.*) \(", line)
#include <atomic>
class SpinLock {
std::atomic<int> m_flag = 0;
public:
void lock() {
int expected = 0;
while (!m_flag.compare_exchange_weak(expected, 1, std::memory_order_acquire)) {
expected = 0;
@preshing
preshing / build_cross_gcc
Last active January 24, 2026 11:13
A shell script to download packages for, configure, build and install a GCC cross-compiler.
#! /bin/bash
set -e
trap 'previous_command=$this_command; this_command=$BASH_COMMAND' DEBUG
trap 'echo FAILED COMMAND: $previous_command' EXIT
#-------------------------------------------------------------------------------------------
# This script will download packages for, configure, build and install a GCC cross-compiler.
# Customize the variables (INSTALL_PATH, TARGET, etc.) to your liking before running.
# If you get an error and need to resume the script from some point in the middle,
# just delete/comment the preceding lines before running it again.
@preshing
preshing / capped_spsc_queue.cpp
Created October 23, 2014 00:13
Generate benchmarks for three implementations of a wait-free queue using C++11 atomics
//
// Generate benchmarks for the three queue implementations shown in
// Jeff Preshing's CppCon 2014 talk, "How Ubisoft Montreal Develops Games for
// Multicore - Before and After C++11".
//
// Slides: https://github.com/CppCon/CppCon2014/blob/master/Presentations/How%20Ubisoft%20Montreal%20Develops%20Games%20for%20Multicore/How%20Ubisoft%20Montreal%20Develops%20Games%20for%20Multicore%20-%20Before%20and%20After%20C++11%20-%20Jeff%20Preshing%20-%20CppCon%202014.pdf?raw=true
//
#include <iostream>
#include <atomic>
@preshing
preshing / math.rb
Created October 27, 2013 15:04
MathJax tags for Octopress
#--------------------------------------------------------------
# MathJax tags for Octopress
#
# Put this in the plugins folder.
# Use a single "inlinemath" tag for inline math.
# Use a pair of "math/endmath" tags for math as a standalone paragraph.
# The "math" tag takes an optional size argument.
# You also need to include MathJax in the page header, for example by adding
# <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
# to source/_includes/custom/head.html