Skip to content

Instantly share code, notes, and snippets.

@tehranian
tehranian / json-migration-proposal.md
Created February 17, 2026 03:46
AqualinkD: JSON Migration Proposal

JSON Migration Research: AqualinkD

Analysis of JSON handling in AqualinkD and comparison of two migration approaches.


1. Current State: The Problem

AqualinkD builds and parses all JSON by hand using sprintf chains and character-by-character parsing. This is concentrated in one file: source/json_messages.c (1,577 lines), with secondary JSON handling in source/web_config.c.

@tehranian
tehranian / test-coverage-proposal.md
Created February 17, 2026 03:46
AqualinkD: Test Coverage Proposal

Test Coverage Proposal for AqualinkD

Analysis of testability across the AqualinkD codebase, framework recommendation, and a concrete plan for the first test PR.


1. Current State: No Safety Net

AqualinkD has 39 source files (excluding the vendored mongoose.c), 0 test files, and no make test target. Every change — bug fix, new feature, protocol tweak — ships without automated verification.

@tehranian
tehranian / add-auth-proposal.md
Created February 17, 2026 03:46
AqualinkD: Authentication Proposal

Authentication Research: AqualinkD

Analysis of AqualinkD's current network security posture and evaluation of approaches to add authentication.


1. Current State: The Problem

AqualinkD has zero application-level authentication. There is no login, no API tokens, no session management — anyone who can reach the HTTP port can control the pool equipment.

@tehranian
tehranian / test_script_bugs.sh
Created February 16, 2026 05:47
TDD test script for AqualinkD script/Makefile bug fixes — verifies 4 bugs before and after fix
#!/bin/bash
#
# Tests for known bugs in shell scripts and Makefile.
# Run from repo root: bash tests/test_script_bugs.sh
#
PASS=0
FAIL=0
assert_eq() {
@tehranian
tehranian / mortgage-visualizer-privacy-policy.md
Created January 15, 2026 02:57
Mortgage Visualizer Privacy Policy

Privacy Policy for Mortgage Visualizer

Last Updated: January 14, 2026

Overview

Mortgage Visualizer ("the App") is committed to protecting your privacy. This policy explains what information we collect and how it is used.

Information We Collect

@tehranian
tehranian / Mortgage-Visualizer-Support.md
Created January 15, 2026 02:51
Mortgage Visualizer Support Document

Mortgage Visualizer - Support

About the App

Mortgage Visualizer helps you understand your home loan by showing exactly how your monthly payment breaks down and changes over time.

Frequently Asked Questions

How do I use the app?

@tehranian
tehranian / hokm-support.md
Created January 14, 2026 04:48
Hokm Support

Hokm - Support

Contact

For questions, feedback, or support, email us at: 68ravers.odes@icloud.com

We typically respond within 48 hours.


@tehranian
tehranian / privacy-policy.md
Last active January 14, 2026 04:45
Hokm Privacy Policy

PRIVACY POLICY FOR HOKM

Last updated: January 13, 2026

OVERVIEW

Hokm ("the App") is a card game developed by Daniel Tehranian. Your privacy is important to us. This policy explains what information we collect and how we use it.

INFORMATION WE COLLECT

@tehranian
tehranian / gist:ded47b74024a77bc3252
Created December 22, 2015 17:22
Vagrant 1.8.0 w/VMware: "error code: '7'"
$ v up --debug
INFO global: Vagrant version: 1.8.0
INFO global: Ruby version: 2.2.3
INFO global: RubyGems version: 2.4.5.1
INFO global: VAGRANT_DEFAULT_PROVIDER="vmware_fusion"
INFO global: VAGRANT_OLD_ENV_TMPDIR="/var/folders/n7/f_wgynqj7v32_krjxgy_65yw0000gn/T/"
INFO global: VAGRANT_OLD_ENV_PWD="/Users/dtehranian/Downloads/boxes/trusty-docker"
INFO global: VAGRANT_OLD_ENV_XPC_FLAGS="0x0"
INFO global: VAGRANT_INSTALLER_EMBEDDED_DIR="/opt/vagrant/embedded"
INFO global: VAGRANT_OLD_ENV_TERM_PROGRAM="iTerm.app"
@tehranian
tehranian / gist:0371fc6f91cfea704575
Created July 9, 2014 23:47
packer - Cloning is not supported with Player 5. Please use Player 6+.
00:00:56.668 + packer build vcsa-55-vcenter.json
00:00:56.673 2014/07/09 16:44:24 Packer Version: 0.6.0 12e28f257f66299e3bb13a053bf06ccd236e7efd
00:00:56.673 2014/07/09 16:44:24 Packer Target OS/Arch: linux amd64
00:00:56.673 2014/07/09 16:44:24 Built with Go Version: go1.2
00:00:56.674 2014/07/09 16:44:24 Detected home directory from env var: /var/lib/jenkins
00:00:56.674 2014/07/09 16:44:24 Attempting to open config file: /var/lib/jenkins/.packerconfig
00:00:56.674 2014/07/09 16:44:24 Packer config: &{PluginMinPort:0 PluginMaxPort:0 Builders:map[amazon-instance:packer-builder-amazon-instance googlecompute:packer-builder-googlecompute vmware-iso:packer-builder-vmware-iso digitalocean:packer-builder-digitalocean virtualbox-ovf:packer-builder-virtualbox-ovf parallels-iso:packer-builder-parallels-iso null:packer-builder-null amazon-ebs:packer-builder-amazon-ebs amazon-chroot:packer-builder-amazon-chroot openstack:packer-builder-openstack qemu:packer-builder-qemu vmware-vmx:packer-builder-vmware-vmx docker:pack