Skip to content

Instantly share code, notes, and snippets.

View psbanka's full-sized avatar
🕺

Peter Banka psbanka

🕺
View GitHub Profile
@psbanka
psbanka / SQLITE_EVENT_BUS.md
Last active May 2, 2026 21:26
Celilo SQLite Event Bus — finalized design

SQLite Event Bus

Context

The celilo capability system handles RPC well — a module asks dns_registrar.registerHost(...), gets a typed result back. What it doesn't handle is reactive flows: "when module X finishes deploying, run the smoke test on lunacycle"; "when a new netapp lands in the registry, fan out a re-test to every module that depends on it"; "when a health check fails, page someone."

Today these flows have to be wired into the deploy command itself or run as external cron jobs. That works, but it pushes inter-module coupling into operator-managed scaffolding — and as the number of reactive use cases grows, so does the ad-hoc plumbing.

What's wanted:

  • A persistent event log: emitters write events, the events outlive the emitter's process.
@psbanka
psbanka / OBSERVABILITY_STACK_DECISION.md
Last active February 21, 2026 18:29
Building an Ultra-Modern Observability & Security Stack for a Serious Home Lab

Building an Ultra-Modern Observability & Security Stack for a Serious Home Lab

Published: February 2026 Author: Peter Banka Project: lunacycle.net Infrastructure

Introduction

When you run a production-grade home lab—complete with multiple VLANs, containerized services, email servers, authentication systems, and internet-facing applications—you quickly realize that visibility is not optional. You need to know what's happening across your infrastructure at all times. But more importantly, you need to know when something goes wrong, and you need the tools to investigate why.

@psbanka
psbanka / fastly-docs-analysis.md
Created February 17, 2026 20:59
Analysis of Fastly Documentation SSR and AI Agent Accessibility - Response to case-fastly's gist

Fastly Documentation SSR Analysis

Date: 2026-02-17 Context: Response to Eric Case's gist on Fastly Documentation for LLMs

Executive Summary

The original gist claims that Fastly documentation pages return unhelpful content due to client-side rendering. Our testing reveals a more nuanced situation: the content IS server-side rendered and present in the HTML, but the structure makes it extremely difficult for AI tools to extract meaningful information.

Testing Methodology

@psbanka
psbanka / controllers.application.js
Created October 30, 2018 17:39 — forked from samselikoff/mirage.config.js
Mirage dev boilerplate
import Ember from 'ember';
export default Ember.Controller.extend({
});
@psbanka
psbanka / async.js
Created October 20, 2017 00:40
Compute the sum of two async values
/* eslint-disable no-console */
/* eslint-disable standard/no-callback-literal */
const MAX = 100
const FAILURE_RATE = 0.25
function maybeFail () {
if (Math.random() < FAILURE_RATE) {
throw new Error('bad stuff happened')
}
@psbanka
psbanka / makedb.js
Created July 27, 2017 23:23
Makes a fake database
const faker = require('faker')
const jig = require('js-image-generator')
const mysql = require('mysql')
const createTable = (connection) => {
let query = 'DROP TABLE Persons'
return Promise((resolve, reject) => {
connection.query(query, () => {
query = `
CREATE TABLE Persons (
import Ember from 'ember';
export default Ember.Component.extend({
classNames: ['checkbox'],
classNameBindings: ['off:switch-left:switch-right'],
off: true,
actions: {
toggle() {
this.sendAction()
}
@psbanka
psbanka / basic-challenge.md
Last active October 21, 2016 23:43
Code challenge

Code challenge

Make a simple command-line application in node which processes a text string on the command line and outputs the value of the hand.

For example, the input would look like: $ poker-analysis 4D 6H 8D KH AH

The output will return a value from Wikipedia's ranking of poker hands, https://en.wikipedia.org/wiki/List_of_poker_hand_categories In this example, you would receive "High card".