Skip to content

Instantly share code, notes, and snippets.

View Heliodex's full-sized avatar
📉
Programstinating

Lewin Kelly Heliodex

📉
Programstinating
View GitHub Profile
@belisarius222
belisarius222 / ford-fusion-writeup.md
Last active July 16, 2024 10:56
ford fusion writeup

Ford Fusion

Overview and Rationale

Ford Fusion was an overhaul of Urbit's over-the-air upgrade process and a rewrite of its build system. The new update system corrects a few long-standing bugs with the previous one, and the new build system is simpler, smaller (by around 5,000 lines), and easier to manage.

Since deployment of Ford Fusion to the livenet in late June, over-the-air updates (OTAs) have been much smoother. Before Ford Fusion, it was common for an OTA to take several hours, use too much memory, and leave ships in inconsistent states. After Ford Fusion, multiple OTAs have been pushed out, including kernelspace changes, and most users didn't even notice.

Urbit has always been able to update itself OTA, but this process has often been rocky. Updating an operating system kernel on-the-fly is a difficult problem in general, like performing heart replacement surgery on yourself while running a marathon. Code that allows Linux to update its kernel in this way became a startup called Ksplice, won

const toBoolean = (context: any, flags: string[]) => {
for (const flag of flags) {
const propValue = context[flag];
const propType = typeof propValue;
if ('boolean' === propType) {
context[flag] = propValue;
}
@nickcernis
nickcernis / docker-cleanup.md
Last active January 14, 2026 22:25
Docker commands to remove all containers and images

docker kill $(docker ps -q) to kill all running containers
docker rm $(docker ps -a -q) to delete all stopped containers.
docker volume rm $(docker volume ls -q) to delete all volumes.
docker rmi $(docker images -q) to delete all images.

Run all commands:

docker kill $(docker ps -q) && docker rm $(docker ps -a -q) && docker volume rm $(docker volume ls -q) && docker rmi $(docker images -q)

For fish shell, remove the $:

const fs = require('fs')
const Arweave = require('arweave/node')
const argv = require('yargs').argv
const arweave = Arweave.init({
host: argv.arweaveHost ? argv.arweaveHost : 'arweave.net',
port: argv.arweavePort ? argv.arweavePort : 443,
protocol: argv.arweaveProtocol ? argv.arweaveProtocol : 'https'
})
@spr2-dev
spr2-dev / pattern_matching.md
Last active November 13, 2025 20:20
A quick beginner guide on Lua pattern matching

Lua Pattern Matching Cheat Sheet

Table Of Contents

  1. What's a pattern ?
  2. Positional characters
  3. Common matching characters
  4. Ranges, character sets and logic
  5. Quantifiers
  6. Capture groups
  7. Examples
@botter-nidnul
botter-nidnul / steps-to-urbit-on-docker-desktop-for-windows.md
Last active April 22, 2025 10:37
Steps to Urbit on Docker Desktop for Windows

Why Docker Desktop?

  • It can start urbit automatically in the background each time you login to windows
  • Has a gui to turn urbit on/off if you don't want it running all the time
  • Sets up port forwarding to your host device's ip, which plain wsl makes difficult. So you can access landscape from other devices on your lan, or forward ports to your router to get external access
  • Automatic updates to the urbit binary

See https://subject.network/posts/urbit-windows-docker/ for an enhanced take on this guide, with screenshots and more.

How to Install Docker

@Validark
Validark / aho-corasick.lua
Created July 18, 2021 12:31
A clean implementation of the aho-corasick algorithm taking full advantage of Lua's __index metamethod.
-- We can re-use metatables where possible
local lookupCache = {
__index = function(self, i)
local v = { __index = i }
self[i] = v
return v
end
}
local function use_aho_corasick(automaton, str)
@Mullets-Gavin
Mullets-Gavin / GetProperties.lua
Last active September 1, 2023 21:49
Get all the properties on an instance
local Cached = {}
local Properties = {
"AttachmentForward",
"AttachmentPoint",
"AttachmentPos",
"AttachmentRight",
"AttachmentUp",
"AlignType",
"MaxAngularVelocity",
"MaxTorque",
const rcctalk = require("rcctalk")
const path = require("path")
const uuid = require("uuid")
// If you omit the WSDL, then rcctalk will assume that the RCCService instance is a RCCService from 2018 or higher that does not use SOAP and instead uses the newer JSON format.
var client = rcctalk.connect({ ip: "127.0.0.1", port: 64989, wsdl: path.join(__dirname, "RCCServiceSoap.wsdl") })
/* HelloWorld */
if (await client.hello() != "Hello World") {
using System;
using System.Drawing;
class NameColors
{
private static Color[] BasePalette = {
Color.FromArgb(107, 50, 124),
Color.FromArgb(218, 133, 65),
Color.FromArgb(245, 205, 48),
Color.FromArgb(232, 186, 200),