Skip to content

Instantly share code, notes, and snippets.

View tjfontaine's full-sized avatar

Timothy J Fontaine tjfontaine

View GitHub Profile
@tjfontaine
tjfontaine / astra469-main-rebase-range-diff.txt
Created October 16, 2026 19:20
Carrick #469 provisional cf43 candidate: incomplete EL1 panic, no qualification count
1: a48a002fc = 1: 48eab0c37 fix(core): let closing siblings retire the final live unit
2: e9a45a651 = 2: dbcefa207 fix(el1): recheck owed work before idle wfi
3: c70d1ab33 = 3: 2ac48f0a2 test(core): prove late sibling receipt during terminal close
4: 9a751a324 = 4: d17dfcf40 fix(el1): publish one ready terminal receipt wake
5: 490ca337f = 5: f09486ed5 test(el1): scope idle publication actor
6: 39b137753 = 6: dc714cfd4 fix(core): recheck closing after sibling floor refusal
7: 2d7ff32cd = 7: 285708657 fix(core): publish final member wakes with exact retirement identity
8: 6e1bb7c88 = 8: 1f9fca2a6 fix(core): share closing membership policy with host exits
9: 7f714bf74 = 9: 44bf31b4a fix(core): resume terminal custody after host zone handback
10: 9ce96ec14 = 10: c55c6ad77 test(core): qualify terminal witness audit spellings
@tjfontaine
tjfontaine / astra469-provisional-m01-b1-stall.ps.txt
Created October 16, 2026 19:08
Carrick #469 provisional actual-main 5ca549b49 compute stall: incomplete population and sample
PID ELAPSED %CPU STAT COMMAND
31640 01:03 99.9 R carrick:astra469-provisional-m01-b1: 1 containers
@tjfontaine
tjfontaine / astra469-506key-scratch-artifact.json
Created October 16, 2026 18:52
Carrick #469: exact parked exit-channel key at #506, bounded USDT and #482 snapshot
{
"source_head": "9454e6c03ef8193d7d0909a47060cec1be6f1b80 + #482 + read-only census + host zone-wake and coherent parked-key USDT",
"patch_sha256": "fb5272240f5f4c59080a3476379c93b1d3a414193dd75f978f1b53859cf8b801",
"artifacts": [
{
"path": "/Volumes/CaseSensitive/w469-diag-506/target/astra469-506key-scratch-executable",
"sha256": "38ef548bc92d8410d8068cd71bca00a6a85a7e91fd12b72ab7ac5b204df1d95c"
}
]
}
$ kubessh node.info/external.ipaddress 192.168.2.2
If you don't see a command prompt, try pressing enter.
[root@k8s-worker-ad1-0 /]# exit
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
kubessh-tjfontai-15628 1/1 Running 0 7s
#!/usr/bin/env osascript -l JavaScript
function pathjoin() {
var arr = Array.prototype.slice.call(arguments);
var dest = $.NSString.pathWithComponents(ObjC.wrap(arr));
return ObjC.unwrap(dest);
}
var HOMEDIR = ObjC.unwrap($.NSHomeDirectory());
@tjfontaine
tjfontaine / queue.js
Created February 9, 2015 19:33 — forked from Jks15063/queue
var queue = async.queue(function(task, callback) {
var ObjectId = mongoose.Types.ObjectId
var query = task.query
var update = task.update
var defer = task.defer
query._id['$in'] = _.map(query._id['$in'], ObjectId)
var queryStream = scenarios.find(query).stream()
queryStream.pipe(streamWorker).on('end', function(foo) {
var async = require('async'),
dgram = require('dgram');
var client = dgram.createSocket('udp4');
var totalTimeTaken = 0;
var iterations = +process.argv[2];
var completed = 0;
console.log('doing', iterations, 'iterations');
@tjfontaine
tjfontaine / deferrals-in-nodejs.md
Last active February 16, 2016 06:49
Description of Deferrals in Node.js

There are four kinds of deferral mechanisms in Node.js:

  • setTimeout
  • setInterval
  • setImmediate
  • process.nextTick

setTimeout and setInterval are quite familiar to those used to JavaScript in the browser and their semantics are fairly well understood. They return opaque values that can be passed to their clear counterparts, and have been around forever. setImmediate is a newer construct and its adoption in the browser is not very wide, and nextTick is a creation solely unto Node.js. The latter two are mechanisms to queue a callback in the short future, such that currently executing JavaScript may continue. If you're used to trying to do this pattern in the browser you may be used to using something like setTimeout(fn, 0).

If Node.js actually exposed the idea of a turn of the event loop, you would be expecting the scheduled callback to run at the end of the current loop, or the start of the next -- though from the perspective of your application there isn't really a difference. In

#!/bin/bash
# This will add symbol tables back into binaries (but not debug information)
# For this to work you must first complete the following steps:
# https://wiki.ubuntu.com/DebuggingProgramCrash#Non-built-in_debug_symbol_packages_.28.2A-dbgsym.29
# Then pass the directory of objects you want to recombine
set -e
if [ -z $1 ] || [ ! -d $1 ];
var d = require('domain').create();
d.run(function() {
process.nextTick({
throw new Error("hello");
});
});
d.on('error', function(e) {
assert.strictEqual(e.message, 'hello');